pyspark - 如何在dataFrame.randomSplit之后维护模式

时间:2018-01-25 03:38:56

标签: apache-spark pyspark spark-dataframe

我正在阅读一个创建40K分区的大型s3 json半结构化文件。 代码很简单,但是当我最终编写查询的结果集时,它还创建了大约40K的文件,大多数是0kb。

所以为了解决这个问题,我想到了创建一个结果集的新数据框,这解决了问题,因为从40K分区开始,我现在已经不到一百个。

reduced_partition_dataframe = spark.createDataFrame(original_df.collect(), original_df.schema)

但是,很少有result_set返回非常多的文件,导致收集器内存不足。所以我想如果达到某个记录计数阈值,我将拆分数据帧。

split_dataframe_array = original_df.randomSplit(split_weights)

但是,当我在某些点进行拆分时,拆分创建的架构现在与原始架构不同。

有没有办法保留架构或阻止df框架在拆分后重新推断架构?

0 个答案:

没有答案