首页 > 解决方案 > 在 Synapse 上安装 Azure 事件中心 maven 包

问题描述

我正在测试 Azure Synapse Analytics 中的 Spark 功能,以替代 DataBricks。我正在尝试在 Azure Synapse 上的 DataBricks 上实现一个 Delta Lake 作业。

要从事件中心接收消息,我有以下 pyspark 代码:

conf = {}
conf["eventhubs.connectionString"] = connectionString
read_df = (
  sc
    .readStream
    .format("eventhubs")
    .options(**conf)
    .load()
)

除非安装了 maven 包 com.microsoft.azure:azure-eventhubs-spark_x:X,否则该代码会收到错误“java.lang.ClassNotFoundException: Failed to find data source: eventthubs”。

我被困在如何安装该软件包上。

我尝试将其添加到名为 job_props.txt 的 spark 属性文件中,其内容如下:

spark.jars.packages com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.13

当我将此文件添加到 spark 集群“Spark Config file”选项时,集群在启动时失败,并出现 Livy 进程终止错误。

如何在 Azure Synapse 中为 PySpark 作业安装该 Azure 事件中心包?

标签: apache-sparkpysparkazure-eventhubazure-synapse

解决方案


从我们的 Microsoft 帐户代表那里得到了答案。

据他们说,目前您无法像在 Databricks 中那样从 Synapse Spark Pool 中的 Kafka 读取数据。问题是,虽然突触火花池允许您加载 python 库,但 Kafka python 库实际上包装了目前不支持的 java 库。


推荐阅读