Big Data: 78개의 글
Elastic Search의 이용 - 위키피디아: ElasticSearch를 이용해 전문검색(Full Text Search)을 수행하고 실시간 타이핑 검색, 추천 검색어 기능 등에 활용 중.- 더가디언지: 방문객의 로그 분석을 통한 소셜 데이터를 생성해 실시간 응대와 기사에 대한 반응 분석 등에 ElasticSearch를 사용 중.- 스택오버플로우: 검색 내용과 결과를 통합해 유사한 질문과 해답을 연결하는데 ElasticSearch를 활용.- 깃허브: 1,300억 줄이 넘는 소스 코드를 검색하는데 ElasticSearch를 사용 중. http://www.elasticsearch.org/case-studies Search Engine 아키텍처 (https://www.searchtechnologies.com..
키바나는 Elastic Stack의 일부분으로, 저장 계층인 Elastic Search에 색인된 데이터 위에서 시각화 계층을 제공합니다. 데이터는 다양한 형태와 규모로 다가옵니다. 통신 업계의 경우, 10만 개의 네트워크 디바이스에서 수집한 데이터로부터 서비스 품질을 분석하는 프로젝트는 흔히 볼 수 있습니다. - 빠르게 증가하는 데이터를 취급하기 위해 복잡성을 어떻게 줄일 것인가? - 가장 효과적이면서 실시간으로 데이터를 시각화하기 위해 조직은 어떻게 해야 할까? 대부분의 애플리케이션은 위치와 프로파일에 기반을 둔 추천 항목을 만드는데 관련된 다양한 기술 계층에서 데이터를 생산합니다. 이들 위에서 돌아가는 모든 컴퓨터와 프로세스와 애플리케이션은 CPU 틱이나 사용자의 클릭에 의해 효과적으로 시스템의 '현..
통계분석 데이터 처리 데이터의 특성이 의미있게 드러나도록 표, 차트, 도식으로 표현. 관심대상 선정 -> 테이블로 정리 (관찰 대상 선정 -> 속성 선정)ex. 관찰대상: 대학생 / 속성: 성별, 이름, 성적 등. 대상별로 서로 다른 값을 가질 수 있어. 속성을 변수(variable)라고 표현. variable이 정해지면, 변수에 기록값을 관찰치/측정치(case, observed value) 또는 변수값(value)라고 함. 관찰치의 모음(set) --> data / 관찰대상(행) 변수(열)의 합을 다시 자료(data) 또는 자료집합(data set)이라고 함. 통계분석은 주로 집단의 특성치 / 상관이나 인과를 파악하는 목적이므로. 하나의 관찰치는 분석 목적으로 유요하지 않음.(하나의 열: 최댓값, 최솟..
검색이란 무엇인가? "책이나 컴퓨터에서 목적에 따라 필요한 자료를 찾아내는 일"검색 시스템 이란 무엇인가? "전자화된 문서로부터 사용자가 원하는 정보"를 찾는 작업을 수행하는 시스템 집합 백그라운드 작업 (수집 / 정제 / 색인): 문서가 새로 생성되고 바뀌므로, 주기적으로 계속 반복해서 일어난다. 리얼타임 작업 (서빙): 사용자가 일회성으로 검색 요청을 보냈을때 응답을 준다. 1) 수집 (전자화된 문서를 모으는 시스템) - 검색할 문서를 수집 - 다양한 문서양식 이해, 문서/사이트 품질 판단 - 수집 시스템 2) 정제 (문서를 검색에 알맞게 가공하는 시스템) - 문서에서 검색에 유효한 부분을 추출하고 가공 - 대규모 데이터 처리, 시스템 가용성 - 저장소 + 정제 플랫폼 + 문서 관리 3) 색인 (가공..
최상단 레벨에서 패키지는 세 개의 추상 클래스를 가지고 있습니다(트랜스포머, 에스티메이터, 파이프라인) 이 각각 클래스에 대해서 간단하게 설명하겠습니다. 트랜스포머(Transformer)트랜스포머를 하이레벨 뷰 관점에서 생각해보면, 트랜스포머의 추상 클래스로부터 상속될 때 각각의 모든 트랜스포머는 transform() 함수를 구현해야 합니다. 이 함수는 변형될 데이터프레임을 첫번째 파라미터로 받습니다. 이는 필수 파라미터로, ML 패키지의 함수마다 다릅니다. 다른 중요한 파라미터로는 inputCol과 outputCol이 있고 특정 디폴트 값을 가지고 있습니다. - Binarizer: 이 함수는 주어진 임계치를 기준으로 연속적인 변수를 이진 변수로 변환합니다. - Bucketizer: Binarizer와 ..
모든 데이터는 보통 지저분하고 데이터가 의도한 것에 대한 충분한 신뢰성을 가지고 있지 않습니다. 데이터가 깨끗한 상태에 있다는 것을 스스로 증명하거나 테스트하기 전까지는 데이터를 모델링에 사용하거나 지나치게 신뢰하면 안됩니다. 데이터는 중복 데이터나 관찰되지 않은 값, 아웃라이어, 존재하지 않는 주소, 잘못된 폰번호 또는 지역 코드, 올바르지 않은 지역 좌표, 잘못된 데이터나 레이블, 대소문자 구분, 공백 관련 문제를 가지고 있습니다. 데이터 과학자나 데이터 엔지니어는 통계 모델 또는 머신러닝 모델을 빌드하기 위해 이러한 데이터를 깨끗하게 만들어야 합니다. 데이터는 앞에서 말한 문제점들이 없을 경우 기술적으로 깨끗하다고 말할 수 있습니다. 그러나 모델링을 목적으로 데이터셋을 깨끗하게 하기 위해서는 피처의..
데이터프레임은 관계형 데이터베이스의 테이블에서 칼럼 이름(named columns)으로 구성된 변경 불가능한 분산 데이터 컬렉션입니다. 아파치 스파크 1.0에서의 경험적 피처로서 스키마 RDD(SchemaRDD)가 소개된 것처럼, 스키마RDD가 아파치 스파크 1.3 버전에서 데이터프레임이라는 이름으로 바뀌었습니다. 파이썬 Pandas의 데이터프레임 또는 R의 데이터프레임에 익숙한하다면 스파크 데이터프레임은 구조적인 데이터로 작업을 쉽게 해준다는 측면에서 Pandas의 데이터프레임 또는 R의 데이터프레임과 비슷한 개념일 것입니다. 분산된 데이터 컬렉션에 구조체를 씌움으로써 스파크 사용자는 스파크 SQL로 구조적 데이터를 쿼리하거나 람다 대신에 표현 함수를 사용할 수 있습니다. 이번 포스팅에서는 두 함수를 ..
분산된 이뮤터블 자바 객체 컬렉션인 RDD(Resilient Disributed Data)는 연산을 매우 빠르게 하며 아파치 스파크의 핵심입니다. 이름에서 알 수 있듯이, 데이터셋은 분산돼 있습니다. 데이터셋은 키를 기반으로 덩어리(Chunk) 단위로 쪼개져 있고 실행 노드(Executor Node)로 분산돼 있습니다. 이렇게 함으로써 데이터셋에 대한 연산 속도를 매우 빠르게 할 수 있습니다. RDD는 각각 덩어리에 적용된 모든 트랜스포메이션을 추적하는데, 이는 연산 속도를 빠르게 하고 어떤 문제로 인해 데이터 손실이 발생했을 때 대비책을 제공하기 위함입니다.(데이터 손실이 발생할 경우 RDD는 데이터를 복구시킬 수 있습니다) 데이터 흐름은 데이터 손실에 대한 다른 방어책으로 데이터 복제가 아닌 다른 방..
2013년에 생산된 데이터는 약 4.4ZB로 추정됩니다. 이는 44억 테라바이트입니다. 2020년에는 그 10배에 달하는 데이터가 생산될 것으로 예측됩니다. 데이터는 매초마다 증가하고 있으며, 이런 상황에 비춰 2004년 구글의 제프리 딘과 산자 제마왓은 'MapReduce: Simplified Data Processing on Large Clusters'라는 세미 논문을 발표했습니다. 그때부터 아파치 하둡과 같이 맵리듀스를 사용하는 개념이 매우 유명해지기 시작했습니다. 피그 하이브 머하웃과 같은 추상 층을 포함하는 하둡 에코시스템도 개발되었습니다. 이 모든 것이 간단한 맵리듀스 개념을 사용합니다. 매일 수 페타바이트를 다룰수 있으에도 불구하고, 맵리듀스는 상당히 제한적인 프레임워크입니다. 또한 대부분의..
ELK스택 ElasticSearch를 실습하기 전에 ELK스택에 대해 알아보겠습니다. 데이터과학은 깊고 넓은 분야입니다. 분야가 다양하기때문에 데이터과학은 각 분야의 팀워크가 생명입니다. 아래는 데이터 과학을 구성하는 각각의 영역을 다이어그램으로 나타낸 그림입니다. 빅데이터 개발자는 어떤 데이터이든지 수집하고 빠르게 검색하고 데이터 무더기에서 쓸만한 정보를 보기좋게 시각화 할수 있어야 합니다. 오픈소스를 이용해 어떤 운영체제를 만나도 운영 가능하도록, 만약 ELK 스택을 마스터한다면, 어떤 빅데이터를 만나도 쉽게 관련 개발을 할 수 있습니다. 위 그림은 특정 로그를 수집하고 이를 시각화하는 전체 구조를 도식화 한 것입니다. Logstash는 데이터베이스에 무관하게 어떠한 데이터든지 수집해주는 역할을 합니..