我没有太多使用Kafka/ Spark-Streaming的经验,但我读过很多关于组合在为分析/仪表板构建实时系统方面有多棒的文章。有人能给我解释一下为什么spark-streaming不能单独完成吗?换句话说,为什么Kafka在数据源和spark-streaming之间?
谢谢
发布于 2016-02-05 18:21:57
实际上,这个问题有一个简单的解释。
Spark Streaming和其他流环境都是为即时读取数据而设计的。划分职责会给你带来有效的结果。
发布于 2016-01-11 17:23:42
为了使用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")在流式传输的情况下,spark支持来自不同来源的数据,例如
Kafka,Flume,Kinesis,Twitter,ZeroMQ,MQTT等。
和Spark也支持简单套接字流媒体,
val line=ssc.socketTextStream(“本地主机”,9999)
For more
Kafka是一个高吞吐量的分布式消息系统。Kafka的分布式行为、可伸缩性和容错能力使其比其他消息传递系统更具优势。(MQTT、ZMQ等)
那么问题是,在这些数据源中,哪个是您的?您可以将kafka数据源替换为您自己的数据源。我们使用MQTT作为默认源。
发布于 2017-11-18 08:12:59
谁能给我解释一下为什么spark-streaming不能单独完成?
Spark streaming是为实时数据而设计的,数据需要从某个地方摄取。如Kafka、Flume、Kinesis或TCP套接字。甚至你也可以从文件中读取数据。
https://spark.apache.org/docs/latest/streaming-programming-guide.html
如果您的用例足够简单,可以从文件中读取,那么我建议使用apache nifi。
https://www.youtube.com/watch?v=gqV_63a0ABo&list=PLzmB162Wvzr05Pe-lobQEZkk0zXuzms56
换句话说,为什么Kafka介于数据源和火花流之间?
根据场景的不同,Kafka通常是存储数据然后从不同方面消费的合适选择。
https://stackoverflow.com/questions/34710217
复制相似问题