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

时间:2018-05-04 12:00:35

标签: python parquet pyarrow

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

有没有办法如何编写镶木地板文件而无需先在数据框中加载它?

1 个答案:

答案 0 :(得分:2)

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

import pyarrow as pa

string_array = pa.array(['a', 'b', 'c'])
pa.Table.from_arrays([string_array], ['str'])

由于Parquet是一种柱状数据格式,您必须将数据加载到内存中以执行逐行到列式数据表示转换。

目前,您还需要立即构建Arrow数组;你不能逐步建立起来。将来,我们计划从C ++公开(增量)构建器类:https://github.com/apache/arrow/pull/1930