python - 在没有熊猫的情况下从 Python 编写镶木地板文件
问题描述
作为 ETL 管道的一部分,我需要将数据从 JSON 转换为镶木地板。我目前正在使用pyarrow.Tablefrom_pandas
的方法进行操作。但是,首先构建数据框感觉像是一个不必要的步骤,而且我想避免将熊猫作为依赖项。
有没有一种方法可以编写镶木地板文件而无需先将其加载到数据框中?
解决方案
目前,构建 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
推荐阅读
- amazon-web-services - AWS CloudFormation 中的嵌套参数组?
- acumatica - 保存时删除行?
- javascript - 如何制作 Javascript 阶乘函数?
- java - 如何设计一个基于微服务的应用程序,每个微服务都有自己的数据源?
- java - 如何使用 junit 4 将 switch/case 代码重写为 junit 5 或 testng
- sql - OrientDB:如何在类中获取重复值?
- angular - 如何在 Angular 2+ 页面加载时添加默认活动类
- c# - 识别 Alert selenium webdriver c# 上的元素
- c# - Unity C#在生成元素之前检查位置是否被占用
- php - 从链接列表下载网站图标