1

我正在使用 Spark 代码中的 HiveContext 运行配置单元查询。无论我运行哪个查询以及它有多少数据,它总是会生成 31 个分区。有人知道原因吗?是否有预定义/可配置的设置?我本质上需要更多的分区。

我使用这个代码片段来执行蜂巢查询:

varpairedRDD = hqlContext.sql(hql).rdd.map(...)

我正在使用 Spark 1.3.1

谢谢,尼丁

4

1 回答 1

0

RDD 中的分区数与其所依赖的 RDD 中的分区数相同,但有几个例外:coalesce转换允许创建一个分区数少于其父 RDD 的 RDD,union转换创建一个 RDD其父分区数的总和,笛卡尔用他们的产品创建一个RDD。增加分区数

  • 使用重新分区转换,这将触发洗牌。
  • 配置您的 InputFormat 以创建更多拆分。
  • 将输入数据写入具有较小块大小的 HDFS。

这里的这个链接很好地解释了如何定义分区数以及如何增加分区数。

于 2016-04-27T17:23:33.943 回答