在本教程中,你将生成数据流,将数据从 Northwind OData 源移动到 ADLS Gen2 目标,然后在 Databricks 的笔记本中读取该数据。
先决条件
若要开始,必须满足以下先决条件:
- 确保具有非默认“我的工作区”的已启用 Microsoft Fabric 的工作区。
- 请确保已设置 Databricks 工作区。 有关详细信息,请参阅 Microsoft Azure 中创建 Databricks 工作区。
- 请确保有权访问 ADLS Gen2 存储帐户。 有关详细信息,请参阅 创建存储帐户
创建新的数据流 Gen2
若要在 Fabric 工作区中创建新的数据流 Gen2,请执行以下步骤:
在 Fabric 工作区中,选择“ 新建项>数据流 Gen2”。
当数据流 Gen2 画布打开时,你将看到 Power Query 编辑器界面,你可以在其中开始生成数据转换流。
连接到 Northwind OData 数据源
接下来,连接到 Northwind OData 源以检索示例数据:
在 Power Query 编辑器中,选择“从功能区 获取数据 ”。
在“ 选择数据源 ”对话框中,搜索“OData”并选择 “OData”。
在 OData 对话框中,输入以下 URL:
https://services.odata.org/V3/Northwind/Northwind.svc/选择 “确定” 以使用匿名连接连接到 OData 源。
在 “导航器 ”窗口中,你将看到 Northwind 数据库中的可用表。 对于本教程,请选择 “客户 ”和“ 订单 ”表。
选择 “转换数据 ”以继续执行数据转换阶段。
转换数据
现在,你将应用一些基本转换来准备数据:
选中 “客户 ”表后,可以看到数据的预览。 通过选择要保留的列删除不必要的列:
- 客户编号
- 公司名称
- 联系姓名
- 国家
- City
右键单击任何所选列,然后选择“ 删除其他列”。
切换到 “订单 ”表并保留以下列:
- 订单编号
- 客户编号
- 订单日期
- 发货日期
- 运费
应用相同的“删除其他列”操作。
配置 ADLS Gen2 目标
现在,您需要将目标路径配置为将数据写入 ADLS Gen2 存储账户:
在“查询”窗格中选择 “客户 ”查询。
在底部显示的 “数据目标 ”部分中,选择 + 添加新目标。
从目标选项中选择 Azure Data Lake Storage Gen2。
在 “连接到数据目标 ”对话框中,配置连接设置:
连接设置:
-
URL:以以下格式输入 ADLS Gen2 存储帐户 URL:
https://[storageaccountname].dfs.core.windows.net
连接凭据:
- 连接:从下拉列表中选择 “创建新连接 ”
- 连接名称:输入此连接的描述性名称(例如“ADLS Gen2 连接”)
- 数据网关:为基于云的存储选择(无)
- 身份验证类型:选择 组织帐户 以使用 Microsoft 365 凭据
- 隐私级别:为本教程选择“无”
注释
你将看到当前已登录帐户。 如果需要,可以通过选择 “切换帐户”来切换帐户。
-
URL:以以下格式输入 ADLS Gen2 存储帐户 URL:
选择“下一步”继续操作。
在 “选择目标目标 ”对话框中,配置目标设置:
在左侧,你将看到存储帐户结构。 导航到并选择所需的容器(例如“mydatacontainer”)。
在右侧,配置文件设置:
- 文件名:输入文件的名称(例如,“Customers.csv” )。 系统将显示预览“将在 Azure Data Lake Storage Gen2 中创建一个新文件”
- 文件格式:从下拉列表中选择带分隔符的文本
- 文件源:选择 65001:Unicode (UTF-8) 进行正确的字符编码
- 分隔符:选择 逗号 作为字段分隔符
选择 “下一步 ”以继续执行目标设置配置。
在“ 选择目标设置 ”对话框中,查看列映射和设置。 可以保留本教程的所有默认设置。
选择“ 保存设置” 以确认目标配置。
对 Orders 查询重复步骤 1-9,使用类似“Orders.csv”的文件名。
保存并运行数据流
在功能区选择保存并运行,以立即执行数据流。
监视执行状态。 完成后,数据将在 ADLS Gen2 存储帐户中作为 CSV 文件提供。
建立 Databricks 笔记本
现在,你将创建一个 Databricks 笔记本来读取 ADLS Gen2 中的数据:
在 Databricks 中创建新笔记本
在 Databricks 工作区中,选择“ 创建>笔记本”。
为笔记本命名,例如“Northwind-Data-Analysis”,然后选择 Python 作为语言。
配置 ADLS Gen2 连接
在笔记本的第一个单元中,添加以下代码以配置与 ADLS Gen2 帐户的连接:
# Configure ADLS Gen2 connection storage_account_name = "your_storage_account_name" storage_account_key = "your_storage_account_key" container_name = "mydatacontainer" # Use the same container name you configured in the dataflow spark.conf.set( f"fs.azure.account.key.{storage_account_name}.dfs.core.windows.net", storage_account_key )重要
将
your_storage_account_name和your_storage_account_key替换为您的实际 ADLS Gen2 凭据。 对于生产环境,请考虑使用 Azure Key Vault 或其他安全凭据管理方法。按 Shift + Enter 运行单元格。
读取 CSV 文件
注释
以下示例中的文件路径假定文件直接存储在容器根目录中。 根据在数据流中配置目标的方式调整路径。 例如,如果在目标设置期间指定了文件夹结构或其他文件名,请相应地更新路径。
在新单元格中,添加代码以读取 Customers 数据:
# Read Customers data customers_path = f"abfss://{container_name}@{storage_account_name}.dfs.core.windows.net/Customers.csv" customers_df = spark.read.format("csv") \ .option("header", "true") \ .option("inferSchema", "true") \ .load(customers_path) # Display the data customers_df.show(10)在另一个单元格内读取订单数据:
# Read Orders data orders_path = f"abfss://{container_name}@{storage_account_name}.dfs.core.windows.net/Orders.csv" orders_df = spark.read.format("csv") \ .option("header", "true") \ .option("inferSchema", "true") \ .load(orders_path) # Display the data orders_df.show(10)
验证解决方案
验证一切是否正常工作:
检查 ADLS Gen2:在 Azure 门户中导航到存储帐户,并验证指定的容器和文件夹中是否存在 CSV 文件。
监视数据流:在 Fabric 工作区中,检查数据流刷新历史记录以确保成功执行。
验证 Databricks 中的数据:运行笔记本单元格,并验证数据是否已从 ADLS Gen2 正确地读取。
清理资源
完成本教程后,可以删除资源以避免产生额外费用:
- 从您的 Fabric 工作区中删除 Dataflow Gen2
- 从 ADLS Gen2 存储帐户中删除 CSV 文件
- 删除 Databricks 笔记本
相关内容
本教程介绍了如何使用数据流 Gen2 从 OData 源中提取数据,将其加载到 ADLS Gen2 中,并在 Databricks 中对其进行分析。 你已了解如何执行以下操作:
- 在 Microsoft Fabric 中创建数据流 Gen2
- 连接到 OData 源(Northwind 数据库)
- 使用 Power Query 转换和清理数据
- 将 ADLS Gen2 配置为 CSV 文件的目标
- 设置具有 ADLS Gen2 连接功能的 Databricks 笔记本
- 从 Databricks 中的 ADLS Gen2 读取和分析数据
接下来,请继续了解有关监视数据流运行和生成更复杂的数据管道的详细信息。