【问题标题】:pyarrow writting Parquet files keeps overriding existing data sets编写 Parquet 文件的 pyarrow 不断覆盖现有数据集
【发布时间】:2019-12-03 04:25:43
【问题描述】:

我正在尝试写入存储在本地文件系统上的现有 Parquet 文件。但是当多次写入时,前一个会被覆盖而不是被添加。

from datetime import datetime
import os
import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq


def append_to_parquet_table(dataframe, filename):
    full_path = os.path.join('.', filename)
    table = pa.Table.from_pandas(dataframe)
    writer = pq.ParquetWriter(full_path, table.schema)
    writer.write_table(table=table)

def save(passed):
    data = {'number': [1234], 
            'verified': [passed], 
            'date': datetime.now().strftime("%Y-%m-%d %H:%M:%S")}
    data_df = pd.DataFrame(data)
    append_to_parquet_table(data_df, 'results.parquet')

save(True)
save(False)

为什么要“更新”第一个数据集而不是写入新的数据集?

【问题讨论】:

    标签: python parquet pyarrow


    【解决方案1】:

    我正在尝试写入存储在本地文件系统中的现有 Parquet 文件。

    文件格式不支持此功能。 Parquet 文件在写入后是不可变的。

    【讨论】:

    • 所以我必须读取文件,连接内存中的两个表,然后将它们写回文件系统?
    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    相关资源
    最近更新 更多