我试图写一个pandas dataframe以parquet文件格式(在最近的大熊猫版本0.21.0介绍)append模式。但是,该文件不是附加到现有文件,而是被新数据覆盖。我错过了什么?
写语法是
df.to_parquet(path, mode='append')
Run Code Online (Sandbox Code Playgroud)
读取语法是
pd.read_parquet(path)
Run Code Online (Sandbox Code Playgroud) 我知道“许多 Arrow 对象是不可变的:一旦构造,它们的逻辑属性就不能再改变”(文档)。在《绿箭侠》创作者之一的这篇博文中,据说
Arrow C++ 中的表列可以分块,因此附加到表是零复制操作,不需要重要的计算或内存分配。
但是,我无法在文档中找到如何将行追加到表中。pyarrow.concat_tables(tables, promote=False)做了类似的事情,但据我了解,它会生成一个新的 Table 对象,而不是向现有对象添加块。
我不确定这个操作是否完全可能/有意义(在这种情况下我想知道如何进行)或者是否不可行(在这种情况下,pyarrow.concat_tables这正是我所需要的)。
类似问题:
Table物体。可能来自read_csv操作或手动构建。