如何追加到镶木地板文件以及它如何影响分区?

How can one append to parquet files and how does it affect partitioning?

parquet 是否允许定期附加到 parquet 文件?

追加与分区有何关系(如果有)?例如,如果我能够识别一个基数较低的列并按该列对其进行分区,如果我要向其附加更多数据,parquet 将能够在保留分区的同时自动附加数据,还是必须重新对文件进行分区?

Does parquet allow appending to a parquet file periodically ?

是和否。parquet 规范描述了一种格式,可以通过读取现有页脚、编写行组,然后写出修改后的页脚来附加到该格式。这个过程描述的有点here.

当前的 parquet 实现不支持此操作。通过在内存中缓存或写入小文件并在稍后将它们一起批处理,缓存和批处理通常是可以接受的,复杂性更低,并且可能具有更好的性能。

How does appending relate to partitioning if any?

Parquet 没有任何分区的概念。

许多支持 parquet 实现分区的工具。例如,pyarrow 有一个支持分区的 datasets 特性。如果您要使用此功能附加新数据,则会在相应的分区目录中创建一个新文件。