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

Azure Synapse中Spark JDBC连接Infor Data Lake的ionapi报错问题

解决Azure Synapse Spark JDBC连接Infor Data Lake的ionapi文件找不到问题

问题核心

错误提示明确指出:Infor Compass JDBC Driver.ionapi文件必须位于驱动JAR所在的目录。当前你将ionapi文件存储在ADLS路径,但Spark加载JDBC驱动时,会将JAR下载到Executor的本地临时目录,而ionapi文件仍留在ADLS,驱动无法跨路径读取ADLS上的配置文件,导致找不到错误。

解决方案

1. 分发ionapi文件到Executor本地

使用Spark的spark.files配置,将ionapi文件分发到每个Executor的工作目录,这样驱动就能在本地找到该文件。

2. 调整代码配置

修改Spark会话初始化和JDBC连接属性:

  • 添加spark.files配置指定ionapi的ADLS路径,Spark会自动将文件同步到Executor本地
  • JDBC属性中的ionapi值改为本地文件名(无需完整路径,因为文件已在Executor工作目录)

修改后的代码示例:

%%configure -f
{
    "conf": {  
        "spark.jars": "abfss://container@datalake_name.dfs.core.windows.net/infor-compass-jdbc-2023.10.jar",
        "spark.files": "abfss://container@datalake_name.dfs.core.windows.net/path_to_ionapi_file/Infor Compass JDBC Driver.ionapi"
    }
}

storage_account_name = "**"
container_name = "**"

jdbc_jar_path = f"abfss://{container_name}@{storage_account_name}.dfs.core.windows.net/path_to_jdbc_driver/infor-compass-jdbc-2023.10.jar"
ionapi_file_name = "Infor Compass JDBC Driver.ionapi"

spark = SparkSession.builder \
    .appName("InforDataLakeConnection") \
    .config("spark.jars", jdbc_jar_path) \
    .config("spark.files", f"abfss://{container_name}@{storage_account_name}.dfs.core.windows.net/path_to_ionapi_file/{ionapi_file_name}") \
    .getOrCreate()

jdbc_url = "jdbc:infordatalake://your_infordatalake_endpoint"

jdbc_properties = {
    "user": "**",
    "password": "**",
    "driver": "com.infor.idl.jdbc.Driver", 
    "ionapi": ionapi_file_name
}

table_name = "table_name"

df = spark.read.jdbc(url=jdbc_url, table=table_name, properties=jdbc_properties)
df.show()

3. 额外验证步骤

  • 确保JDBC驱动JAR和ionapi文件的ADLS路径权限正确,Synapse Spark池拥有读取该路径的权限(可通过MSI或存储密钥配置)
  • 检查spark.files配置的路径是否与ionapi文件实际路径完全一致,注意文件名的大小写(Linux环境下大小写敏感)
  • 避免重复配置spark.jars:如果已经在%%configure中指定了驱动路径,SparkSession.builder中可以省略该配置,防止冲突

内容的提问来源于stack exchange,提问作者Sriram M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:44:56