【发布时间】:2019-01-14 08:04:16
【问题描述】:
如何重写部分大文件(超过 1TB)?
我将数据存储在 parquet 文件中,它们按最大块大小拆分。是否可以更新某些记录并仅重写该块而不重写。
【问题讨论】:
标签: apache-spark hadoop
如何重写部分大文件(超过 1TB)?
我将数据存储在 parquet 文件中,它们按最大块大小拆分。是否可以更新某些记录并仅重写该块而不重写。
【问题讨论】:
标签: apache-spark hadoop
我建议创建另一个 spark 作业并使用整个 hdfs 偏移路径读取该特定文件,例如 hdfs://user//part-000-。这只会读取此文件,然后相应地更改您的数据并将数据写入单独的 hdfs 目录,从而生成 df.coalesce(1).write.parquet()。这将返回一个文件,您将使用 hadoop fs -cp /old/directory/ 并删除旧文件 hadoop fs -rm /。这将轻松解决您的问题,而不会妨碍其他目录。
【讨论】: