在镶木地板留档中明确提到,该设计支持将元数据和数据拆分为不同的文件,包括不同的列组可以存储在不同的文件中。
然而,我找不到任何关于如何实现的说明。在我的用例中,我想将元数据存储在一个文件中,将列1-100数据存储在一个文件中,将101-200存储在第二个文件中。
知道如何实现这一点吗?
如果您使用的是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')