gpt4 book ai didi

azure - 尝试将 Azure Databricks 与 Azure 事件中心连接,以将一些属性发送到事件中心并通过 splunk 读取它

转载 作者:行者123 更新时间:2023-12-03 03:36:08 25 4
gpt4 key购买 nike

我希望将 Azure 数据 block 连接到事件中心并通过 splunk 读取它。最初,我能够发送测试消息,并能够在 splunk 中接收事件(可以按照 https://learn.microsoft.com/en-us/azure/databricks/scenarios/databricks-stream-from-eventhubs 使用 scala --> 将推文发送到事件中心)。现在我尝试使用 https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-python-get-started-send 中的引用文献使用 python 来实现相同的功能---> 发送事件。当我尝试传递对象参数时,它会抛出错误,例如无法从 Azure 事件中心导入

任何人都可以帮助我了解如何将 Azure databricks 与 Azure Eventhub 连接并包括发送对象参数吗?

PS:我已经添加了集群所需的必要库,如下所示:

  1. com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.18
  2. azure-eventhubs-spark_2.11
  3. com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.22
  4. org.apache.spark:spark-avro_2.12:3.1.1

我也用不同版本的库检查过它。

有人可以帮我解决如何以键值对格式传递对象参数的语法部分吗?

最佳答案

从 Azure Databricks 连接到 EventHub 非常简单 - 只需遵循官方文档,特别是 Writing Data to Event Hubs 部分即可。 (示例为批量写入):

writeConnectionString = "SharedAccessSignatureFromAzurePortal"
ehWriteConf = {
'eventhubs.connectionString' :
sc._jvm.org.apache.spark.eventhubs.EventHubsUtils.encrypt(writeConnectionString)
}

# Write body data from a DataFrame to EventHubs.
# Events are distributed across partitions using round-robin model.
ds = df \
.select("body") \
.write \
.format("eventhubs") \
.options(**ehWriteConf) \
.save()

您需要以某种方式构建 body 列 - 通过使用 to_json(struct("*")) 将数据编码为 JSON,或将数据编码为 Avro。 ..

但是您的集群配置也存在问题 - 特别是这两个库:azure-eventhubs-spark_2.11com.microsoft.azure:azure-eventhubs-spark_2.11 :2.3.22 - 它们适用于 Spark 2,但您使用 Spark 3。卸载它们,然后重新启动集群。

关于azure - 尝试将 Azure Databricks 与 Azure 事件中心连接,以将一些属性发送到事件中心并通过 splunk 读取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73291715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com