【问题标题】:Kafka Partition+Spark Streaming ContextKafka 分区+Spark 流式上下文
【发布时间】:2018-05-03 22:17:56
【问题描述】:

场景-我有 1 个主题,2 个分区,不同的数据集集合说 A,B。我知道 dstream 可以在分区级别和主题级别使用消息。 查询 - 我们可以为每个分区使用两个不同的流上下文,还是为整个主题使用一个流上下文,然后过滤分区级别的数据?我担心增加流上下文的数量时的性能。

【问题讨论】:

  • AFAIK,你不能拥有多个 Spark 上下文
  • 如果您使用的是 Spark Streaming(接收器较少)。它应该处理这个。
  • 因为您将收到每个 Kafka 分区作为单独的 RDD 分区,所以没有什么可担心的。 Spark 处理得很好。您需要做的就是为每个分区编写适当的逻辑(基于您拥有的每种类型的一些标识符)。
  • 如果我必须在 spark 中为每个分区执行不同的逻辑,有什么方法可以在不实际使用过滤器的情况下选择特定的分区 A?

标签: apache-spark apache-kafka spark-streaming


【解决方案1】:

引用文档。

简化并行:无需创建多个输入 Kafka 流 并联合他们。使用 directStream,Spark Streaming 将创建尽可能多的 RDD 分区,因为有 Kafka 分区可供使用,这将 所有从 Kafka 并行读取的数据。所以有一个一对一的映射 Kafka和RDD分区之间,更容易理解和 调。

因此,如果您使用基于 Direct Stream 的 Spark Streaming 消费者,它应该处理并行性。

【讨论】:

  • 非常感谢!!您能帮我提供文档链接吗
  • 能不能用spark streaming的这个特性实现partition的并行读取?
猜你喜欢
  • 2016-10-15
  • 1970-01-01
  • 2018-10-28
  • 2017-07-22
  • 2018-09-26
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 2016-06-21
相关资源
最近更新 更多