2017-12-01 20 views
1

현재 데이터 엔지니어링을 시작하려고합니다.이 작업을 수행하는 가장 좋은 방법은 하둡 스택에 대한 기본적인 이해를 얻는 것입니다 (Cloudera 퀵 스타트 VM/튜토리얼 사용) 내 자신의 프로젝트를 만들려고 노력하십시오. 트위터 데이터를 수집하고 HDFS 또는 HBASE에 저장 한 다음 저장된 데이터에 대해 일종의 분석을 실행하는 데이터 파이프 라인을 만들고 싶습니다. 나는 또한 실시간 스트리밍 데이터를 사용하고, 과거/배치 데이터는 사용하지 않는 것을 선호한다. 내 데이터 흐름은 다음과 같습니다.트위터 스트림을 사용하는 빅 데이터 프로젝트 요구 사항

Twitter Stream API --> Flume --> HDFS --> Spark/MapReduce --> Some DB 

데이터를 가져 와서 분석하는 좋은 방법입니까?
또, 내가 어떻게이 호스트/모든 것을 저장할 것을 권하고 싶습니까?
hadoop을 실행하기 위해 AWS ec2에서 하나의 인스턴스를 갖는 것이 더 좋습니까? 내 데스크탑의 로컬 VM에서이 모든 것을 실행해야합니까?

시작할 노드 클러스터를 하나만 만들 계획입니다.

+1

Hadoop이 전혀 필요하지 않습니다. 이전 질문은 스파크가 있다는 것을 나타내므로 트위터에서 읽었을뿐입니다. http://bahir.apache.org/docs/spark/current/spark-streaming-twitter/ –

답변

1

우선, Spark Streaming은 Twitter에서 읽을 수 있으며, CDH에서는 이것이 스트리밍 프레임 워크의 선택이라고 생각합니다.

파이프 라인은 합리적입니다. Hartonworks HDF 배포판에있는 Apache NiFi 나 CDH에 쉽게 설치할 수있는 Streamsets를 사용하는 것이 좋습니다.

참고 사항은 Hadoop과 완전히 독립적으로 실행됩니다. 힌트 : Docker는 그들과 잘 작동합니다. HDFS와 YARN은 실제로 미리 구성된 VM에 의존 할 수있는 유일한 복잡한 구성 요소입니다.

Nifi와 Streamsets 모두 Twitter를 HDFS 및 "기타 DB"에 연결하기위한 드롭 앤 드롭 UI를 제공합니다.

Flume은 작동 할 수 있으며 파이프 라인은 간단하지만 다른 스트리밍 플랫폼 수준에서는 성숙하지 못했습니다. 개인적으로 Logstash -> Kafka -> Spark Streaming 파이프 라인이 더 좋았습니다. 예를 들어 Logstash 구성 파일이 트위터 플러그인 내장으로 작동하기 때문에 더 좋았습니다. 그리고 카프카는 많은 도구로 작업합니다.

Kafka Connect를 사용하여 Kafka를 시험해 보거나 전체 파이프 라인에 Apache Flink를 사용할 수도 있습니다.

차 테이크 아웃, 당신만큼 당신이 클라우드 공급자에 유휴 시간 동안 지불 괜찮이기 때문에, 여기에 하둡을 우회, 또는 적어도 로컬 또는하지 실행과 관련이

Twitter > Streaming Framework > HDFS 
       ..  > Other DB 
       ...  > Spark 

같은 것을 할 수 있습니다, 이동 앞으로.

+0

도움을 주셔서 감사합니다! 그래도 aws에서 뛰는 것은 비용이 아닐까요? ec2 인스턴스 또는 EMR을 사용하는 옵션을 알고 있지만이 기능은 로컬 VM에서만 제대로 작동하며 VM을 실행할 때마다 실행됩니까? – Carbon

+1

얼마나 오래 실행하고 싶은가에 달려 있습니다 ... 합법적 인 메모리 (8GB 이상)와 최소한 20GB의 디스크 공간 만 배우고 있다면 VM을 사용할 수 있습니다. 자작부터 스파크를 설치 했지? HDFS가 아닌 로컬 디스크로 파일을 직접 스트리밍 할 수 있습니다. –

+1

또한 AWS는 유일한 Hadoop 클라우드 공급자가 아닙니다. 그것이 가장 싼 –