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

求助:Azure Event Hub预览版数据生成器数据无法在Databricks读取

解决Databricks无法读取Azure Event Hub预览版数据生成器数据的问题

以下是针对性的排查和解决步骤:

1. 核对数据生成器的目标配置

  • 确认预览版数据生成器配置的命名空间、Event Hub名称,与代码中connectionString的Endpoint(myspace.servicebus.windows.net)、EntityPath(carlshub)完全一致,包括大小写。预览版工具可能存在配置输入误差,需仔细校验。
  • 登录Azure Portal,进入目标Event Hub实例的指标页面,查看Incoming Messages指标,确认数据确实已成功流入Event Hub。

2. 验证Spark Event Hubs连接器版本兼容性

  • 先检查Databricks集群安装的azure-eventhubs-spark版本:
    import pkg_resources
    print(pkg_resources.get_distribution("azure-eventhubs-spark").version)
    
  • 若版本低于2.3.15,注释掉加密连接字符串的代码,改用明文配置:
    # 替换原加密代码行
    ehConf['eventhubs.connectionString'] = connectionString
    
  • 若版本符合2.3.15及以上要求,单独执行加密语句测试,确认无异常抛出。

3. 检查访问权限配置

  • 确认myaccesspolicy共享访问策略已勾选Listen权限(读取操作必需),在Azure Portal的Event Hub命名空间「共享访问策略」页面可查看配置。
  • 核对SharedAccessKey是否复制正确,确保无多余空格或特殊字符,与Azure Portal显示的密钥完全一致。

4. 调整流读取的起始位置

默认情况下,Spark流读取Event Hub是从当前时间点开始消费,若你先运行数据生成器再启动Databricks任务,历史数据不会被读取。添加起始位置配置,让任务从最早偏移量开始读取:

# 加入ehConf字典中
ehConf['eventhubs.startingPosition'] = '{"offset": "-1", "seqNo": -1, "enqueuedTime": null, "isInclusive": true}'

5. 排查网络连通性

  • 若Databricks集群是VNet注入模式,确认集群所在VNet与Event Hub命名空间的VNet已建立对等连接。
  • 若Event Hub启用了防火墙,需将Databricks集群的公网IP添加到防火墙允许列表中,否则会被拒绝连接。

6. 调试流任务状态

  • 运行display(df)后,点击流监控界面的「查看详细信息」,检查是否有消费延迟、连接错误等提示。
  • 查看集群驱动日志,搜索EventHubs相关报错,定位权限不足、连接超时等具体问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:32:34