如何在火花中使用jni?

 mobiledu2502885873 发布于 2023-02-03 09:23

我想用jni在spark中调用我的c ++ lib.当我运行我的程序时,它显示java.lang.UnsatisfiedLinkError:java.library.path中没有hq_Image_Process,所以显然程序找不到我的hq_Image_Process.so.

在hadoop中,-files可以将xxx.so文件分发给slave,如下所示:

[hadoop@Master ~]$ hadoop jar JniTest3.jar -files /home/hadoop/Documents/java/jni1/bin/libFakeSegmentForJni.so FakeSegmentForJni.TestFakeSegmentForJni input output

有没有办法像火花中的hadoop一样调用我的hq_Image_Process.so?我将不胜感激任何帮助.

1 个回答
  • 首先,必须在所有工作节点上预安装本机库.必须在以下位置指定该库的路径spark-env.sh:

    export SPARK_LIBRARY_PATH=/path/to/native/library
    

    SPARK_PRINT_LAUNCH_COMMAND 环境变量可能用于诊断它:

    export SPARK_PRINT_LAUNCH_COMMAND=1
    

    如果一切设置正确,您将看到如下输出:

    Spark Command:
    /path/to/java -cp <long list of jars> -Djava.library.path=/path/to/native/library <etc>
    ========================================
    

    2023-02-03 09:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有