我正在测试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()
)
该代码收到一个错误"java.lang。ClassNotFoundException:查找数据源失败:eventhubs",除非maven包com.microsoft。azure:azure-eventhubs-spark_x:X已安装
我被如何安装那个包卡住了。
我试着将它添加到一个名为job_props.txt的spark属性文件中,内容如下:
spark.jars.packages com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.13
当我将这个文件添加到spark集群" spark配置文件"选项,则集群在启动时失败,并出现Livy进程终止错误。
如何在Azure Synapse中为PySpark作业安装Azure事件中心包?
从我们的微软客户代表那里得到了答案
根据他们的说法,此时您无法像在Databricks中那样从Synapse Spark Pool中读取Kafka数据。问题是,虽然synapse spark pool允许你加载python库,但Kafka python库实际上包装了java库,这是目前不支持的。