【发布时间】:2019-01-10 06:37:00
【问题描述】:
我有两个大的 json 文件,我们通过 kafka 流式传输。因此,其中一个文件推送到 Topic1 的 Patition 0 中,另一个文件推送到 Topic1 的分区 1 中。我们使用使用水印的火花流查询来加入这些文件并执行必要的计算。 虽然我们正在加入这些文件并执行简单的计算,但我们确实在 Spark UI 中发现 Spark 引擎完成了 200 多个任务,耗时超过 6 分钟。这些是具有 2 个内核和 8 GB 的盒子上的统计数据公羊。
以下是我们的几个问题: 1)为什么这些简单的操作会有这么多任务? 2) 大型 JSON 是否会在多个执行者之间分裂? 据我了解,无法对 JSON 的拆分部分执行操作。它必须是执行人之一。 这是否意味着我们不能在多个执行器之间拆分大型 xml 或 json 以增加并行度?
谢谢
【问题讨论】:
标签: apache-spark apache-kafka apache-spark-sql spark-streaming