我有一个日常流程,我在其中读取历史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_dict
在pyarrow
.
有没有干净的方法可以在 pyarrow 中做到这一点?