在没有熊猫的情况下从 Python 编写镶木地板文件

Mil*_*mak 9 python parquet pyarrow

我需要将数据从 JSON 转换为 parquet 作为 ETL 管道的一部分。我目前正在使用pyarrow.Tablefrom_pandas方法进行操作。然而,首先构建数据帧感觉像是一个不必要的步骤,而且我想避免将熊猫作为依赖项。

有没有办法编写镶木地板文件而无需先将其加载到数据框中?

Uwe*_*orn 4

目前,由于 Pandas 的成熟,构建 Parquet 最方便的方法是使用 Pandas。尽管如此,pyarrow还提供了从普通 Python 构建表的工具:

import pyarrow as pa

string_array = pa.array(['a', 'b', 'c'])
pa.Table.from_arrays([string_array], ['str'])
Run Code Online (Sandbox Code Playgroud)

由于 Parquet 是一种列式数据格式,因此您必须将数据加载到内存中一次,才能进行按行到列式数据表示形式的转换。

此时,您还需要立即构建Arrow数组;你无法逐步建立它们。将来,我们计划公开 C++ 中的(增量)构建器类:https://github.com/apache/arrow/pull/1930