如何重写部分大文件(大于1TB)?
我将数据存储在实木复合地板文件中,它们按最大块大小分割。是否可以更新某些记录并仅重写该块而无需重写。
答案 0 :(得分:0)
我建议创建另一个Spark作业,并使用完整的hdfs偏移路径(例如hdfs:// user // part-000-)读取该特定文件。这只会读取此文件,然后相应地更改您的数据,并将数据写入一个单独的hdfs目录中,从而创建一个df.coalesce(1).write.parquet()。这将返回一个文件,您将把hadoop fs -cp / old / directory /删除,并删除旧文件hadoop fs -rm /。这样可以轻松解决您的问题,而不会影响其他目录。