apache-spark - 在 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 事件中心包?
解决方案
从我们的 Microsoft 帐户代表那里得到了答案。
据他们说,目前您无法像在 Databricks 中那样从 Synapse Spark Pool 中的 Kafka 读取数据。问题是,虽然突触火花池允许您加载 python 库,但 Kafka python 库实际上包装了目前不支持的 java 库。
推荐阅读
- python - matplotlib 中不同颜色的流图给出 2 个 cmap
- sql - SSAS 日期存储为文本
- r - 使用 GLMMadaptive 绘制零膨胀、半连续数据?
- c# - 运行时未找到标识脚手架页面
- ruby-on-rails - 在 Ruby on Rails 应用程序中复合性能问题
- javascript - 设置为“clientWidth”的画布在附近元素调整大小时不会缩小
- ajax - MVC 模式:通过视图或控制器的 ajax 部分调用服务器的 js 代码?
- scala - 播放框架:play.api.mvc.DefaultJWTCookieDataCodec 解码:无法解码 JWT:null
- c# - windows窗体c#中的进度条
- tensorflow - train_on_batch 的使用