问题标签 [apache-arrow]
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 从分区拼花数据集中读取特定分区
我有一个有点大(~20 GB)的镶木地板格式的分区数据集。我想使用pyarrow
. 我以为我可以使用 来完成此pyarrow.parquet.ParquetDataset
操作,但似乎并非如此。这是一个小例子来说明我想要什么。
创建随机数据集:
我想读取分区 1 的所有值,仅读取分区 2 的 True。使用pandas.read_parquet
,这是不可能的,我必须始终读取整个列。我尝试了以下方法pyarrow
:
这也不起作用:
我可以pyspark
像这样轻松地做到这一点:
如下所示:
这可以用pyarrow
or完成pandas
,还是我需要一些自定义实现?
更新:根据 Wes 的要求,现在在JIRA上。
python-3.x - Apache 箭头、对齐和填充
我想使用 apache arrow,因为它使执行引擎能够利用现代处理器中包含的最新 SIMD(单输入多数据)操作,用于分析数据处理的本机矢量化优化。(https://arrow.apache.org/)。
从文档(https://arrow.apache.org/docs/memory_layout.html)中,我了解到内存分配确保大约 64 字节对齐。
为了验证这 64 字节对齐,我使用 numpy 数组的 __array_interface__ 数据成员,该数组指向存储数组内容的数据区域,并在其上计算模 64。如果结果为 0,则内存地址至少对齐 64 字节。
当我执行下面的代码时,在我的系统(Fedora)上它似乎工作(模 64 的结果为零)但是当我在同事的系统(Fedora 也是)上执行相同的代码时它不起作用:模的结果64 不是零。所以内存没有在 64 字节上对齐。
请在这里找到我的代码:
感谢您的帮助。
python - Apache 箭头,numpy 数组与零副本对齐
我将带有“零副本”的箭头对象转换为熊猫,但结果对象未对齐。
代码返回:alignment: 16
结论:NumPy 数组未对齐。当我将 pyarrow.table.Table 转换为“零副本”的 panda 时,我得出结论 pyarrow.table.Table 本身未对齐。我哪里错了?
apache - 是否可以使用 presto 在内存箭头表中查询,或者是否有某种方法可以使用 pandas 数据框作为 presto 查询引擎的数据源
是否可以使用 presto 在内存箭头表中进行查询,或者是否有某种方法可以使用 pandas 数据框作为 presto 查询引擎的数据源?
实际上我有镶木地板文件,我想将其转换为箭头并查询彻底的 presto 是否可能?
apache-spark - PySpark:带有标量 Pandas UDF 的无效 returnType
我正在尝试从 pandas_udf 返回一个特定的结构。它在一个集群上工作,但在另一个集群上失败。我尝试在组上运行 udf,这要求返回类型是数据框。
这是我得到的例外:
我也尝试将架构更改为
和
但得到同样的例外。我怀疑这与我的 pyarrow 版本有关,它与我的 pyspark 版本不兼容。
任何帮助,将不胜感激。谢谢!
flatbuffers - flatbuffer中的数组结构?
假设我有以下 flatbuffer IDL 文件:
而且我想Monster
在缓冲区中序列化一个由 2 个对象组成的数组。
显然,在序列化数据时可以为整个缓冲区创建以下内存布局:
这意味着现在所有inventory
字段都位于一个连续的内存位置。
然而,在球场上也可以做到这一点mana
吗?即我想用这个内存表示序列化我的对象:
其效果是将所有“法力”值转换为内存中的原始数组。
可以用 Flatbuffers 做到这一点吗?似乎字段只能在对象本身启动后进行序列化
python - 将 Pandas DataFrame 与 In-Memory Feather 相互转换
使用 pandas 中的 IO 工具可以将 a 转换为DataFrame
内存中的羽化缓冲区:
但是,使用相同的缓冲区转换回 DataFrame
导致错误:
ArrowInvalid:不是羽毛文件
如何将 DataFrame 转换为内存中的羽化表示,并相应地转换回 DataFrame?
预先感谢您的考虑和回复。
javascript - 我可以[反]序列化箭头/js实现中的数据框字典吗?
我想使用 Apache Arrow 将数据从 Django 后端发送到 Angular 前端。我想使用数据帧/表的字典作为消息中的有效负载。使用 pyarrow 在 python 微服务之间以这种方式共享数据是可能的,但我找不到使用箭头的 javascript 实现的方法。
有没有办法用箭头反序列化/序列化一个字典,其中字符串作为键,数据帧/表作为值在 JavaScript 端?
python - 如何使用 Python pyarrow 从 Parquet 文件中过滤记录
我正在尝试从镶木地板文件中过滤特定记录。我正在使用 python pyarrow。我设法用熊猫做到了(见下面的代码)。大型镶木地板文件占用大量内存的问题。我正在寻找其他选择 - 有什么想法吗?
谢谢。
apache-spark - 在 pyspark 中的 DataFrame 上使用 toPandas() 时出现神秘的“pyarrow.lib.ArrowInvalid:浮点值被截断”错误
我在不是很大的 DataFrame 上使用 toPandas() ,但出现以下异常:
有时,可以忽略此异常,我可以获得正确的结果,但更多时候,程序退出了。有谁知道这个神秘的错误?