问题标签 [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 时无法加载 libhdfs
我正在尝试通过 Pyarrow 连接到 HDFS,但它不起作用,因为libhdfs
无法加载库。
libhdfs.so
在$HADOOP_HOME/lib/native
和 在 中$ARROW_LIBHDFS_DIR
。
我得到的错误:
java - Apache Arrow Plasma 客户端 - 无法连接到内存存储(UnsatisfiedLinkError)
我正在尝试使用 Apache Arrow 的 Java API 连接到内存存储。我已经按照此处的指南使用 Python API 成功地在 Python 中完成了此操作。
我还查看了C++ API 文档,但没有多大帮助。
Java Docs使它看起来与其他文档相似。
确保等离子对象存储正在运行(对于示例,通常是“/tmp/plasma”)。
- 创建客户端
- 通过为其他两个参数提供对象存储 ("/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)
任何帮助表示赞赏。谢谢!
c++ - 如何将箭头::数组转换为标准::向量?
我有一个通过读取文件创建的 Apache 箭头数组。
有没有办法将它转换为 std::vector 或 C++ 中的任何其他本机数组类型?
apache-calcite - Apache Arrow 适配器与 Apache Calcite 集成
是否有任何现成的选项可以集成 apache arrow 和 apache calcite?
我观察到 CSV、JSON 具有这种集成功能。但 Apache Arrow 没有这个。
我们必须像calcite-arrow-sample一样编写所有这些类,因为它本身并不容易从 api 获得。
apache-drill - Apache Drill 的 ValueVectors 和 Apache Arrow 有什么区别?
Apache Drill 有自己的柱状表示,如 Apache Arrow。但是 Apache Arrow 支持更多的编程语言。我期待使用 Apache Drill,但我仍然想要 Apache Arrow 的编程语言支持。
一些消息来源说,Apache Arrow 源于 Apache Drill 的 ValueVectors。
Drill 在内部将数据表示为 JSON 文档——类似于 MongoDB 和 Elasticsearch。这些 JSON 文档被“分解”成列,这允许 Drill 提供列分析的性能增强,但保留查询复杂数据的能力。请注意,此内部表示不基于 Apache Arrow。-来源
为什么 Apache Drill 不能使用 Apache Arrow 项目?Drill 的内部表示与 Apache Arrow 有何不同,Arrow 与 Drill 的 ValueVectors 相比有什么优势,反之亦然。
arrays - 是否有 pyarrow 数组生成器
我正在寻找一个 python 箭头数组生成器。
我的用例如下:我有“行”记录,我想将其转换为箭头“列”表。对于我记录中的每个字段,我想创建一个相关类型的箭头数组。但我不想使用 python 数组作为中间表示,因为我担心它可能会浪费。
这是我的用例的说明:
apache-spark - 如何本机读取羽毛/箭头文件?
我有羽毛格式文件sales.feather
,用于在python
和 R之间交换数据。
在 RI 中使用以下命令:
在python中,我使用了:
将数据从该文件加载到内存到运行的 Spark 实例的最佳方法是什么pyspark
?我还想控制pyspark.StorageLevel
从羽毛中读取的数据。
我不想使用 pandas 来加载数据,因为它会为我的 19GB 羽毛文件产生段错误,该文件是从 45GB csv 创建的。
c++ - 通过 Apache Arrow 中的索引访问 Gadiva 过滤器结果
也许我遗漏了一些明显的东西,但是对于我的生活,我无法弄清楚在 Gandiva 过滤器操作之后如何访问数组的元素。
我链接了一个最小的例子,我像这样编译:
然后我像这样运行二进制文件:
总的来说,这就是我正在尝试的(随后是 MWE 的摘录):
创建一个 5 元素向量:1、3、2、4、5
/li>使用 Gandiva 获取偶数元素,索引:2、3
/li>使用 Gandiva 过滤器中的选择向量作为索引数组访问原始数组中的偶数元素
/li>
但我似乎无法访问选择向量的元素。由于它被声明为std::shared_ptr<arrow::Array>
,因此Value(..)
找不到该方法。因为我用 填充它SelectionVector::MakeInt16(..)
,所以我尝试向下转换为arrow::NumericArray<Int16Type>
,但是失败了!我不确定我哪里出错了。
我也有一个相关但更笼统的问题。给定一个数组,如果我不知道确切的类型,我就找不到访问元素(或迭代它们)的方法。如果我知道类型,我可以向下转换,并使用 、 、 等之类的东西Value(..)
。GetValue(..)
这GetString(..)
似乎很圆,只是为了访问元素。我错过了什么?
注意:完整的 MWE 以及 Makefile 可以从此gist中克隆。
java - 如何启用字典编码
我是 Arrow 的新手,我在 java 中使用的是 0.11.0 版本。
我创建了一个简单的junit 测试,在其中我使用arrow-jdbc 创建VectorSchemaRoot。现在我试图弄清楚如何启用字典编码的使用。
有人可以帮助我吗?
亲切的问候安德里亚
c++ - apache 箭头 - 读取 csv 文件
我现在正在使用 apache arrow。
使用 arrow::csv::TableReader::Read 函数读取 csv 文件时,我想将此文件作为没有标题的文件读取。
但是,它读取 csv 文件并将第一行视为 csv 标头(数据字段)。是否有任何选项可以读取没有标题的 csv 文件?
谢谢