问题标签 [pyarrow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 pyarrow 与 pyspark 创建的镶木地板文件是否兼容?
我必须分两步将 JSON 中的分析数据转换为镶木地板。对于大量现有数据,我正在编写 PySpark 作业并做
但是对于增量数据,我计划使用 AWS Lambda。可能 PySpark 对它来说太过分了,因此我计划使用 PyArrow (我知道它不必要地涉及 Pandas,但我找不到更好的选择)。所以,基本上:
我想知道 PySpark 和 PyArrow 编写的 Parquet 文件是否兼容(相对于 Athena)?
python - 如何在 Python 中使用 pyarrow 读取带有条件的镶木地板文件
我已经从数据库中创建了一个包含三列(id、作者、标题)的镶木地板文件,并且想要读取带有条件(标题='Learn Python')的镶木地板文件。下面提到的是我用于此 POC 的 python 代码。
如何在 read_pyarrow 方法中添加条件(title='Learn Python')?
python - 如何有效地将 Google BigTable 中的行读入 pandas DataFrame
用例:
我正在使用 Google BigTable 来存储这样的计数:
我想读取给定范围的行键的所有行(让我们假设在这种情况下全部)并聚合每列的值。
一个简单的实现会在聚合计数时查询行并迭代行,如下所示:
问题:
有没有办法在 pandas DataFrame 中有效地加载结果行并利用 pandas 性能进行聚合?
我想避免用于计算聚合的 for 循环,因为众所周知它效率很低。
我知道Apache Arrow 项目及其python 绑定,虽然 HBase 被称为支持项目(并且 Google BigTable 被宣传为与 HBase 非常相似),但我似乎找不到将它用于用例的方法我在这里描述过。
parquet - 如何使用 pyarrow 流式传输镶木地板?
我正在尝试逐个读取大型镶木地板文件数据集,进行一些操作,然后继续进行下一个操作,而不将它们全部保存在内存中。我需要这样做,因为整个数据集不适合内存。以前我使用过ParquetDataset
并且我知道RecordBatchStreamReader
但我不确定如何将它们结合起来。
我怎样才能使用 Pyarrow 来做到这一点?
python - 如何在 Alpine Docker 映像上安装 pyarrow?
我正在尝试在我的 alpine docker 映像中使用 pip 安装 pyarrow,但 pip 无法找到该软件包。
我正在使用以下 Dockerfile:
输出:
有没有社区能够在高山容器中安装 pyarrow?
python - 使用 pyarrow 将字符串时间戳转换为日期时间
在写入镶木地板文件之前,是否有可能将 pyarrow 表中的字符串时间戳转换为日期时间格式?
python - Pyarrow s3fs 按时间戳分区
是否可以在将镶木地板文件写入时使用表中的时间戳字段通过“”对文件系统pyarrow
进行分区?s3fs
YYYY/MM/DD/HH
s3
python - 使用 pyarrow.parquet ParquetDataset 的模式出现问题(如何强制使用特定模式)
让我们解释一下上下文:有人给了我从多个 .csv 文件中获取的多个镶木地板文件。我想阅读所有这些镶木地板文件并制作一个大数据集。为此,我使用 pyarrow.parquet 包。
所以,我有多个镶木地板文件(我们可以称它们为 file1.pq;file2.pq;file3.pq)。所有文件具有完全相同的结构:相同的列名和相同的列内容。但有时在一个文件中一列的所有行中,值相同且等于 NA。在这种特殊情况下,函数dataset = pq.ParquetDataset(file_list)
会因为物理类型改变而失败。
让我们做一个视觉例子:
转换为镶木地板后,我们有:
我尝试打开每个镶木地板文件并使用以下内容修改列类型:
在哪里:
file_list
包含所有镶木地板文件
list_have_to_change
是必须更改名称的列名列表的列表。在我们的示例中是[[],[C1],[]]
.
但是在to_parquet()
方法模式返回之后
所以它改变了任何东西。
问题:当我保存到 parquet 文件时如何强制模式,或者如何将 pq.ParquetDataset(file_list) 与非连贯的物理类型一起使用?
希望我清楚,提前感谢您的帮助。
python - 从 PyArrow 编写 Parquet 文件时如何指定逻辑类型?
我正在使用PyArrow从Python 中的一些Pandas数据帧编写Parquet文件。
有没有办法可以指定写入镶木地板文件的逻辑类型?
例如,np.uint32
在 PyArrow 中写入一列会在 parquet 文件中产生一个 INT64 列,而使用fastparquet模块写入相同会导致一个逻辑类型为 UINT_32 的 INT32 列(这是我从 PyArrow 获得的行为) .
例如:
这输出:
我对其他列类型也有类似的问题,所以真的在寻找一种通用的方法来指定使用 PyArrow 编写时使用的逻辑类型。