在 PySpark 中将 Parquet 文件作为 Dataframe 的输出写入时,如何在 HDFS 中创建元数据文件?

How do I create a metadata file in HDFS when writing a Parquet file as output from a Dataframe in PySpark?

我有一个 Spark 转换程序,它读取 2 个 Parquet 文件并创建一个最终数据帧,然后将其写入 HDFS 中另一个目录中的 Parquet 文件。

有没有办法在与 HDFS 中的 parquet 相同的目录中创建 Parquet 的元 data/Schema 文件?

我们需要此 metadata/schema 文件进行另一次处理。

假设元文件的使用者不是镶木地板文件的使用者(因为元文件是多余的,因为架构以镶木地板格式嵌入),您可以使用 schema 属性 在数据框上并将其作为字符串写入文件。

请注意,您不能将此元文件写入与 parquet 文件相同的路径,因为当您尝试读回 parquet 文件时会出错,但可以将其写入父目录。