2017-12-01 7 views
1

ストリーム私は現在、データ工学に侵入しようとしていると私はこれを行うための最善の方法は、Hadoopのスタックの基本的な理解を得ることだった考え出し(ClouderaのクイックスタートVM /で遊んチュートリアルを行ってきました)私自身のプロジェクトを構築しようとします。私は、Twitterデータを取り込み、HDFSまたはHBASEに保存し、保存されたデータに対して何らかの分析を実行するデータパイプラインを構築したいと考えています。私は、リアルタイム/ストリーミングデータではなくリアルタイムのストリーミングデータを使用することをお勧めします。私のデータフローは次のようになります:ビッグデータプロジェクトの要件は、

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

これはデータを持ち込んで分析するのに適していますか?
また、どのように私はホスト/これをすべて保存することをお勧めしますか?
hadoopを実行するためにAWS ec2で1つのインスタンスを持つ方がよいでしょうか?デスクトップ上のローカルVMですべてを実行する必要がありますか?

開始するノードクラスタを1つだけにする予定です。

+1

Hadoopはまったく必要ありません。あなたの前の質問はあなたがスパークを持っていることを示しています。 http://bahir.apache.org/docs/spark/current/spark-streaming-twitter/ –

答えて

1

まず、スパークストリーミングがツイッターから読み取ることができ、およびCDHに、私は選択のストリーミングフレームワークであると考えています。

あなたのパイプラインは合理的ですが、Apache NiFi(Hortonworks HDFディストリビューションに含まれています)、またはCDHに簡単にインストールできるStreamsetsを私が理解しているものから使用することをお勧めします。

注意、これらは完全に独立してHadoopのの実行されています。ヒント:ドッカーは彼らと素晴らしい仕事をしています。 HDFSとYARNは、あらかじめ設定されたVMに依存する唯一の複雑なコンポーネントです。

NifiとStreamsetsどちらも、あなたのドロップを与え、HDFSと「他のDB」にツイッターをフックするためのUIをドロップします。

水路は働くことができ、そして1つのパイプラインは簡単ですが、それだけで他のストリーミングプラットフォームのレベルでは成熟していません。個人的には、Logstash - > Kafka - > Spark Streamingパイプラインが好きです。例えば、Logstashの設定ファイルがうまく機能しているからです(Twitterプラグインの組み込み)。そして、カフカはたくさんのツールで動作します。

また、カフカの接続とカフカを試してみる、あるいは全体のパイプライン用のApache FLINKを使用することができます。

プライマリテイクアウト、あなたはここでのHadoopをバイパスし、あるいは少なくともローカルまたはないで実行に関しては、この

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

のようなものを持っている、限り、あなたは、クラウド・プロバイダーにアイドル時間の支払いと罰金しているとして、行くことができます先に。

+0

助けてくれてありがとう!しかし、それはawsで実行するための費用ではないでしょうか? ec2インスタンスとEMRを使用するオプションがあることはわかっていますが、これはローカルVM上でうまく動作し、VMが稼働しているときはいつでも実行できますか? – Carbon

+1

あなたが稼働したい時間に依存します...ちょうど覚えていて妥当なメモリ(8GB以上)と少なくとも20GBのディスクスペースを持っているなら、VMは問題ありません。しかし、自宅からスパークをインストールしましたか? HDFSではなく、ローカルディスクにファイルをストリーミングできます –

+1

また、AWSだけがHadoopクラウドプロバイダではありません。それが最も安いのかどうかわからない –