如何使用Azure Databricks和Data Factory建立用于数据转换的通用管道

问题描述

我需要创建一个GUI来获取一些用户输入,并且他们也可以从GUI导入CSV文件。导入文件后,我想使用Azure databricks(pyspark)对文件进行数据转换,并将转换后的数据存储在某个位置,以便用户可以下载转换后的数据。我想知道如何使其成为通用管道,以便组织中的任何人都可以上载他们的文件(该文件可以具有不同的列和数据类型),而databricks进行转换并存储结果。对于所有这些活动,我都想利用Azure平台。

解决方法

您的问题很模糊,但是这里有一些提示。

构建UI,以将文件上传到ADLS Gen2 blob存储中的文件夹。 Example here. 然后,您的ASP.NET应用程序可以使用Jobs API进行转换,从而启动数据砖笔记本。或者,您可以使用Azure中的Event Grid作为替代方法来检测新文件并进行处理。 如果除了数据块外,还需要ADF(Azure数据工厂)中的功能,则可以kick off an ADF job through an upload。您的ADF也可以使用databricks活动来调用databrick。

由于以上所有内容均与您的Web应用程序异步,因此您需要将文件可用通知用户。您可以让UI根据约定和/或元数据检测新文件,或在databricks作业结束时调用Sendgrid(或通过事件网格)以发送通知电子邮件。

因此,有一些选择。保持简单:)