向Azure Data Explorer写入数据时遇StacklessClosedChannelException问题求助
问题:Databricks写入Azure Data Explorer(ADX)时出现StacklessClosedChannelException异常
问题背景
尝试将数据从Databricks写入ADX表时出现异常,已确认ADX集群开放所有网络,且通过nslookup和端点连接状态验证Databricks与ADX的连通性正常。
报错信息
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 4 times, most recent failure: Lost task 0.3 in stage 3.0 (TID 12) (10.139.64.7 executor 0): java.io.UncheckedIOException: io.netty.channel.StacklessClosedChannelException
示例代码
spark = SparkSession.builder \ .appName("ADXWriter") \ .getOrCreate() kustoOptions = {"kustoCluster":"https://", "kustoDatabase" : "", "kustoTable" : "", "kustoAadAppId":"" , "kustoAadAppSecret":"", "kustoAadAuthorityID":""} df.write. \ format("com.microsoft.kusto.spark.datasource"). \ option("kustoCluster",kustoOptions["kustoCluster"]). \ option("kustoDatabase",kustoOptions["kustoDatabase"]). \ option("kustoTable", kustoOptions["kustoTable"]). \ option("kustoAadAppId",kustoOptions["kustoAadAppId"]). \ option("kustoAadAppSecret",kustoOptions["kustoAadAppSecret"]). \ option("kustoAadAuthorityID",kustoOptions["kustoAadAuthorityID"]). \ mode("Append"). \ save()
环境信息
- Databricks runtime: 14.1(包含Apache Spark 3.5.0、Scala 2.12)
- 依赖包版本:
- com.azure:azure-identity:1.13.0
- com.microsoft.azure.kusto:kusto-data:5.1.0
- com.microsoft.azure.kusto:kusto-ingest:5.1.0
- com.microsoft.azure.kusto:kusto-spark_3.0_2.12:5.1.0
排查与解决思路
- 版本兼容性检查:当前使用的
kusto-spark_3.0_2.12:5.1.0是针对Spark 3.0的版本,而Databricks Runtime 14.1搭载Spark 3.5.0,版本不匹配可能引发Netty通道异常。建议升级到适配Spark 3.5的Kusto Spark连接器版本(如kusto-spark_3.5_2.12对应兼容版本)。 - 调整写入并行度与超时:添加
option("spark.sql.shuffle.partitions", "10")降低任务并行度,避免并发连接过多导致通道关闭;同时可设置option("kustoRequestTimeout", "300")(单位:秒)延长请求超时时间。 - 验证AAD应用权限:确认用于认证的AAD应用拥有ADX目标数据库的
Ingestor角色权限,以及目标表的写入权限,权限不足可能导致连接中途中断。 - 排查依赖冲突:检查
azure-identity:1.13.0与Kusto相关依赖的兼容性,建议使用Kusto Spark连接器官方推荐的azure-identity版本,避免依赖冲突引发Netty底层异常。 - 切换批量写入模式:添加
option("writeMode", "BULK")启用批量Ingest模式,该模式相比默认流式写入更稳定,适合大数据量场景,能减少连接异常概率。
内容的提问来源于stack exchange,提问作者SONIA_29
相关产品推荐
相关产品推荐

