【发布时间】:2015-12-24 06:52:10
【问题描述】:
我有 3 个 Cassandra 节点集群,其中有 1 个种子节点和 1 个 spark 主节点和 3 个从节点,有 8 GB 内存和 2 个内核。这是我的 spark 工作的输入
spark.cassandra.input.split.size_in_mb 67108864
当我使用此配置集运行时,我看到创建了大约 768 个分区,其中大约 89.1 MB 的数据大约 1706765 条记录。我无法理解为什么要创建这么多分区。我使用的是 Cassandra spark 连接器 1.4 版,因此也修复了有关输入拆分大小的错误。
只有 11 个唯一的分区键。我的分区键具有始终为测试的 appname 和始终为 0-10 的随机数,因此只有 11 个不同的唯一分区。
为什么会有这么多分区,为什么 spark 决定要创建多少分区
【问题讨论】:
-
~70 TB 每个拆分?真的吗? :)
sc.defaultParallelism是什么? -
总数据为 89.1 MB,其中 1706765 分为 768 个分区
-
sc.defaultParallelism 是 spark 1.4 中的默认值,我没有在代码的任何地方设置它