使用 Azure 数据工厂中的 Databricks Notebook 活动运行 Databricks Notebook
适用于: Azure 数据工厂 Azure Synapse Analytics
本教程介绍如何使用 Azure 门户创建 Azure 数据工厂管道,以便针对 Databricks 作业群集执行 Databricks Notebook, 并在执行过程中向 Databricks Notebook 传递 Azure 数据工厂参数。
在本教程中执行以下步骤:
创建数据工厂。
创建使用 Databricks Notebook 活动的管道。
触发管道运行。
监视管道运行。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
先决条件
- Azure Databricks 工作区。 创建 Databricks 工作区或使用现有的 Databricks 工作区。 在 Azure Databricks 工作区中创建 Python Notebook。 然后使用 Azure 数据工厂执行 Notebook 并向其传递参数。
创建数据工厂
启动 Microsoft Edge 或 Google Chrome Web 浏览器。 目前,仅 Microsoft Edge 和 Google Chrome Web 浏览器支持数据工厂 UI。
在 Azure 门户菜单上选择“创建资源”,然后依次选择“分析”、“数据工厂” 。
在“创建数据工厂”页上的“基本”选项卡下,选择要在其中创建数据工厂的 Azure 订阅 。
对于“资源组”,请执行以下步骤之一:
从下拉列表中选择现有资源组。
选择“新建”,并输入新资源组的名称。
若要了解有关资源组的详细信息,请参阅 使用资源组管理 Azure 资源。
对于“区域”,选择数据工厂所在的位置。
该列表仅显示数据工厂支持的位置,以及 Azure 数据工厂元数据要存储到的位置。 数据工厂使用的关联数据存储(如 Azure 存储和 Azure SQL 数据库)和计算(如 Azure HDInsight)可以在其他区域中运行。
对于“名称”,输入“ADFTutorialDataFactory” 。
Azure 数据工厂的名称必须 全局唯一。 如果出现以下错误,请更改数据工厂的名称(例如,使用 <yourname>ADFTutorialDataFactory)。 有关数据工厂项目的命名规则,请参阅数据工厂 - 命名规则一文。
选择“查看 + 创建”,然后在通过验证后选择“创建” 。
创建完成后,选择“转到资源”导航到“数据工厂”页。 选择“打开 Azure 数据工厂工作室”磁贴,在单独的浏览器标签页上启动 Azure 数据工厂用户界面 (UI) 应用程序。
创建链接服务
在本部分,请创作 Databricks 链接服务。 此链接服务包含 Databricks 群集的连接信息:
创建 Azure Databricks 链接服务
在主页上,切换到左侧面板中的“管理”选项卡。
在“连接”下选择“链接服务”,然后选择“+ 新建” 。
在“新建链接服务”窗口中,选择“计算”>“Azure Databricks”,然后选择“继续”。
在“新建链接服务”窗口中完成以下步骤:
对于“名称”,请输入“AzureDatabricks_LinkedService”。
选择你将在其中运行笔记本的相应 Databricks 工作区。
对于“选择群集”,请选择“新建作业群集” 。
对于“Databrick 工作区 URL”,应自动填充信息。
对于“身份验证类型”,如果选择“访问令牌”,则从 Azure Databricks 工作区生成它。 可以在此处找到步骤。 对于“托管服务标识”和“用户分配的托管标识”,请在 Azure Databricks 资源的“访问控制”菜单中向这两个标识授予“参与者角色”。
对于“群集版本”,选择要使用的版本。
对于“群集节点类型” ,请在本教程的“常规用途(HDD)” 类别下选择“StandardD3v2” 。
对于“辅助角色” ,输入 2。
选择“创建”。
创建管道
选择“+ (加)”按钮,然后在菜单上选择“管道”。
创建在管道中使用的参数。 稍后请将此参数传递给 Databricks Notebook 活动。 在空管道中选择“参数”选项卡,然后选择“+ 新建”并将其命名为“name” 。
在“活动” 工具箱中,展开“Databricks” 。 将“Notebook”活动从“活动”工具箱拖到管道设计器图面。
在底部 Databricks Notebook 活动窗口的属性中完成以下步骤:
切换到 Azure Databricks 选项卡。
选择 AzureDatabricks_LinkedService(在上一过程中创建)。
切换到“设置”选项卡。
浏览以选择 Databricks Notebook 路径。 让我们在此处创建一个 Notebook 并指定路径。 可以通过后续数个步骤获取 Notebook 路径。
启动 Azure Databricks 工作区。
在工作区中创建新文件夹,将其称之为 adftutorial。
显示如何创建新笔记本的屏幕截图。 在“adftutorial”文件夹下单击“创建”,然后将其命名为“mynotebook”(Python) 。
在新创建的 Notebook“mynotebook”中添加以下代码:
# Creating widgets for leveraging parameters, and printing the parameters dbutils.widgets.text("input", "","") y = dbutils.widgets.get("input") print ("Param -\'input':") print (y)
在此示例中,“Notebook 路径”为 /adftutorial/mynotebook 。
切换回“数据工厂 UI 创作工具”。 导航到“Notebook1”活动下的“设置”选项卡 。
a. 向 Notebook 活动添加参数。 使用的参数与此前添加到“管道”的参数相同。
b. 将参数命名为 input,并以 @pipeline().parameters.name 表达式的形式提供值。
若要验证管道,请选择工具栏中的“验证”按钮。 若要关闭验证窗口,请选择“关闭”按钮。
选择“全部发布”。 数据工厂 UI 会将实体(链接服务和管道)发布到 Azure 数据工厂服务。
触发管道运行
选择工具栏中的“添加触发器”,然后选择“立即触发” 。
“管道运行”对话框要求提供 name 参数 。 使用 /path/filename 作为此处的参数。 选择“确定”。
监视管道运行
切换到“监视”选项卡。 确认可以看到一个管道运行。 创建执行 Notebook 所在的 Databricks 作业群集需要大约 5-8 分钟。
定期选择“刷新”以检查管道运行的状态。
若要查看与管道运行关联的活动运行,请选择“管道名称”列中的“管道 1”链接 。
在“活动运行”页面中,选择“活动名称”列中的“输出”以查看每个活动的输出,可以在“输出”窗格中找到“Databricks 日志”的链接,获取更详细的 Spark 日志 。
可以切换回“管道运行”视图,方法是选择顶部痕迹导航菜单中的“所有管道运行”链接。
验证输出
可以登录到“Azure Databricks 工作区” ,转到“群集”,然后就可以看到“作业”状态为“待执行”、“正在运行”或“已终止”。
可以先单击“作业名称”,然后通过导航来查看更多详细信息。 成功运行后,即可验证传递的参数和 Python Notebook 的输出。
相关内容
本示例中的管道先触发 Databricks Notebook 活动,然后向其传递参数。 你已了解如何执行以下操作:
创建数据工厂。
创建使用 Databricks Notebook 活动的管道。
触发管道运行。
监视管道运行。