拼花文件名的哪一部分重要?

时间:2018-12-04 08:51:50

标签: apache-spark parquet

我在col1=1/col2=2/col3=3/part-00000-33b48309-0442-4e86-870f-f3070268107f-c000.snappy.parquet

之类的结构中有一堆镶木地板数据

我已经阅读了所能找到的内容,而且文件名的每个部分的含义似乎都很清楚-分区中每个文件的part-00000增量,c000与之相关输出配置的其他部分,其余为UUID,以防止并行写入期间发生冲突。

我想知道-我可以更改或删除文件名的哪些部分?具体来说,仅删除UUID是否安全?

(更大的动机是,我需要随着时间的推移将数据添加到现有存储中,但是要每个分区维护N个文件,并且由于您无法覆盖正在读取的文件,因此我需要暂存新文件文件,然后将其复制过来,使用已知的文件名会更容易)

1 个答案:

答案 0 :(得分:1)

也许您可以从 Spark parquet partitioning : Large number of files

data
  .repartition($"key",floor($"row_number"/N)*N)
  .write.partitionBy("key")
  .parquet("/location")