使用 spark 写入 parquet 文件时如何添加额外的元数据

Posted

技术标签:

【中文标题】使用 spark 写入 parquet 文件时如何添加额外的元数据【英文标题】:How to add extra metadata when writing to parquet files using spark 【发布时间】:2017-02-24 07:35:21 【问题描述】:

默认情况下看起来像 spark 将“org.apache.spark.sql.parquet.row.metadata”写入 parquet 文件页脚。但是,如果我想将一些随机元数据(例如 version=123)写入 spark 生成的 parquet 文件怎么办?

这不起作用:

df.write().option("version","123").parquet("somefile.parquet");

我使用的是 spark 版本 1.6.2

【问题讨论】:

***.com/questions/32628845/… 这提供了一些您可以如何做到的示例,但没有内置方法(据我所知:( ) 【参考方案1】:

列级元数据,是的,请参阅我的评论。

表级 cmets/用户元数据:见 https://issues.apache.org/jira/browse/SPARK-10803

遗憾的是,还没有

【讨论】:

Spark 2 怎么样?

以上是关于使用 spark 写入 parquet 文件时如何添加额外的元数据的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL - 如何将 DataFrame 写入文本文件?

使用 Spark 通过 s3a 将 parquet 文件写入 s3 非常慢

由于某些字段的值未知,使用 Spark 写入 parquet 文件的数字格式异常 [重复]

无法使用Spark Structured Streaming在Parquet文件中写入数据

Spark - 写入 128 MB 大小的 parquet 文件

Spark基础学习笔记25:Spark SQL数据源 - Parquet文件