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

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

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

本教程介绍如何使用 Azure 门户创建 Azure 数据工厂管道,以便针对 Databricks 作业群集执行 Databricks Notebook, 并在执行过程中向 Databricks Notebook 传递 Azure 数据工厂参数。

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

  • 创建数据工厂。

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

  • 触发管道运行。

  • 监视管道运行。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

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

创建数据工厂

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

  2. 在 Azure 门户菜单上选择“创建资源”,然后依次选择“分析”、“数据工厂” 。

    Screenshot showing Data Factory selection in the New pane.

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

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

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

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

    若要了解有关资源组的详细信息,请参阅 使用资源组管理 Azure 资源

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

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

  6. 对于“名称”,输入“ADFTutorialDataFactory” 。

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

    Screenshot showing the Error when a name is not available.

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

  8. 创建完成后,选择“转到资源”导航到“数据工厂”页。 选择“打开 Azure 数据工厂工作室”磁贴,在单独的浏览器标签页上启动 Azure 数据工厂用户界面 (UI) 应用程序。

    Screenshot showing the home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

创建链接服务

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

创建 Azure Databricks 链接服务

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

    Screenshot showing the Manage tab.

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

    Screenshot showing how to create a new connection.

  3. 在“新建链接服务”窗口中,选择“计算”>“Azure Databricks”,然后选择“继续”。

    Screenshot showing how to specify a Databricks linked service.

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

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

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

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

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

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

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

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

    8. 对于“辅助角色” ,输入 2

    9. 选择创建

      Screenshot showing the configuration of the new Azure Databricks linked service.

创建管道

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

    Screenshot showing buttons for creating a new pipeline.

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

    Screenshot showing how to create a new parameter.

    Screenshot showing how to create the name parameter.

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

    Screenshot showing how to drag the notebook to the designer surface.

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

    1. 切换到 Azure Databricks 选项卡。

    2. 选择 AzureDatabricks_LinkedService(在上一过程中创建)。

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

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

      1. 启动 Azure Databricks 工作区。

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

        Screenshot showing how to create a new folder.

      3. 显示如何创建新笔记本的屏幕截图。 在“adftutorial”文件夹下单击“创建”,然后将其命名为“mynotebook”(Python) 。

        Screenshot showing how to create a new notebook.

        Screenshot showing how to set the properties of the new notebook.

      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)
        

        Screenshot showing how to create widgets for parameters.

      5. 在此示例中,“Notebook 路径”为 /adftutorial/mynotebook 。

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

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

    Screenshot showing how to add a parameter.

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

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

    Screenshot showing how to validate the pipeline.

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

    Screenshot showing how to publish the new data factory entities.

触发管道运行

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

Screenshot showing how to select the 'Trigger now' command.

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

Screenshot showing how to provide a value for the name parameters.

监视管道运行

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

    Screenshot showing how to monitor the pipeline.

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

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

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

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

验证输出

可以登录到“Azure Databricks 工作区” ,转到“群集”,然后就可以看到“作业”状态为“待执行”、“正在运行”或“已终止”。

Screenshot showing how to view the job cluster and the job.

可以先单击“作业名称”,然后通过导航来查看更多详细信息。 成功运行后,即可验证传递的参数和 Python Notebook 的输出。

Screenshot showing how to view the run details and output.

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

  • 创建数据工厂。

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

  • 触发管道运行。

  • 监视管道运行。