gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:21 25 4
gpt4 key购买 nike

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

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

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

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

  2. 创建客户端
  3. 通过提供对象存储 ("/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)

<小时/>

感谢任何帮助。谢谢!

最佳答案

我已经有一段时间没有这样做了,但问题很简单,但不容易找到。在测试例程中,您可以找到重要的一行:

System.loadLibrary("plasma_java");
val plasmaClient = new PlasmaClient("/tmp/plasma","",0);

共享库 libplasma_java.so 是在使用选项 -DARROW_PLASMA_JAVA_CLIENT=on 在 CMake 中编译 C++ 扩展时创建的。在 arrow/java/plasma/test.sh 文件中,您可以找到整个构建命令,但这是从该文件派生的命令:

cd arrow/cpp
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="-g -O3" \
-DCMAKE_CXX_FLAGS="-g -O3" \
-DARROW_BUILD_TESTS=off \
-DARROW_HDFS=on \
-DARROW_BOOST_USE_SHARED=on \
-DARROW_PYTHON=on \
-DARROW_PLASMA=on \
-DPLASMA_PYTHON=on \
-DARROW_JEMALLOC=off \
-DARROW_WITH_BROTLI=off \
-DARROW_WITH_LZ4=off \
-DARROW_WITH_ZLIB=off \
-DARROW_WITH_ZSTD=off \
-DARROW_PLASMA_JAVA_CLIENT=on \
..
make VERBOSE=1 -j4
make install

我刚刚运行了它,它按照需要构建了一切。如果您想将其安装在某个地方,只需添加前缀 -DCMAKE_INSTALL_PREFIX=/home/myuser/install-here

如果您运行System.loadLibrary("plasma_java"),则仅当可以在系统上的某个位置找到.so时,它才起作用(此类内容通常在Linux上由环境变量LD_LIBRARY_PATH指定)。请注意,这还需要系统路径中的 libplasma.solibarrow.so

关于java - Apache Arrow Plasma 客户端 - 无法连接到内存存储 (UnsatisfiedLinkError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53231052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com