2

我有一个日常流程,我在其中读取历史parquet数据集,然后每天将其与一个新文件连接起来。我试图通过更好地利用箭头字典数组来优化内存。我想避免系统地(并且不定义列)往返于 pandas 以获得分类。

我想知道如何在pyarrow.

我目前这样做:

import pyarrow as pa
import pyarrow.parquet as pq
import pyarrow.csv as csv

historical_table = pq.read_table(historical_pq_path)
new_table = (pa.Table.from_pandas(csv.read_csv(new_file_path)
                     .to_pandas(strings_to_categorical=True, 
                                split_blocks=True, 
                                self_destruct=True))
)
combined_table = pa.concat_tables([historical_table, new_table])

我处理了许多文件,并希望避免为每个文件维护一个架构,在其中列出每列的字典列并将其用作 csv 的读取选项。在没有列规范的情况下使用 pandas 的便利性strings_to_categorical=True非常好。从我所看到的情况来看,没有办法strings_to_dictpyarrow.

有没有干净的方法可以在 pyarrow 中做到这一点?

4

0 回答 0