使用 Azure Databricks 作业创建第一个工作流
本文演示编排读取和处理示例数据集等任务的 Azure Databricks 作业。 在本快速入门中,请执行以下操作:
- 创建新笔记本并添加代码,以检索包含按年份排列的常用婴儿姓名的示例数据集。
- 将示例数据集保存到 Unity Catalog。
- 创建新的笔记本并添加代码,以从 Unity Catalog 读取数据集,按年份对其进行筛选,并显示结果。
- 使用笔记本创建新作业并配置两个任务。
- 运行作业并查看结果。
要求
你必须拥有创建作业计算的群集创建权限或对通用计算资源的权限。
Unity Catalog 中必须有一个卷。 本文在名为 main
的目录中使用 default
架构中的 my-volume
卷。 此外,你必须在 Unity Catalog 中具有以下权限:
READ VOLUME
和WRITE VOLUME
或ALL PRIVILEGES
(对于my-volume
卷)。USE SCHEMA
或ALL PRIVILEGES
(对于default
架构)。USE CATALOG
或ALL PRIVILEGES
(对于main
目录)。
若要设置这些权限,请联系 Databricks 管理员或参阅 Unity Catalog 特权和安全对象。
创建笔记本
检索和保存数据
要创建笔记本以检索示例数据集并将其保存到 Unity Catalog,请执行以下操作:
转到 Azure Databricks 登陆页,并在边栏中单击 “新建”,然后选择“笔记本”。 Databricks 会在默认文件夹中创建一个新的空白笔记本并将其打开。 默认语言是你最近使用的语言,笔记本会自动附加到你最近使用的计算资源。
如果需要,可将默认语言更改为 Python。
复制以下 Python 代码并将其粘贴到笔记本的第一个单元格中。
import requests response = requests.get('https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv') csvfile = response.content.decode('utf-8') dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)
读取和显示经过筛选的数据
若要创建一个笔记本以读取和显示要筛选的数据,请执行以下操作:
转到 Azure Databricks 登陆页,并在边栏中单击 “新建”,然后选择“笔记本”。 Databricks 会在默认文件夹中创建一个新的空白笔记本并将其打开。 默认语言是你最近使用的语言,笔记本会自动附加到你最近使用的计算资源。
如果需要,可将默认语言更改为 Python。
复制以下 Python 代码并将其粘贴到笔记本的第一个单元格中。
babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv") babynames.createOrReplaceTempView("babynames_table") years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist() years.sort() dbutils.widgets.dropdown("year", "2014", [str(x) for x in years]) display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
创建作业
在边栏中,单击 “工作流”。
单击 。
“任务”选项卡显示“创建任务”对话框。
将“为作业添加名称…”替换为你的作业名称。
在“任务名称”字段中,输入任务的名称,例如 retrieve-baby-names 。
在“类型”下拉菜单中选择“笔记本”。
使用文件资源管理器查找你创建的第一个笔记本,单击笔记本名称,再单击“确认”。
单击“创建任务”。
单击刚刚创建的任务下方的按钮以添加其他任务。
在“任务名称”字段中,输入任务的名称,例如 filter-baby-names 。
在“类型”下拉菜单中选择“笔记本”。
使用文件资源管理器查找你创建的第二个笔记本,单击笔记本名称,再单击“确认”。
在“参数”下单击“添加” 。 在“键”字段中,选择
year
。 在“值”字段中,输入2014
。单击“创建任务”。
运行作业
若要立即运行作业,请单击右上角的 。 也可以通过单击“运行”选项卡并单击“活动运行”表中的“立即运行”来运行作业 。
查看运行详细信息
单击“运行”选项卡,然后单击“活动运行”表或“已完成的运行数(过去 60 天)”表中的运行所对应的链接。
单击任一任务,查看输出和详细信息。 例如,单击 filter-baby-names 任务可查看筛选任务的输出和运行详细信息:
使用不同的参数运行
若要重新运行作业并筛选不同年份的婴儿姓名,请执行以下操作: