【问题标题】:Event hub to databricks error as stream is terminated?当流终止时,事件中心到数据块错误?
【发布时间】:2019-11-07 15:40:46
【问题描述】:

如果 Azure Databricks 使用以下代码从我的事件中心读取数据,我一直在尝试设置概念证明:

connectionString = "Endpoint=sb://mystream.servicebus.windows.net/;EntityPath=theeventhub;SharedAccessKeyName=event_test;SharedAccessKey=mykeygoeshere12345"

ehConf = {
  'eventhubs.connectionString' : connectionString
}

df = spark \
  .readStream \
  .format("eventhubs") \
  .options(**ehConf) \
  .load()

readEventStream = df.withColumn("body", df["body"].cast("string"))
display(readEventStream)

我正在使用here 推荐的 azure_eventhubs_spark_2_11_2_3_6.jar 包,但我尝试了最新版本并不断收到消息

ERROR : Some streams terminated before this command could finish!

我使用了 databricks 运行时版本 6.1,并将其回滚到 5.3,但似乎无法启动和运行。我有一个将数据发送到事件中心的 Python 脚本,但我只是看不到其中的任何内容? 是包裹吗?还是我做错了什么?

更新:我正在从我下载的 JAR 文件中加载库。我删除了它,然后从 Maven 存储库中得到它。测试成功

【问题讨论】:

    标签: pyspark azure-eventhub azure-databricks


    【解决方案1】:

    它与以下配置完美配合:

    Databrick 运行时: 5.5 LTS(包括 Apache Spark 2.4.3、Scala 2.11)

    Azure EventHub 库: com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.13

    使用上述配置,可以从 Azure Eventhubs 获取数据流。

    参考:Integrating Apache Spark with Azure Event Hubs

    希望这会有所帮助。

    【讨论】:

    • 我已经通过 JAR 文件加载了库,我将其更改为从 Maven 加载,并且它工作正常。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 2017-07-01
    相关资源
    最近更新 更多