练习 - 在 Azure 数据工厂中使用计算转换
在某些情况下,大规模无代码转换可能无法满足你的要求。 可以使用 Azure 数据工厂引入从不同源收集的原始数据,并按照要求处理一系列计算资源,例如 Azure Databricks、Azure HDInsight 或其他计算资源,以对其进行重构。
ADF 和 Azure Databricks
例如,Azure Databricks 与 ADF 的集成允许在 ADF 管道中添加 Databricks 笔记本,以利用 Databricks 的分析和数据转换功能。 可以在数据工作流中添加笔记本,以构建和转换从不同源加载到 ADF 中的原始数据。 使用 Databricks 转换数据后,即可将其加载到任何数据仓库源。
使用 ADF 和 Azure Databricks 的集体功能进行数据引入和转换实质上涉及以下步骤:
创建 Azure 存储帐户 - 第一步是创建 Azure 存储帐户来存储引入和转换的数据。
创建 Azure 数据工厂 - 设置存储帐户后,需要使用 Azure 门户创建 Azure 数据工厂。
创建数据工作流管道 - 存储和 ADF 启动并运行后,首先创建管道,其中第一步是使用 ADF 的复制活动从源复制数据。 复制活动允许从不同的本地和云源复制数据。
将 Databricks 笔记本添加到管道 - 将数据复制到 ADF 后,在复制活动后,将 Databricks 笔记本添加到管道。 此笔记本可能包含用于根据需要转换和清理原始数据的语法和代码。
对数据执行分析 - 将数据清理并结构化为所需格式后,可以使用 Databricks 笔记本进一步训练或分析数据以输出所需的结果。
你了解了什么是 Azure 数据工厂及其与 Azure Databricks 的集成如何帮助你加载和转换数据。 现在,让我们创建一个端到端的示例数据工作流。
将 Azure Databricks 笔记本与 Azure 数据工厂管道集成
需要执行许多任务才能将 Azure Databricks 笔记本与 Azure 数据工厂管道集成,如下所示:
生成 Databricks 访问令牌。
生成 Databricks 笔记本
创建链接服务
创建使用 Databricks 笔记本活动的管道。
触发管道运行。
注释
以下步骤假定已预配 Azure Databricks 群集
任务 1:生成 Databricks 访问令牌。
在 Azure 门户中,单击 资源组 ,然后单击 awrgstudxx,然后单击 awdbwsstudxx ,其中 xx 是名称的缩写。
单击“ 启动工作区”
单击 Databricks 工作区左下角的用户 设置 。
单击“ 用户设置”。
转到“访问令牌”选项卡,然后单击“ 生成新令牌 ”按钮。
在注释“For ADF Integration”中输入说明,并设置 10 天的生存期,然后单击“生成”
复制生成的令牌并将其存储在记事本中,然后单击“ 完成”。
任务 2:生成 Databricks 笔记本
在屏幕左侧,单击 “工作区 ”图标,然后单击“工作区”旁边的箭头,然后单击“ 创建 ”,然后单击“ 文件夹”。 将文件夹命名 为 adftutorial,然后单击“ 创建文件夹”。 adftutorial 文件夹显示在工作区中。
单击 adftutorial 旁边的下拉箭头,然后单击“ 创建”,然后单击“ 笔记本”。
在“创建笔记本”对话框中,键入 mynotebook 的名称,并确保语言状态 为 Python,然后单击“ 创建”。 标题为 mynotebook 的笔记本出现了。
在新创建的 Notebook“mynotebook”中添加以下代码:
# Creating widgets for leveraging parameters, and printing the parameters dbutils.widgets.text("input", "","") dbutils.widgets.get("input") y = getArgument("input") print ("Param -\'input':") print (y)注释
笔记本路径为 /adftutorial/mynotebook
任务 3:创建链接服务
在 Microsoft Edge 中,单击 Azure 门户中门户的选项卡,然后返回到 Azure 数据工厂,然后单击“打开 Azure 数据工厂工作室”。
在屏幕左侧,单击“ 管理 ”图标。
在 “连接”下,单击 “链接服务”。
在 链接服务中,在屏幕顶部,单击“ + 新建”
单击“ 计算 ”选项卡,单击 “Azure Databricks”,然后单击“ 继续”。
在“新建链接服务”(Azure Databricks)屏幕中,填写以下详细信息,然后单击“完成”
- 名称:xx_dbls,其中 xx 是缩写
- Databricks 工作区:awdbwsstudxx,其中 xx 是你的缩写
- 选择群集:使用现有群集
- 域/区域:应填充
- 访问令牌:从记事本复制访问令牌并粘贴到此字段中
- 从现有群集中进行选择:awdbclstudxx,其中 xx 是缩写
- 将其他选项保留为其默认设置
注释
单击“完成”后,将返回到“创作和监视”屏幕,其中已创建 xx_dbls,并包含在先前练习中创建的其他链接服务。
任务 4:创建使用 Databricks 笔记本活动的管道。
在屏幕左侧,单击“ 作者 ”图标,然后单击“ 管道”。 这会打开包含管道设计器的选项卡。
在管道设计器底部,单击“参数”选项卡,然后单击“+ 新建”
创建一个名为name、类型为字符串的参数
在“活动”菜单下,展开 Databricks。
单击 笔记本 并将其拖到画布上。
在底部 Notebook1 窗口的属性中,完成以下步骤:
切换到 “Azure Databricks ”选项卡。
选择在前面的过程中创建的 xx_dbls。
切换到 “设置” 选项卡,并将 /adftutorial/mynotebook 放在笔记本路径中。
展开基本参数,然后单击“+ 新建”
使用 输入名称创建参数,其值为 @pipeline()。parameters.name
在 Notebook1 中,单击“另存为模板”按钮旁边的“ 验证”。 屏幕右侧将显示一个窗口,内容为“已验证你的管道。 未发现任何错误。单击 >> 关闭窗口。
单击“全部发布”,发布链接服务和管道。
注释
将显示一条消息,指出部署成功。
任务 5:触发管道运行
在 Notebook1 中,单击“ 添加触发器”,然后单击“调试”按钮旁边的“ 立即触发 ”。
“ 管道运行 ”对话框要求提供名称参数。 在此处使用 /path/filename 作为参数。 单击“完成”。 画布中 "Notebook1" 活动上方出现一个红色圆圈。
任务 6:监视管道
在屏幕左侧,单击“监视”选项卡。确认看见了一个管道运行。 创建用于运行 Notebook 的 Databricks 作业群集需要大约 5-8 分钟。
定期选择“刷新”以检查管道运行的状态。
若要查看与管道运行关联的活动运行,请选择“操作”列中的“查看活动运行”。
任务 7:验证输出
在 Microsoft Edge 中,单击 mynotebook 选项卡 - Databricks
在 Azure Databricks 工作区中,单击 集群,即可查看作业状态为待执行、正在运行或已终止。
单击群集 awdbclstudxx,然后单击 事件日志 以查看活动。
注释
应会看到事件类型为“启动”,以及触发管道运行的时间。