【发布时间】:2020-03-19 04:29:22
【问题描述】:
我正在使用 spark 3.0 对数据进行转换和排序。让我担心的是,我将数据分成 250 个桶,排序然后保存。我在输出目录中看到的通常是 160 个文件,文件名以 part-0000-** 开头,但编号顺序不一致:
part-00000-f667f314-69f2-40d0-ba8a-b5b934650158-c000.gz.parquet
part-00002-f667f314-69f2-40d0-ba8a-b5b934650158-c000.gz.parquet
part-00005-f667f314-69f2-40d0-ba8a-b5b934650158-c000.gz.parquet
那么第 1、3 和 4 部分发生了什么?这发生在整个文件中。我是在丢失数据还是由于某种原因正在合并分区?代码是这样的:
df = df.withColumn("bucket", F.abs(F.col("Id")) % F.lit(250))
df = df.repartition(250,"bucket")
df = df.sortWithinPartitions("id")
df.write.option("compression", "gzip").parquet(outputPath)
【问题讨论】:
标签: apache-spark pyspark parquet partition