请原谅这个问题是否有意义,因为我刚开始使用Spark并试图理解它。
根据我的阅读,Spark是对流数据进行实时分析的一个很好的用例,然后可以将其推送到下游接收器,如hdfs / hive / hbase等。
我有2个问题。我不清楚在任何给定时间是否只有1个火花流工作正在运行或多个。假设我需要对来自Kafka的每个主题或流入Kafka的每个源执行不同的分析,然后推送那些下游的结果。
Spark是否允许您并行运行多个流式处理作业,以便您可以为每个流保持单独的聚合分析,或者在每种情况下保持每个Kafka主题。如果是这样,那怎么办,你可以指点我的任何文件?
为了清楚起见,我的用例是从不同的来源流式传输,每个来源可能具有我需要执行的不同分析以及不同的数据结构。我希望能够有多个Kafka主题和分区。我知道每个Kafka分区都映射到Spark分区,并且可以并行化。
我不确定如何并行运行多个Spark流媒体作业,以便能够从多个Kafka主题中读取,并将这些主题/流的单独分析制成表格。
如果不是Spark就可以在Flink中做到这一点吗?
其次,如何开始使用Spark,似乎每个组件都有一个公司和/或发行版,Confluent-Kafka,Databricks-Spark,Hadoop-HW / CDH / MAPR。是否真的需要所有这些,或者在限制供应商数量的同时,采用大数据pipleine的最小和最简单方法是什么?甚至在POC上开始这似乎是一项艰巨的任务。
答案 0 :(得分:3)
您已经提出了多个问题,因此我将分别解决每个问题。
是
https://spark.apache.org/docs/latest/streaming-kafka-integration.html
一个。书:https://www.amazon.com/Learning-Spark-Lightning-Fast-Data-Analysis/dp/1449358624/
湾运行/学习Spark的简便方法:https://community.cloud.databricks.com
答案 1 :(得分:0)