【问题标题】:How does AWS Glue Dynamic Frame partition a single file?AWS Glue 动态框架如何对单个文件进行分区?
【发布时间】:2021-09-24 16:29:55
【问题描述】:

有人可以解释一下 AWS Glue 如何对单个大文件进行分区吗?如果它使用 spark.sql.files.maxPartitionBytes 将大文件转换为分区,如何在胶水作业中覆盖它? 我尝试使用 sparkConf conf = SparkConf() conf.set('spark.files.maxPartitionBytes',41943040) # 40MB sc= SparkContext().getOrCreate(conf=conf)

我正在使用 pyspark

【问题讨论】:

  • 你是问如何使用Spark写一个大文件?
  • 当 spark 读取单个大文件时,它会将大文件拆分为数据块,对吗?我想减小块大小。默认情况下,spark 中的块大小为 128 MB。我不确定 Glue 中的默认块大小是多少。另外我想知道如何减小块大小,以便可以将单个大文件拆分为多个数据块。

标签: pyspark aws-glue


【解决方案1】:

您可以在使用 Glue 时发送 enable the Spark UI。在那里你可以调试你的配置是否以及如何设置。

另外你可以运行print(dynamic_frame.toDF().rdd.getNumPartitions()) 直接读取文件后,可以查看你有多少个分区。

【讨论】:

  • 'print(dynamic_frame.toDF().rdd.getNumPartitions())' 试过了,得到了分区数。我想增加分区,但我不想做 repartition()。我想使用参数 spark.files.maxPartitionBytes 或 spark.sql.files.maxPartitionBytes 将块大小从 128MB 减少到 60MB。我不确定如何在 Glue 中使用它们。你能帮我解决这个问题吗?
  • 所以按照你所做的设置配置应该可以工作。您可以签入 spark UI,还是可以打印配置?
  • 好的,让我试试,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 2021-10-04
相关资源
最近更新 更多