【问题标题】:Writing parquet files from Python without pandas在没有熊猫的情况下从 Python 编写镶木地板文件
【发布时间】:2018-10-14 21:54:37
【问题描述】:

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

有没有一种方法可以编写 parquet 文件而无需先将其加载到数据框中?

【问题讨论】:

标签: python parquet pyarrow


【解决方案1】:

目前,构建 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

【讨论】:

  • 它只适用于同构数组吗?到目前为止,我没有成功构建一个混合类型的。
猜你喜欢
  • 2018-12-01
  • 2022-11-24
  • 2019-05-27
  • 2017-04-25
  • 2022-11-03
  • 2023-01-20
  • 1970-01-01
  • 2020-01-16
  • 2020-04-20
相关资源
最近更新 更多