如果这个问题没有意义,请原谅,因为我刚刚开始使用 Spark 并试图理解它。
根据我的阅读,Spark 是对流数据进行实时分析的一个很好的用例,然后可以将其推送到下游接收器,例如 hdfs/hive/hbase 等。
我有两个问题。我不清楚在任何给定时间是否只有 1 个 spark 流作业正在运行或多个。假设我需要对来自 Kafka 的每个主题或流入 Kafka 的每个源执行不同的分析,然后将这些结果推送到下游。
Spark 是否允许您并行运行多个流作业,以便您可以为每个流(或在本例中为每个 Kafka 主题)保持单独的聚合分析。如果是这样,那是如何完成的,您可以指出我的任何文件吗?
需要明确的是,我的用例是从不同的来源进行流式传输,并且每个来源都可能具有我需要执行的不同分析以及不同的数据结构。我希望能够拥有多个 Kafka 主题和分区。我了解每个 Kafka 分区都映射到一个 Spark 分区,并且可以并行化。
不过,我不确定您如何并行运行多个 Spark 流作业,以便能够从多个 Kafka 主题中读取数据,并对这些主题/流进行单独的分析。
如果不是 Spark,这在 Flink 中可以做到吗?
其次,如何开始使用 Spark,似乎每个组件都有一个公司或发行版可供选择,Confluent-Kafka、Databricks-Spark、Hadoop-HW/CDH/MAPR。是否真的需要所有这些,或者在限制供应商数量的同时使用大数据管道的最小和最简单的方法是什么?甚至从 POC 开始似乎都是一项艰巨的任务。