问题标签 [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 投票
3 回答
26377 浏览

python-3.x - Python pip install pyarrow 错误,无法执行'cmake'

我正在尝试在我的 EMR 集群的主实例上安装 pyarrow,但是我总是收到此错误。

我不知道为什么它说'command'cmake' failed with exit status 1',事实上可以肯定的是,我预先安装了cmake,但我仍然得到这个错误。此外,我可以毫无问题地执行 sudo pip install pyarrow,但是在使用 sudo pip-3.4 install pyarrow 时出现错误。我是否遗漏了什么或者这个错误与cmake无关?我会很感激任何帮助。

0 投票
1 回答
662 浏览

dask - 使用 dask 和 pyarrow 从 hdfs 读取 csv 文件

我们正在尝试 dask_yarn 0.3.0 版(使用 dask 0.18.2),因为我正在使用0.10.0 版运行的 boost-cpp 之间存在冲突 我们正在尝试从 hdfs 读取 csv 文件 - 但是我们得到一个错误运行时,因为它正在尝试使用 hdfs3。 pyarrow
dd.read_csv('hdfs:///path/to/file.csv')

ImportError:找不到共享库:libhdfs3.so

从文档 看来,可以选择使用 pyarrow 。

这样做的正确语法/配置是什么?

0 投票
1 回答
6920 浏览

python - Pandas Dataframe Parquet 数据类型?

我正在尝试使用 Pandas 和 Pyarrow 来拼花数据。我有数百个 parquet 文件不需要具有相同的模式,但如果列在 parquet 之间匹配,它们必须具有相同的数据类型。

我遇到了结果拼花数据类型不是我想要的情况。例如,我可能会int64在列中写入一个,然后生成的镶木地板将采用double格式。这在处理方面造成了很多麻烦,其中 99% 的数据输入正确,但在 1% 的情况下,它只是错误的类型。

我尝试过导入 numpy 并以这种方式包装这些值-

但是我仍然偶尔会得到双倍,所以这一定是错误的方法。如何确保 parquet 文件中各列的数据类型一致?

更新-

我发现只有当列包含一个或多个Nones 时才会发生这种情况。

parquet 不能处理混合的 None-int64 cols 吗?

0 投票
5 回答
20603 浏览

python-3.x - ModuleNotFoundError:没有名为“pyarrow”的模块

我正在尝试在我的服务器上运行一个简单的 pandas UDF 示例。从这里

我创建了一个全新的环境,只是为了运行这段代码。

然后我运行以下代码:

我收到以下错误,我无法找到帮助。

更重要的是,这适用于我的本地机器。对于我能得到的任何帮助,我将不胜感激。我已经被困了几天了。

0 投票
1 回答
1187 浏览

python - 当列没有值时,pandas CSV to Parquet 数据类型设置不正确

我正在使用 pandas 数据框 read_csv 函数,并且有时列没有值。在这种情况下,使用dtype参数发送的数据类型将被忽略。

这是我使用的 CSV 文件:

我希望 col3 是镶木地板文件中的类型,而不是 INT32

0 投票
0 回答
1339 浏览

python - 镶木地板文件中的 Redshift 外部表显示字符串数据类型的空值

我正在 Redshift 中创建一个外部表,指向存储在 S3 中的 Parquet 文件。parquet 文件是使用 pyarrow 创建的。当我 SELECT * 在“时间戳”下方定义的外部表有效但“anonymous_id”(VARCHAR)为空时。这同样适用于任何 VARCHAR。

镶木地板模式是:

知道为什么会这样吗?STL_S3CLIENT_ERROR 说:

非常感谢您的帮助!

0 投票
2 回答
3628 浏览

python - 使用 PyArrow 读取 CSV

我有大型 CSV 文件,我最终希望将其转换为镶木地板。由于内存限制和处理 NULL 值的困难(这在我的数据中很常见),Pandas 无济于事。我检查了 PyArrow 文档,并且有用于读取镶木地板文件的工具,但我没有看到任何有关读取 CSV 的信息。我错过了什么,还是这个功能与 PyArrow 不兼容?

0 投票
1 回答
3468 浏览

python - 使用 Dask 从谷歌云存储中读取 parquet 文件

我正在尝试使用 Dask 从谷歌存储桶中读取和写入。使用一堆csv文件有效,但不方便(速度较慢,无法压缩,无法仅读取某些列),因此我尝试使用该apache parquet格式。

写作似乎工作正常:

但是当我试图读回来

我收到一个未实现的错误:

我猜这意味着dask仍然无法直接从谷歌云服务读取镶木地板文件。是否有任何间接的方法可以使用,例如使用pyarrow

我想要保留的是延迟加载事物然后dask用于进行数据转换的能力。

谢谢!

0 投票
1 回答
135 浏览

parquet - 是否可以用 pyarrow 编写镶木地板统计信息?

这个选项存在于 Spark 中,我看到 pyarrowwrite_table()接受 **kwargs,但是在跟进之后.pyx,我无法将其追踪到诸如 min/max 之类的东西。

这是否支持,如果支持,它是如何实现的?

0 投票
1 回答
10213 浏览

python - Pyarrow 不安装 python 3.7(anaconda 5.3.0,windows x64 版本)

我通过安装 anaconda 5.3.0 安装了 64 位 windows 版本的 python 3.7。然后我尝试安装 pyarrow(“conda install pyarrow”)。

Anaconda 最终将python降级到 3.6。此后事情并没有那么顺利(奇怪的错误消息)。我最终不得不卸载 Anaconda 并重新安装它(必须卸载,因为如果程序文件夹不为空,它不会进行修复或重新安装)。

剩下的就是python 3.7,但没有pyarrow。是否有另一个包可以为我提供 python 和 pandas 的镶木地板支持?或者有没有办法让 pyarrow 与 python 3.7 一起工作?

更新:根据 Omri374 的建议,我试过了

这并不能解决我单独的 anaconda 回滚到 python 3.6 的问题(即,在执行“conda install pyarrow”时),但它确实安装了 pyarrow。请注意,它提供了以下输出 - 尝试更新 pip 会产生回滚到 python 3.6,所以我不推荐它:

这是 64 位 win anaconda 5.3.0 (python 3.7) 附带的 pip 版本:

ps 由于 pyarrow 似乎需要 conda-forge 频道,这是我的频道列表(“conda config --show channels”):频道: