gpt4 book ai didi

apache-spark - Parquet 元数据文件需要回滚吗?

转载 作者:行者123 更新时间:2023-12-03 23:56:43 34 4
gpt4 key购买 nike

当 Parquet 文件 data在其 date 上写有分区列我们得到一个目录结构,如:

/data
_common_metadata
_metadata
_SUCCESS
/date=1
part-r-xxx.gzip
part-r-xxx.gzip
/date=2
part-r-xxx.gzip
part-r-xxx.gzip

如果分区 date=2在没有 Parquet 实用程序(通过 shell 或文件浏览器等)参与的情况下删除是否需要将任何元数据文件回滚到只有分区时 date=1 ?

还是可以随意删除分区并稍后重写(或不重写)?

最佳答案

如果您使用的是 数据帧 无需回滚元数据文件。

例如:

您可以将 DataFrame 写入 S3

df.write.partitionBy("date").parquet("s3n://bucket/folderPath")

然后,手动 删除 使用 S3 浏览器(例如 CloudBerry)的分区之一(S3 中的 date=1 文件夹)

现在你可以
  • 负载 你的数据,看到数据还是有效 除了分区 date=1 sqlContext.read.parquet("s3n://bucket/folderPath").count 中的数据
  • 重写 您的 DataFrame(或任何其他具有相同架构的 DataFrame)使用 附加 模式
    df2.write.mode("append").partitionBy("date").parquet("s3n://bucket/folderPath")

  • 你也可以看看这个 question来自数据块论坛。

    关于apache-spark - Parquet 元数据文件需要回滚吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936815/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com