使用 Azure Databricks 作业创建第一个工作流

本文演示编排读取和处理示例数据集等任务的 Azure Databricks 作业。 在本快速入门中,请执行以下操作:

  1. 创建新笔记本并添加代码,以检索包含按年份排列的常用婴儿姓名的示例数据集。
  2. 将示例数据集保存到 DBFS。
  3. 创建新的笔记本并添加代码,以从 DBFS 读取数据集,按年份对其进行筛选,并显示结果。
  4. 使用笔记本创建新作业并配置两个任务。
  5. 运行作业并查看结果。

要求

必须拥有用于创建作业群集的群集创建权限或常规用途群集的权限

创建笔记本

检索和保存数据

要创建笔记本以检索示例数据集并将其保存到 DBFS,请执行以下操作:

  1. 转到 Azure Databricks 登陆页,选择“创建笔记本”,或单击边栏中的 新建图标“新建”,然后选择“笔记本”。 此时会显示“创建笔记本”对话框。

  2. 在“创建笔记本”对话框中,为笔记本命名,例如“检索婴儿姓名” 。 从“默认语言”下拉菜单中选择“Python” 。 可将“群集”设置为默认值。 在使用此笔记本创建任务时配置群集。

  3. 单击“创建”。

  4. 复制以下 Python 代码并将其粘贴到笔记本的第一个单元格中。

    import requests
    
    response = requests.get('http://health.data.ny.gov/api/views/myeu-hzra/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("dbfs:/FileStore/babynames.csv", csvfile, True)
    

读取和显示经过筛选的数据

若要创建一个笔记本以读取和显示要筛选的数据,请执行以下操作:

  1. 转到 Azure Databricks 登陆页,选择“创建笔记本”,或单击边栏中的 新建图标“新建”,然后选择“笔记本”。 此时会显示“创建笔记本”对话框。

  2. 在“创建笔记本”对话框中,为笔记本命名,例如“筛选婴儿姓名” 。 从“默认语言”下拉菜单中选择“Python” 。 可将“群集”设置为默认值。 在使用此笔记本创建任务时配置群集。

  3. 单击“创建”。

  4. 复制以下 Python 代码并将其粘贴到笔记本的第一个单元格中。

    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("dbfs:/FileStore/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").rdd.map(lambda row : row[0]).collect()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
    

创建作业

  1. 单击边栏中的 作业图标“工作流”。

  2. 单击 “创建作业”按钮

    “任务”选项卡显示“创建任务”对话框。

    创建第一个任务对话框

  3. 将“为作业添加名称…”替换为你的作业名称。

  4. 在“任务名称”字段中,输入任务的名称,例如 retrieve-baby-names 。

  5. 在“类型”下拉菜单中,选择“笔记本” 。

  6. 使用文件资源管理器查找你创建的第一个笔记本,单击笔记本名称,再单击“确认”。

  7. 单击“创建任务”。

  8. 单击刚刚创建的任务下方的“添加任务”按钮以添加其他任务。

  9. 在“任务名称”字段中,输入任务的名称,例如 filter-baby-names 。

  10. 在“类型”下拉菜单中,选择“笔记本” 。

  11. 使用文件资源管理器查找你创建的第二个笔记本,单击笔记本名称,再单击“确认”。

  12. 在“参数”下单击“添加” 。 在“键”字段中,选择 。 在“值”字段中,输入

  13. 单击“创建任务”。

运行作业

若要立即运行作业,请单击右上角的 “立即运行”按钮。 也可以通过单击“运行”选项卡并单击“活动运行”表中的“立即运行”来运行作业 。

查看运行详细信息

  1. 单击“运行”选项卡,然后单击“活动运行”表或“已完成的运行数(过去 60 天)”表中的运行所对应的链接。

  2. 单击任一任务,查看输出和详细信息。 例如,单击 filter-baby-names 任务可查看筛选任务的状态和输出:

    查看筛选器名称结果

使用不同的参数运行

若要重新运行作业并筛选不同年份的婴儿姓名,请执行以下操作:

  1. 单击“立即运行”旁边的 蓝色向下插入符号,然后选择“使用不同的参数立即运行”或单击活动运行表中的“使用不同的参数立即运行”。
  2. 在“值”字段中,输入 2015
  3. 单击 “运行”