-1

我是 Spark Structured Streaming 及其概念的新手。正在阅读 Azure HDInsight 集群的文档,其中提到结构化流应用程序在 HDInsight 集群上运行并连接到来自 .. Azure 存储或 Azure Data Lake Storage 的流数据。我正在研究如何开始使用流媒体监听来自存储或 ADLS 的新文件创建事件。spark文档确实提供了一个示例,但我正在寻找如何将流与 blob/文件创建事件联系起来,以便我可以将文件内容存储在我的 spark 作业的队列中。如果有人能帮助我解决这个问题,那就太好了。

4

2 回答 2

1

Azure Data Lake Gen2 (ADL2) 仅针对 Hadoop 3.2 发布。开源 Spark 2.4.x 支持 Hadoop 2.7,如果您自己编译它,则支持 Hadoop 3.1。Spark 3 将支持 Hadoop 3.2,但尚未发布(仅预览版)。

Databricks 原生提供对 ADL2 的支持。

我解决这个问题的解决方案是手动修补和编译 Spark 2.4.4 和 Hadoop 3.2,以便能够使用 Microsoft 的 ADL2 库。

于 2020-04-10T15:24:22.923 回答
1

很高兴在这方面为您提供帮助,但您能否更准确地满足要求。是的,你可以在 Azure HDInsight 上运行 Spark 结构化流式处理作业。基本上将 azure blob 存储挂载到集群,然后您可以直接读取 blob 中可用的数据。

val df = spark.read.option("multiLine", true).json("PATH OF BLOB")
于 2020-04-09T04:44:13.960 回答