通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 数据工厂中的 Databricks Notebook 活动运行 Databricks Notebook

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

Microsoft Fabric 中的 Data Factory 是下一代 Azure 数据工厂,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

在本教程中,您将使用 Azure 门户创建一个 Azure 数据工厂 管道,用于在 Databricks 作业群集上运行 Databricks Notebook。 它还在执行期间将Azure 数据工厂参数传递给 Databricks 笔记本。

在本教程中执行以下步骤:

  • 创建数据工厂。

  • 创建使用 Databricks Notebook 活动的管道。

  • 触发管道运行。

  • 监视管道运行。

如果没有Azure订阅,请在开始前创建 free 帐户

注意

有关如何使用 Databricks Notebook 活动(包括使用库和传递输入和输出参数)的完整详细信息,请参阅 Databricks Notebook 活动文档。

先决条件

  • Azure Databricks workspace创建 Databricks 工作区或使用现有的 Databricks 工作区。 在Azure Databricks工作区中创建Python笔记本。 然后,使用Azure 数据工厂执行笔记本并向其传递参数。

创建数据工厂

  1. 启动 Microsoft Edge Google Chrome Web 浏览器。 目前,数据工厂 UI 仅在 Microsoft Edge 和 Google Chrome Web 浏览器中受支持。

  2. 在Azure门户菜单中选择创建资源,然后选择Analytics>Data Factory

    展示了如何选择“新建”窗格中的“数据工厂”的屏幕截图。

  3. 创建数据工厂页的基本信息选项卡上,选择要在其中创建数据工厂的 Azure 订阅

  4. 对于“资源组”,请执行以下步骤之一:

    1. 从下拉列表中选择现有资源组。

    2. 选择“新建”,并输入新资源组的名称。

    若要了解资源组,请参阅 使用资源组来管理Azure资源

  5. 对于“区域”,选择数据工厂所在的位置。

    该列表仅显示数据工厂支持的位置,以及存储Azure 数据工厂元数据的位置。 数据工厂使用的关联数据存储(如Azure 存储和Azure SQL 数据库)和计算(如Azure HDInsight)可以在其他区域中运行。

  6. 对于名称,输入ADFTutorialDataFactory

    Azure数据工厂的名称必须全球唯一。 如果出现以下错误,请更改数据工厂的名称(例如,使用 <yourname>ADFTutorialDataFactory)。 有关数据工厂项目的命名规则,请参阅数据工厂 - 命名规则一文。

    展示了当名称不可用时出现的错误的屏幕截图。

  7. 对于“版本”,选择“V2”。

  8. 选择“下一步:Git 配置”,然后选择“稍后配置 Git”复选框。

  9. 选择“查看 + 创建”,然后在通过验证后选择“创建” 。

  10. 创建完成后,选择“转到资源”前往“数据工厂”页面。 选择 Open Azure 数据工厂 Studio 磁贴,在单独的浏览器选项卡上启动Azure 数据工厂用户界面(UI)应用程序。

    屏幕截图显示 Azure 数据工厂 的主页,带有 Open Azure 数据工厂 Studio 磁贴。

创建链接服务

在本部分,请创作 Databricks 链接服务。 此链接服务包含 Databricks 群集的连接信息:

创建Azure Databricks链接服务

  1. 在主页上,切换到左侧面板中的“管理”选项卡。

    显示“管理”选项卡的屏幕截图。

  2. 在“连接”下选择“链接服务”,然后选择“+ 新建” 。

    显示如何创建新连接的屏幕截图。

  3. 新链接服务窗口中,选择Compute>Azure Databricks,然后选择Continue

    展示了如何指定 Databricks 链接服务的屏幕截图。

  4. 在“新建链接服务”窗口中完成以下步骤:

    1. 对于“名称”,请输入“AzureDatabricks_LinkedService”

    2. 选择你将在其中运行笔记本的相应 Databricks 工作区

    3. 对于“选择群集”,请选择“新建作业群集”

    4. 对于“Databricks 工作区 URL”,应自动填充信息

    5. 对于 身份验证类型,如果选择 访问令牌,请在 Azure Databricks 工作区生成该令牌。 可以在此处找到步骤。 对于托管服务标识用户分配的托管标识,在 Azure Databricks 资源的访问控制菜单中,将贡献者角色授予这两个标识。

    6. 对于“群集版本”,选择要使用的版本。

    7. 对于“群集节点类型” ,请在本教程的“常规用途(HDD)” 类别下选择“StandardD3v2” 。

    8. 对于工人,输入2

    9. 选择“创建”。

      截图显示新 Azure Databricks 链接服务的配置。

创建管道

  1. 选择“ (加号)”按钮,然后在菜单上选择“管道”+

    显示用于创建新管道的按钮的屏幕截图。

  2. 创建在管道中使用的参数。 稍后请将此参数传递给 Databricks Notebook 活动。 在空管道中选择“参数”选项卡,然后选择“+新建”并将其命名为“名称”。

    显示如何创建新参数的屏幕截图。

    显示如何创建名称参数的屏幕截图。

  3. 在“活动”工具箱中,展开“Databricks”。 将“Notebook”活动从“活动”工具箱拖到管道设计器图面

    屏幕截图显示如何将笔记本拖动到设计器表面。

  4. 在底部 DatabricksNotebook 活动窗口的属性中完成以下步骤:

    1. 切换到 Azure Databricks 选项卡。

    2. 选择 AzureDatabricks_LinkedService,这是你在上一步中所创建的。

    3. 切换到“设置”选项卡。

    4. 浏览以选择 Databricks Notebook 路径。 让我们在此处创建一个 Notebook 并指定路径。 可以通过接下来的几个步骤获取 Notebook 路径。

      1. 启动Azure Databricks工作区。

      2. 在工作区中创建新文件夹,将其称之为 adftutorial

      3. 创建新笔记本,并将其命名为 mynotebook。 右键单击“adftutorial”文件夹,然后选择“创建”

      4. 在新创建的 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)
        
      5. 在此示例中,“Notebook 路径”为 /adftutorial/mynotebook 。

  5. 切换回数据工厂 UI 创作工具界面。 导航到“Notebook1”活动下的“设置”选项卡 。

    a。 向 Notebook 活动添加参数。 使用的参数与此前添加到“管道”的参数相同。

    显示如何添加参数的屏幕截图。

    b. 将参数命名为 input,并以 @pipeline().parameters.name 表达式的形式提供值。

  6. 若要验证管道,请选择工具栏中的“验证”按钮。 若要关闭验证窗口,请选择“关闭”按钮。

    显示如何验证管道的屏幕截图。

  7. 选择“全部发布”。 数据工厂 UI 将实体(链接服务和管道)发布到Azure 数据工厂服务。

    展示了如何发布新数据工厂实体的屏幕截图。

触发管道运行

选择工具栏中的“添加触发器”,然后选择“立即触发” 。

显示如何选择“立即触发”命令的屏幕截图。

“管道运行”对话框要求提供 name 参数。 使用 /path/filename 作为此处的参数。 选择“确定”。

屏幕截图展示如何为名称参数提供值。

监视管道运行

  1. 切换到“监视”选项卡。确认可以看到一个管道运行。 创建用于运行 Notebook 的 Databricks 作业群集需要大约 5-8 分钟。

    显示如何监视管道的屏幕截图。

  2. 定期选择“刷新”以检查管道运行的状态。

  3. 若要查看与管道运行关联的活动运行,请选择“管道名称”列中的“pipeline1”链接

  4. 在“活动运行”页面中,选择“活动名称”列中的“输出”以查看每个活动的输出,可以在“输出”窗格中找到“Databricks 日志”的链接,获取更详细的 Spark 日志 。

  5. 可以通过选择顶部痕迹导航菜单中的“所有管道运行”链接,切换回管道运行视图。

验证输出

可以登录到 Azure Databricks 工作区, 转到 Job Runs,可以看到 Job 状态为 pend execution、running 或 terminated

可以选择“作业名称”,然后通过导航来查看更多详细信息。 成功运行时,可以验证传递的参数和Python笔记本的输出。

总结

本示例中的管道先触发 Databricks Notebook 活动,然后向其传递参数。 你已了解如何执行以下操作:

  • 创建数据工厂。

  • 创建可使用 Databricks Notebook 活动的管道。

  • 触发管道运行。

  • 监视管道运行。