You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Databricks Spark集群安装pyRFC?如何处理SDK依赖?

在Databricks集群中安装pyRFC及相关问题解答

能否在Databricks集群安装pyRFC?

可以安装,但需要先处理SAP NW RFC SDK依赖及环境变量配置——pyRFC作为基于C的Python库,依赖SAP官方的NW RFC SDK才能正常运行。

如何引入SDK依赖并安装pyRFC?

以下是具体操作步骤:

  1. 准备SAP NW RFC SDK
    • 从SAP官方获取与集群操作系统匹配的NW RFC SDK(如Databricks集群多为Ubuntu环境,选择Linux x86_64版本)。
    • 将SDK上传至DBFS(示例路径:dbfs:/databricks/nwrfcsdk/),确保集群所有节点可访问该路径。
  2. 配置环境变量与系统依赖
    • 方式一:集群初始化脚本(推荐,全局生效)
      创建bash脚本setup_rfc.sh,内容如下:
      #!/bin/bash
      # 安装系统依赖库
      apt-get update && apt-get install -y libgssapi-krb5-2 libicu-dev
      # 设置LD_LIBRARY_PATH指向SDK的lib目录
      export LD_LIBRARY_PATH=/dbfs/databricks/nwrfcsdk/lib:$LD_LIBRARY_PATH
      
      将脚本上传至DBFS,在创建集群时指定为初始化脚本,集群启动时会自动执行配置。
    • 方式二:Notebook临时配置(仅当前会话生效)
      在运行pyRFC代码前执行:
      import os
      # 安装驱动节点的系统依赖(executor节点需依赖初始化脚本配置)
      os.system('apt-get install -y libgssapi-krb5-2 libicu-dev')
      # 设置环境变量
      os.environ['LD_LIBRARY_PATH'] = '/dbfs/databricks/nwrfcsdk/lib:' + os.environ.get('LD_LIBRARY_PATH', '')
      
  3. 安装pyRFC包
    • 方式一:集群库管理
      进入集群“库”页面,选择“安装新库”,类型选“PyPI”,包名填pyrfc后点击安装。
    • 方式二:Notebook内安装
      执行:
      %pip install pyrfc
      

Java版本SAP RFC库(sapjco3)的使用情况

已有大量用户在Databricks上成功使用Java版本的SAP RFC库(sapjco3),相比pyRFC,Java版本的依赖处理更简洁:

  1. 获取sapjco3的jar包和对应操作系统的native库文件(如libsapjco3.so)。
  2. 将jar包通过集群库管理上传安装,或放到DBFS后在Spark配置中指定spark.driver.extraClassPath和spark.executor.extraClassPath。
  3. 将native库放到DBFS,在Spark配置中设置spark.driver.extraLibraryPath和spark.executor.extraLibraryPath指向native库路径,或通过初始化脚本添加到java.library.path。
  4. 在Scala/Java代码中直接引入com.sap.conn.jco相关类即可调用SAP RFC接口。

内容的提问来源于stack exchange,提问作者Wonseok Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:23:26