问题标签 [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.

0 投票
1 回答
9431 浏览

python - 使用 pyarrow 时无法加载 libhdfs

我正在尝试通过 Pyarrow 连接到 HDFS,但它不起作用,因为libhdfs无法加载库。

libhdfs.so$HADOOP_HOME/lib/native和 在 中$ARROW_LIBHDFS_DIR

我得到的错误:

0 投票
2 回答
1882 浏览

python - 如何使用 PyArrow 从 s3 读取定义的镶木地板文件列表?

我需要从存储在 s3 中的 Parquet 文件中将数据增量加载到 Pandas,我正在尝试使用 PyArrow 但没有任何运气。

将 Parquet 文件的整个目录写入 Pandas 就可以了:

但是,当我尝试加载单个 Parquet 文件时,出现错误:

抛出错误:

感谢您对此错误的任何帮助。

理想情况下,我需要将添加到 s3 的所有新数据(自上次运行此脚本以来添加)附加到 Pandas 数据帧,所以我想我将文件名列表传递给 ParquetDataset。有没有更好的方法来实现这一目标?谢谢

0 投票
3 回答
5333 浏览

pandas - 迭代 Pyarrow 表的最快方法

我正在使用 Pyarrow 库来优化 Pandas DataFrame 的存储。我需要尽可能快地逐行处理pyarrow Table而不将其转换为pandas DataFrame(它不适合内存)。Pandas 有 iterrows()/iterrtuples() 方法。除了 for 循环和索引寻址之外,还有什么快速迭代 Pyarrow Table 的方法吗?

0 投票
1 回答
109 浏览

c++ - 可以直接访问arrow::MemoryMappedFile的内存吗?

对于开发人员,我使用的是箭头::MemoryMappedFile,而不是复制数据,我想直接访问它。有没有办法访问内存中的这些数据?

谢谢,马克

0 投票
0 回答
1402 浏览

python - 合并 Parquet 文件 - 模式不匹配中的 Pandas Meta

我正在尝试将多个镶木地板文件合并为一个。他们的模式在领域方面是相同的,但我ParquetWriter抱怨他们不是。经过一番调查,我发现模式中的 pandas 元数据不同,导致了这个错误。

是否可以忽略/合并/删除熊猫元?我什至需要熊猫元?

确切的错误-

0 投票
1 回答
731 浏览

java - Apache Arrow Plasma 客户端 - 无法连接到内存存储(UnsatisfiedLinkError)

我正在尝试使用 Apache Arrow 的 Java API 连接到内存存储。我已经按照此处的指南使用 Python API 成功地在 Python 中完成了此操作。

我还查看了C++ API 文档,但没有多大帮助。

Java Docs使它看起来与其他文档相似。

  1. 确保等离子对象存储正在运行(对于示例,通常是“/tmp/plasma”)。

    1. 创建客户端
    2. 通过为其他两个参数提供对象存储 ("/tmp/plasma") 和 ("", 0) 来连接到客户端。

但是,当尝试使用以下行时,我得到一个 UnsatisfiedLinkError,我在 Apache Arrow 文档中找不到任何引用。google 找到的其他解决方案(例如调用 System.load)也没有成功。

PlasmaClient client = new PlasmaClient("/tmp/plasma", "", 0);

我的错误消息的副本如下所示:

Exception in thread "main" java.lang.UnsatisfiedLinkError:org.apache.arrow.plasma.PlasmaClientJNI.connect(Ljava/lang/String;Ljava/lang/String;I)J at org.apache.arrow.plasma.PlasmaClientJNI.connect(Native Method) at org.apache.arrow.plasma.PlasmaClient.<init>(PlasmaClient.java:44) at plas.main(plas.java:11)


任何帮助表示赞赏。谢谢!

0 投票
1 回答
10525 浏览

python - 如何转换 Pandas 数据框架构

我正在读取一个 CSV 文件,pandas.read_csv它会自动检测架构,就像

然后,我试图把它pyarrow.parquet.write_table 写成 Parquet 表。但是,我想为新的镶木地板文件使用以下架构

但我收到一条错误消息,提示“表架构与用于创建文件的架构不匹配”。这是我用来将 CSV 文件转换为从这里借来的 Parquet 文件的一段代码

0 投票
1 回答
110 浏览

python - 为 Pyarrow 设置裤子解释器

我正在使用 Pants 为我的项目创建 .pex 文件。我的构建文件使用 3rdparty 逻辑依赖于 pyarrow:'3rdparty/python:pyarrow'。Pants 使用 C++ 和 Python 库构建 pyarrow,我在 anaconda 中安装了 pyarrow,而不是在标准 python 库中。Pyprep interpreter.info 给出:/usr/bin/python2.7 作为 Pants 中使用的解释器。如何将其更改为 anaconda python?

0 投票
0 回答
1304 浏览

python - Pandas 将 NULL Int64 转换为 Float64

我有几个可以为空的 Int64 列的镶木地板。当我读入 parquet 表,转换为 pandas,然后转换回 parquet 时,那些 Int64 列变为 Float64 (我假设是因为它们可以为空)。

我不想将 Int64 转换为 Float64,所以我尝试指定架构-

导致以下错误 -

ArrowInvalid('浮点值被截断', 'notification_id 类型为 float64 的列转换失败')

我相信这正在发生to_pandas

如何告诉熊猫不要转换字段?

0 投票
1 回答
1636 浏览

python-3.x - PyArrow 表到 PySpark 数据框的转换

我正在尝试将我的 Pandas 数据框转换为 PySpark 数据框。createDataFrame 函数不起作用,所以我找到了 PyArrow。

我可以转换 Pandas --> PyArrow 表,但我找不到任何方法来转换 PyArrow 表 --> Spark

有谁知道我如何实现这一目标?

谢谢