提问者:小点点

Parquet格式-在不同文件中拆分列


在镶木地板留档中明确提到,该设计支持将元数据和数据拆分为不同的文件,包括不同的列组可以存储在不同的文件中。

然而,我找不到任何关于如何实现的说明。在我的用例中,我想将元数据存储在一个文件中,将列1-100数据存储在一个文件中,将101-200存储在第二个文件中。

知道如何实现这一点吗?


共1个答案

匿名用户

如果您使用的是PySpark,它就像这样简单:

df = spark.createDataFrameFrom(...)
df.write.parquet('file_name.parquet')

它将在HDFS的默认位置创建一个名为file_name. parque的文件夹。您可以创建两个数据帧,一个列为1-100,另一个列为101-200,并分别保存它们。如果您指的是数据帧模式,它会自动保存元数据。

您可以选择如下列的范围:

df_first_hundred = df.select(df.columns[:100])
df_second_hundred = df.select(df.columns[100:])

将它们保存为单独的文件:

df_first_hundred.write.parquet('df_first_hundred')
df_second_hundred.write.parquet('df_second_hundred')