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

咨询:Databricks中无需Azure AD应用配置PySpark-Kusto连接器的方法

无需Azure AD应用的PySpark-Kusto连接方案

好消息是,完全可以不用Azure AD应用程序来配置PySpark与Kusto(Azure Data Explorer)的连接!我整理了几种实用的方案,你可以根据自己的场景选择:

  • 用户身份认证(Azure AD用户凭据)
    你可以直接用当前登录Databricks的Azure AD用户账号完成认证,不用单独创建应用。配置时指定AAD_USER_ID和AAD_PASSWORD参数即可,示例代码如下:

    df = spark.read.format("com.microsoft.kusto.spark.datasource")
      .option("kustoCluster", "<你的Kusto集群URL>")
      .option("kustoDatabase", "<目标数据库名>")
      .option("kustoQuery", "<查询语句>")
      .option("AAD_USER_ID", "<你的Azure AD邮箱>")
      .option("AAD_PASSWORD", dbutils.secrets.get("<secret-scope>", "<password-key>"))
      .load()
    

    这里建议用Databricks Secrets存储密码,避免明文暴露,适合测试或小型场景使用。

  • Databricks托管身份认证
    如果你的Databricks工作区启用了托管身份,直接用这个身份就能访问Kusto,无需额外维护AAD应用。步骤很简单:

    1. 先给Databricks的托管身份授予Kusto集群的对应权限(比如Viewer用于读,Ingestor用于写)
    2. 配置连接器时只需要指定租户ID,不用设置客户端ID和密钥:
    df = spark.read.format("com.microsoft.kusto.spark.datasource")
      .option("kustoCluster", "<你的Kusto集群URL>")
      .option("kustoDatabase", "<目标数据库名>")
      .option("kustoQuery", "<查询语句>")
      .option("AAD_AUTHORITY_ID", "<你的Azure租户ID>")
      .load()
    

    这种方式最安全省心,完全由Azure自动管理身份凭据,非常适合生产环境。

  • 设备代码交互式认证
    要是你在做交互式测试,设备代码认证会很方便——不需要预先配置任何凭据,只需要通过浏览器完成身份验证:

    df = spark.read.format("com.microsoft.kusto.spark.datasource")
      .option("kustoCluster", "<你的Kusto集群URL>")
      .option("kustoDatabase", "<目标数据库名>")
      .option("kustoQuery", "<查询语句>")
      .option("AAD_DEVICE_CODE_AUTH", "true")
      .option("AAD_AUTHORITY_ID", "<你的Azure租户ID>")
      .load()
    

    运行代码后,控制台会输出一个设备代码和验证URL,你打开浏览器访问该URL,输入代码并用Azure AD账号登录,连接器就会自动获取认证权限了。

最后要提醒的是:不管用哪种方式,都要确保对应的身份(用户/托管身份)已经在Kusto集群中获得了必要的权限,不然会出现访问被拒绝的情况哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:59:10