练习 - 在 Azure 数据工厂中使用计算转换

已完成

在某些情况下,大规模无代码转换可能无法满足你的要求。 可以使用 Azure 数据工厂引入从不同源收集的原始数据,并按照要求处理一系列计算资源,例如 Azure Databricks、Azure HDInsight 或其他计算资源,以对其进行重构。

ADF 和 Azure Databricks

例如,Azure Databricks 与 ADF 的集成允许在 ADF 管道中添加 Databricks 笔记本,以利用 Databricks 的分析和数据转换功能。 可以在数据工作流中添加笔记本,以构建和转换从不同源加载到 ADF 中的原始数据。 使用 Databricks 转换数据后,即可将其加载到任何数据仓库源。

使用 ADF 和 Azure Databricks 的集体功能进行数据引入和转换实质上涉及以下步骤:

  1. 创建 Azure 存储帐户 - 第一步是创建 Azure 存储帐户来存储引入和转换的数据。

  2. 创建 Azure 数据工厂 - 设置存储帐户后,需要使用 Azure 门户创建 Azure 数据工厂。

  3. 创建数据工作流管道 - 存储和 ADF 启动并运行后,首先创建管道,其中第一步是使用 ADF 的复制活动从源复制数据。 复制活动允许从不同的本地和云源复制数据。

  4. 将 Databricks 笔记本添加到管道 - 将数据复制到 ADF 后,在复制活动后,将 Databricks 笔记本添加到管道。 此笔记本可能包含用于根据需要转换和清理原始数据的语法和代码。

  5. 对数据执行分析 - 将数据清理并结构化为所需格式后,可以使用 Databricks 笔记本进一步训练或分析数据以输出所需的结果。

你了解了什么是 Azure 数据工厂及其与 Azure Databricks 的集成如何帮助你加载和转换数据。 现在,让我们创建一个端到端的示例数据工作流。

将 Azure Databricks 笔记本与 Azure 数据工厂管道集成

需要执行许多任务才能将 Azure Databricks 笔记本与 Azure 数据工厂管道集成,如下所示:

  1. 生成 Databricks 访问令牌。

  2. 生成 Databricks 笔记本

  3. 创建链接服务

  4. 创建使用 Databricks 笔记本活动的管道。

  5. 触发管道运行。

    注释

    以下步骤假定已预配 Azure Databricks 群集

任务 1:生成 Databricks 访问令牌。

  1. 在 Azure 门户中,单击 资源组 ,然后单击 awrgstudxx,然后单击 awdbwsstudxx ,其中 xx 是名称的缩写。

  2. 单击“ 启动工作区”

  3. 单击 Databricks 工作区左下角的用户 设置

  4. 单击“ 用户设置”。

  5. 转到“访问令牌”选项卡,然后单击“ 生成新令牌 ”按钮。

  6. 注释“For ADF Integration”中输入说明,并设置 10 天的生存期,然后单击“生成

  7. 复制生成的令牌并将其存储在记事本中,然后单击“ 完成”。

任务 2:生成 Databricks 笔记本

  1. 在屏幕左侧,单击 “工作区 ”图标,然后单击“工作区”旁边的箭头,然后单击“ 创建 ”,然后单击“ 文件夹”。 将文件夹命名 为 adftutorial,然后单击“ 创建文件夹”。 adftutorial 文件夹显示在工作区中。

  2. 单击 adftutorial 旁边的下拉箭头,然后单击“ 创建”,然后单击“ 笔记本”。

  3. 在“创建笔记本”对话框中,键入 mynotebook 的名称,并确保语言状态 为 Python,然后单击“ 创建”。 标题为 mynotebook 的笔记本出现了。

  4. 在新创建的 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:创建链接服务

  1. 在 Microsoft Edge 中,单击 Azure 门户中门户的选项卡,然后返回到 Azure 数据工厂,然后单击“打开 Azure 数据工厂工作室”。

  2. 在屏幕左侧,单击“ 管理 ”图标。

  3. “连接”下,单击 “链接服务”。

  4. 链接服务中,在屏幕顶部,单击“ + 新建

  5. 单击“ 计算 ”选项卡,单击 “Azure Databricks”,然后单击“ 继续”。

  6. “新建链接服务”(Azure Databricks)屏幕中,填写以下详细信息,然后单击“完成

    • 名称:xx_dbls,其中 xx 是缩写
    • Databricks 工作区:awdbwsstudxx,其中 xx 是你的缩写
    • 选择群集:使用现有群集
    • 域/区域:应填充
    • 访问令牌:从记事本复制访问令牌并粘贴到此字段中
    • 从现有群集中进行选择:awdbclstudxx,其中 xx 是缩写
    • 将其他选项保留为其默认设置

    注释

    单击“完成”后,将返回到“创作和监视”屏幕,其中已创建 xx_dbls,并包含在先前练习中创建的其他链接服务

任务 4:创建使用 Databricks 笔记本活动的管道。

  1. 在屏幕左侧,单击“ 作者 ”图标,然后单击“ 管道”。 这会打开包含管道设计器的选项卡。

  2. 在管道设计器底部,单击“参数”选项卡,然后单击“+ 新建

  3. 创建一个名为name、类型为字符串的参数

  4. 在“活动”菜单下,展开 Databricks

  5. 单击 笔记本 并将其拖到画布上。

  6. 在底部 Notebook1 窗口的属性中,完成以下步骤:

    • 切换到 “Azure Databricks ”选项卡。

    • 选择在前面的过程中创建的 xx_dbls

    • 切换到 “设置” 选项卡,并将 /adftutorial/mynotebook 放在笔记本路径中。

    • 展开基本参数,然后单击“+ 新建

    • 使用 输入名称创建参数,其值为 @pipeline()。parameters.name

  7. Notebook1 中,单击“另存为模板”按钮旁边的“ 验证”。 屏幕右侧将显示一个窗口,内容为“已验证你的管道。 未发现任何错误。单击 >> 关闭窗口。

  8. 单击“全部发布”,发布链接服务和管道

    注释

    将显示一条消息,指出部署成功。

任务 5:触发管道运行

  1. Notebook1 中,单击“ 添加触发器”,然后单击“调试”按钮旁边的“ 立即触发 ”。

  2. 管道运行 ”对话框要求提供名称参数。 在此处使用 /path/filename 作为参数。 单击“完成”。 画布中 "Notebook1" 活动上方出现一个红色圆圈。

任务 6:监视管道

  1. 在屏幕左侧,单击“监视”选项卡。确认看见了一个管道运行。 创建用于运行 Notebook 的 Databricks 作业群集需要大约 5-8 分钟。

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

  3. 若要查看与管道运行关联的活动运行,请选择“操作”列中的“查看活动运行”

任务 7:验证输出

  1. 在 Microsoft Edge 中,单击 mynotebook 选项卡 - Databricks

  2. Azure Databricks 工作区中,单击 集群,即可查看作业状态为待执行、正在运行或已终止。

  3. 单击群集 awdbclstudxx,然后单击 事件日志 以查看活动。

    注释

    应会看到事件类型为“启动”,以及触发管道运行的时间