我们可以在 AWS Glue 中设置 spark.sql.shuffle.partitions 吗?

Can we set spark.sql.shuffle.partitions in AWS Glue?

AWS Glue 文档没有提及任何关于 spark.sql.shuffle.partitions(默认情况下为 200)以及如何 increase/decrease 它的内容? AWS胶水甚至有可能吗?还是我们被 200 个分区困住了?关于这个有什么好的文档吗?

AWS Glue 文档不够出色...事实上,AWS glue 文档告诉您明确不要设置配置。但是,正如您将从有关 AWS Glue 基础设施的大多数答案中看到的那样,答案确实是设置配置。

您可以根据需要以多种方式执行此操作。假设您要将此值设置为 100。

  1. 您可以像这样向粘合作业添加作业参数:--conf spark.sql.shuffle.partitions=100
  2. 在您的代码中,您可以像这样显式更新 sqlContext:sqlContext.setConf("spark.sql.shuffle.partitions", "100")
  3. 在 RDD 或 SparkSQL 中,您可以像 df.repartition(100)rdd.repartition(100) 一样在您的 rdd 对象或数据帧上调用 repartition
  4. 在 RDD 中,各种连接方法采用参数 numPartitions,您可以这样设置:rdd1.join(rdd1, numPartitions=100)