1

私は Kafka/Spark-Streaming の経験はあまりありませんが、分析/ダッシュボード用のリアルタイム システムを構築する上でコンボがいかに優れているかについての多くの記事を読みました。誰かがスパークストリーミングだけではできない理由を説明できますか? 言い換えれば、なぜ Kafka はデータ ソースとスパーク ストリーミングの間にあるのでしょうか?

ありがとう

4

3 に答える 3

0

Spark を使用してデータを処理するには、Spark でサポートされているさまざまなデータ ソースからデータを提供する必要があります。(または、独自のカスタム データ ソースを作成する必要があります)

静的データの場合、spark は提供します

  sc.textFile("FILE PATH") //For reading text file
  sc.wholeTextFiles("DIRECTORY PATH") //For reading whole text files in a directory
  sqlContext.read.parquet("FILE PATH")
  sqlContext.read.json("FILE PATH")
  1. 結果のRDDにロジックを適用します。

ストリーミングの場合、スパークは次のようなさまざまなソースからのデータをサポートします

Kafka、Flume、Kinesis、Twitter、ZeroMQ、MQTT など

また、Spark は単純なソケット ストリーミングもサポートしており、

val 行 = ssc.socketTextStream("localhost", 9999)

多くのための

Kafka は、高スループットの分散メッセージング システムです。Kafka の分散動作、スケーラビリティ、およびフォールト トレランスは、他のメッセージング システムよりも優れています。(MQTT、ZMQなど)

質問は、これらのデータ ソースのうち、どれがあなたのものですか? kafka データ ソースを独自のものに置き換えることができます。デフォルトのソースとして MQTT を使用しています。

于 2016-01-11T09:23:42.120 に答える