Azure Databricks 到事件中心

Hil*_*aha 5 azure azure-data-factory azure-data-lake databricks

我对 Databricks 很陌生。所以,请原谅我。这是我的要求

  1. 我的数据存储在 Azure DataLake 中
  2. 根据要求,我们只能通过Azure Databricks笔记本访问数据
  3. 我们必须从某些表中提取数据,与其他表连接,聚合
  4. 将数据发送到事件中心

我该如何执行此活动。我认为没有一次性的过程。我计划创建一个笔记本并通过 Azure 数据工厂运行它。将数据泵入 Blob 中,然后使用 .Net 将其发送到事件中心。但是,从 Azure 数据工厂我们只能运行 Azure Databricks 笔记本,不能存储在任何地方

dat*_*ash 5

Azure Databricks 支持 Azure 事件中心作为源和接收器。了解结构化流- 它是 Apache Spark 中的流处理引擎(也可在 Azure Databricks 中使用)

创建一个笔记本来执行所有转换(联接、聚合...) - 假设您正在对 azure 事件中心进行批量写入。

使用 Scala

val connectionString = "Valid EventHubs connection string."
val ehWriteConf = EventHubsConf(connectionString)
df.select("body")
.write
.format("eventhubs")
.options(ehWriteConf.toMap)    
.save()
Run Code Online (Sandbox Code Playgroud)

如果您的查询是流式的,则替换.write为。.writeStream

使用 PySpark

ds = df \
  .select("body") \
  .writeStream \
  .format("eventhubs") \
  .options(**ehWriteConf) \
  .option("checkpointLocation", "///output.txt") \
  .start()
Run Code Online (Sandbox Code Playgroud)

使用 Azure 事件中心时需要考虑的更多事情是关于分区 - 它是可选的,您可以单独发送正文(这将执行循环模型)

更多信息请点击此处
,PySpark 版本请点击此处