Skip to content

Commit

Permalink
Copy Files From Source Repo (2024-02-09 17:34)
Browse files Browse the repository at this point in the history
  • Loading branch information
olprod committed Feb 10, 2024
1 parent 0139e1f commit 713e693
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 53 deletions.
25 changes: 12 additions & 13 deletions Instructions/Labs/01-lakehouse.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ lab:

在 Fabric 中处理数据之前,创建一个已启用的 Fabric 试用版的工作区。

1.[Microsoft Fabric 主页](https://app.fabric.microsoft.com)中,选择“Synapse 数据工程”****
1.`https://app.fabric.microsoft.com`[Microsoft Fabric 主页](https://app.fabric.microsoft.com)中,选择“Synapse 数据工程”****
1. 在左侧菜单栏中,选择“工作区”(图标类似于 🗇)。
1. 新建一个工作区并为其指定名称,并选择包含 Fabric 容量(试用版、高级版或 Fabric)的许可模式 。
1. 新建一个工作区并为其指定名称,并在“高级”部分选择包含 Fabric 容量(试用版、高级版或 Fabric)的许可模式 。
1. 打开新工作区时,它应为空。

![Fabric 中空工作区的屏幕截图。](./Images/new-workspace.png)
Expand All @@ -45,7 +45,7 @@ lab:

Fabric 提供了多种将数据加载到湖屋的方法,包括对复制数据外部源和可以基于 Power Query 使用可视化工具定义的数据流 (Gen 2) 的管道的内置支持。 但是,引入少量数据的最简单方法之一是从本地计算机(或实验室 VM,如果适用)上传文件或文件夹。

1.[https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/sales.csv](https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/sales.csv) 下载 sales.csv 文件,在本地计算机(或实验室 VM,如果适用)上将其保存为 sales.csv。
1.`https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/sales.csv` 下载 sales.csv 文件,在本地计算机(或实验室 VM,如果适用)上将其保存为 sales.csv。

> 注意:若要下载文件,请在浏览器中打开一个新选项卡并粘贴 URL。 右键单击包含数据的页面上的任意位置,然后选择“另存为”,将页面另存为 CSV 文件。
Expand Down Expand Up @@ -88,9 +88,7 @@ Fabric 提供了多种将数据加载到湖屋的方法,包括对复制数据

创建湖屋并在其中定义表时,会自动创建一个 SQL 终结点,通过该终结点可以使用 SQL `SELECT` 语句查询表。

1. 在湖屋页面的右上角,从湖屋切换到 SQL 终结点。 然后等待一小段时间,直到湖屋的 SQL 查询终结点在可视化界面中打开,可以从该界面查询其表,如下所示:

![“SQL 终结点”页面的屏幕截图。](./Images/lakehouse-sql-endpoint.png)
1. 在湖屋页面的右上角,从湖屋切换到 SQL 分析终结点。******** 然后等待一小段时间,直到湖屋的 SQL 分析终结点在可视化界面中打开,可以从该界面查询其表。

2. 使用“新建 SQL 查询”按钮打开新的查询编辑器,并输入以下 SQL 查询:

Expand Down Expand Up @@ -131,13 +129,14 @@ Fabric 提供了多种将数据加载到湖屋的方法,包括对复制数据

## 创建报表

湖屋中的表会自动添加到默认数据集中,该数据集定义用于使用 Power BI 进行报告的数据模型。
湖屋中的表会自动添加到默认语义模型,以便使用 Power BI 进行报告。


1. 在“SQL 终结点”页底部,选择“模型”选项卡。数据集的数据模型架构将显示
1. 在“SQL 终结点”页底部,选择“模型”选项卡。**** 显示语义模型的数据模型架构

![数据模型的屏幕截图。](./Images/data-model.png)
![语义模型的屏幕截图。](./Images/data-model.png)

> 注意:在本练习中,数据模型由单个表组成。 在实际场景中,你可能会在湖屋中创建多个表,每个表都将包含在模型中。 然后,可以在模型中定义这些表之间的关系。
> **注意**:在本练习中,数据模型由单个表组成。 在实际场景中,你可能会在湖屋中创建多个表,每个表都将包含在模型中。 然后,可以在模型中定义这些表之间的关系。

2. 在菜单功能区中,选择“报告”选项卡。然后选择“新建报表” 。 此时会打开一个新的浏览器选项卡,你可以在其中设计报表。

Expand All @@ -158,13 +157,13 @@ Fabric 提供了多种将数据加载到湖屋的方法,包括对复制数据
5. 在“文件”菜单中,选择“保存”。 然后在之前创建的工作区中,将报表另存为“Item Sales Report”。
6. 关闭包含报表的浏览器选项卡,返回到湖屋的 SQL 终结点。 然后,在左侧的中心菜单栏中,选择工作区以验证它是否包含以下项:
- 你的湖屋。
- 湖屋的 SQL 终结点
- 湖屋中表的默认数据集
- 湖屋的 SQL 分析终结点
- 湖屋中表的默认语义模型
- Item Sales Report 报表。

## 清理资源

在本练习中,你已创建一个湖屋并将数据导入其中。 你已了解湖屋如何由存储在 OneLake 数据存储中的文件和表组成。 可以使用 SQL 查询托管表,并包含在默认数据集中以支持数据可视化
在本练习中,你已创建一个湖屋并将数据导入其中。 你已了解湖屋如何由存储在 OneLake 数据存储中的文件和表组成。 可以使用 SQL 查询托管表,并将表包含在默认语义模型中以支持数据可视化

如果已完成湖屋探索,可删除为本练习创建的工作区。

Expand Down
40 changes: 21 additions & 19 deletions Instructions/Labs/02-analyze-spark.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用

在 Fabric 中处理数据之前,创建一个已启用的 Fabric 试用版的工作区。

1.[Microsoft Fabric 主页](https://app.fabric.microsoft.com)中,选择“Synapse 数据工程”****
1.[Microsoft Fabric 主页](https://app.fabric.microsoft.com) (`https://app.fabric.microsoft.com`) 中,选择“Synapse 数据工程”****
1. 在左侧菜单栏中,选择“工作区”(图标类似于 🗇)。
1. 新建一个工作区并为其指定名称,并选择包含 Fabric 容量(试用版、高级版或 Fabric)的许可模式 。
1. 新建一个工作区并为其指定名称,并在“高级”部分选择包含 Fabric 容量(试用版、高级版或 Fabric)的许可模式 。
1. 打开新工作区时,它应为空。

![Fabric 中空工作区的屏幕截图。](./Images/new-workspace.png)
Expand All @@ -31,7 +31,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用

大约一分钟后,一个新的空湖屋创建完成。 需要将一些数据引入数据湖屋进行分析。 可通过多种方法执行此操作,但在本练习中,只需将文本文件的文件夹下载并解压缩到本地计算机(或实验室 VM,如适用),然后将其上传到湖屋。

1.[https://github.com/MicrosoftLearning/dp-data/raw/main/orders.zip](https://github.com/MicrosoftLearning/dp-data/raw/main/orders.zip) 下载并解压缩本练习的数据文件
1.`https://github.com/MicrosoftLearning/dp-data/raw/main/orders.zip` 下载并解压缩本练习的[数据文件](https://github.com/MicrosoftLearning/dp-data/raw/main/orders.zip)

1. 解压缩存档文件后,验证是否有名为 orders 的文件夹,其中是否包含名为 2019.csv、2020.csv 和 2021.csv 的 CSV 文件 。
1. 返回到包含湖屋的 Web 浏览器标签页,在“资源管理器”窗格的 Files 文件夹的“...”菜单中,依次选择“上传”和“上传文件夹”,然后将从 orders 文件夹从本地计算机(或实验室 VM,如适用)上传到湖屋 。
Expand Down Expand Up @@ -71,7 +71,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
![包含 Files 窗格的笔记本的屏幕截图。](./Images/notebook-files.png)
2. 在 2019.csv 的“...”菜单中,选择“加载数据” > “Spark” 。 应在笔记本中添加包含以下代码的新代码单元格:
1. 在 2019.csv 的“...”菜单中,选择“加载数据” > “Spark” 。 应在笔记本中添加包含以下代码的新代码单元格:
```python
df = spark.read.format("csv").option("header","true").load("Files/orders/2019.csv")
Expand All @@ -81,11 +81,11 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
> 提示:可使用 << 图标隐藏左侧的湖屋资源管理器窗格 。 这样做有助于专注于笔记本。
3. 使用单元格左侧的“&#9655; 运行单元格”按钮运行单元格。
1. 使用单元格左侧的“&#9655; 运行单元格”按钮运行单元格。
> 注意:由于这是你第一次运行 Spark 代码,因此必须启动 Spark 会话。 这意味着会话中的第一次运行可能需要一分钟左右才能完成。 后续运行速度会更快。
4. 单元格命令完成后,查看单元格下方的输出,输出应如下所示:
1. 单元格命令完成后,查看单元格下方的输出,输出应如下所示:
| Index | SO43701 | 11 | 2019-07-01 | Christy Zhu | [email protected] | Mountain-100 Silver, 44 | 16 | 3399.99 | 271.9992 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Expand All @@ -95,15 +95,15 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
输出显示 2019.csv 文件中的数据行和列。 但请注意,列标题看起来不正常。 用于将数据加载到数据帧的默认代码假定 CSV 文件的第一行包含列名,但在本例中,CSV 文件只包含数据,没有标头信息。
5. 修改代码以将 header 选项设置为 false,如下所示 :
1. 修改代码以将 header 选项设置为 false,如下所示 :
```python
df = spark.read.format("csv").option("header","false").load("Files/orders/2019.csv")
# df now is a Spark DataFrame containing CSV data from "Files/orders/2019.csv".
display(df)
```
6. 重新运行单元格并查看输出,输出应如下所示:
1. 重新运行单元格并查看输出,输出应如下所示:
| Index | _c0 | _c1 | _c2 | _c3 | _c4 | _c5 | _c6 | _c7 | _c8 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Expand All @@ -114,7 +114,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
现在,数据帧正确地将第一行作为数据值包含在内,但列名称是自动生成的,并不是很有用。 要理解数据,需要为文件中的数据值显式定义正确的架构和数据类型。
7. 按如下所示修改代码以定义架构,并在加载数据时应用该架构:
1. 按如下所示修改代码以定义架构,并在加载数据时应用该架构:
```python
from pyspark.sql.types import *
Expand All @@ -135,7 +135,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
display(df)
```
8. 运行修改后的单元格并查看输出,输出应如下所示:
1. 运行修改后的单元格并查看输出,输出应如下所示:
| Index | SalesOrderNumber | SalesOrderLineNumber | OrderDate | CustomerName | 电子邮件 | 项 | 数量 | 单价 | 税款 |
| -- | -- | -- | -- | -- | -- | -- | -- | -- | -- |
Expand All @@ -146,13 +146,15 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
现在,数据帧包含正确的列名(除了 Index,这是所有数据帧中基于每一行的序号位置的内置列)。 列的数据类型是使用 Spark SQL 库中定义的一组标准类型指定的,这些类型是在单元格开始时导入的。
9. 通过查看数据帧确认更改是否已应用于数据。 在新代码单元格中运行以下代码:
1. 通过查看数据帧确认更改是否已应用于数据。
```python
1. 使用当前单元格的输出左侧的“+ 代码”链接(移动鼠标时即会显示)添加新的代码单元格(或者在菜单栏上的“编辑”选项卡中,选择“+ 添加代码单元格”)************。 然后在新代码单元中运行以下代码:
```Python
display(df)
```
10. 数据帧仅包含 2019.csv 文件中的数据。 修改代码,使文件路径使用 \* 通配符从 orders 文件夹的所有文件中读取销售订单数据:
1. 数据帧仅包含 2019.csv 文件中的数据。 修改代码,使文件路径使用 \* 通配符从 orders 文件夹的所有文件中读取销售订单数据:
```python
from pyspark.sql.types import *
Expand All @@ -173,7 +175,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
display(df)
```
11. 运行修改后的代码单元并查看输出,该输出现应包括 2019 年、2020 年和 2021 年的销售情况。
1. 运行修改后的代码单元并查看输出,该输出现应包括 2019 年、2020 年和 2021 年的销售情况。
注意:仅显示一部分行,因此可能无法查看所有年份的示例。
Expand Down Expand Up @@ -228,7 +230,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
display(yearlySales)
```
4. 运行添加的代码单元格,并注意结果显示每年的销售订单数。 请注意,select 方法包含一个 SQL year 函数以提取 OrderDate 字段的年份部分(这也是代码包含 import 语句以从 Spark SQL 库导入函数的原因) 。 然后它使用 alias 方法向提取的年份值分配一个列名。 接下来,按派生的“年份”列对数据进行分组,并计算每个组中的行计数,最后使用 orderBy 方法对生成的数据帧进行排序。
4. 运行添加的代码单元格,并注意结果显示每年的销售订单数。 请注意,select 方法包含一个 SQL year 函数以提取 OrderDate 字段的年份部分(这也是代码包含 import 语句以从 Spark SQL 库导入函数的原因) 。 然后,它会使用 **alias** 方法向提取的年份值分配一个列名。 接下来,按派生的“年份”列对数据进行分组,并计算每个组中的行计数,最后使用 orderBy 方法对生成的数据帧进行排序。
## 使用 Spark 转换数据文件
Expand Down Expand Up @@ -269,7 +271,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
1. 添加包含以下代码的新单元格,以 Parquet 格式保存转换后的数据帧(如果数据已存在,则覆盖数据):
```python
```Python
transformed_df.write.mode("overwrite").parquet('Files/transformed_data/orders')
print ("Transformed data saved!")
```
Expand All @@ -282,7 +284,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
3. 添加包含以下代码的新单元格,以从 transformed_orders/orders 文件夹中的 parquet 文件加载新的数据帧:
```python
```Python
orders_df = spark.read.format("parquet").load("Files/transformed_data/orders")
display(orders_df)
```
Expand All @@ -293,7 +295,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
1. 添加包含以下代码的新单元格;该代码保存数据帧,并按年份和月份对数据进行分区 :
```python
```Python
orders_df.write.partitionBy("Year","Month").mode("overwrite").parquet("Files/partitioned_data")
print ("Transformed data saved!")
```
Expand All @@ -306,7 +308,7 @@ Apache Spark 是用于分布式数据处理的开放源代码引擎,广泛用
3. 添加包含以下代码的新单元格,以从 orders.parquet 文件加载新的数据帧:
```python
```Python
orders_2021_df = spark.read.format("parquet").load("Files/partitioned_data/Year=2021/Month=*")
display(orders_2021_df)
```
Expand Down
21 changes: 10 additions & 11 deletions Instructions/Labs/03b-medallion-lakehouse.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ lab:

# 在 Microsoft Fabric 湖屋中创建奖牌体系结构

在本练习中,你将使用笔记本在 Fabric 湖屋中构建奖牌体系结构。 你将创建工作区、创建湖屋、将数据上传到铜层、转换数据并将其加载到银 Delta 表、进一步转换数据并将其加载到金 Delta 表,然后浏览数据集并创建关系
在本练习中,你将使用笔记本在 Fabric 湖屋中构建奖牌体系结构。 你将创建工作区、创建湖屋、将数据上传到铜层、转换数据并将其加载到银 Delta 表、进一步转换数据并将其加载到金 Delta 表,然后浏览语义模型并创建关系

完成此练习大约需要 **45** 分钟

Expand All @@ -23,7 +23,7 @@ lab:

![Fabric 中空工作区的屏幕截图。](./Images/new-workspace-medallion.png)

5. 导航到工作区设置并启用“数据模型编辑”预览功能。 这样一来,你就可以使用 Power BI 数据集在你的湖屋中的表之间创建关系
5. 导航到工作区设置并启用“数据模型编辑”预览功能。 这样一来,你就可以使用 Power BI 语义模型在你的湖屋中的表之间创建关系

![Fabric 中工作区设置页的屏幕截图。](./Images/workspace-settings.png)

Expand Down Expand Up @@ -582,25 +582,24 @@ lab:

现在,你有了一个经过策划和建模的金层,可用于报告和分析。

## 创建数据集
## 创建语义模型

你可以在工作区中使用金层来创建报表并分析数据。 你可以直接在工作区中访问数据集,以创建用于报告的关系和度量值。
你可以在工作区中使用金层来创建报表并分析数据。 你可以直接在工作区中访问语义模型,以创建用于报告的关系和度量值。

请注意,不能使用创建湖屋时自动创建的**默认数据集**必须从湖屋资源管理器创建一个新的数据集,其中包含你在本练习中创建的金表。
请注意,不能使用创建湖屋时自动创建的**默认语义模型**必须从湖屋资源管理器创建一个新的语义模型,其中包含你在本练习中创建的金表。

1. 在工作区中,导航到“Sales”湖屋。
2. 从湖屋资源管理器视图的功能区中选择“新建 Power BI 数据集”。
3. 选择要包含在数据集中的已转换金表,然后选择“确认”。
2. 从湖屋资源管理器视图的功能区中选择“新建语义模型”****
3. 为新语义模型分配名称 **Sales_Gold**
4. 选择要包含在语义模型中的已转换金表,然后选择“确认”****
- dimdate_gold
- dimcustomer_gold
- dimproduct_gold
- factsales_gold

此时将在 Fabric 中打开数据集,你可以在其中创建关系和度量值,如下所示:
此时将在 Fabric 中打开语义模型,你可以在其中创建关系和度量,如下所示:

![Fabric 中数据集的屏幕截图。](./Images/dataset-relationships.png)

4. 重命名数据集,以便更轻松地识别。 选择窗口左上角的数据集名称。 将数据集重命名为 Sales_Gold。
![Fabric 中语义模型的屏幕截图。](./Images/dataset-relationships.png)

在此处,你或数据团队的其他成员可以根据湖屋中的数据创建报表和仪表板。 这些报表将直接连接到湖屋的金层,因此它们将始终反映最新数据。

Expand Down
2 changes: 1 addition & 1 deletion Instructions/Labs/06-data-warehouse.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ lab:

5. 运行新查询,将三行插入 DimProduct 表中。
6. 查询完成后,选择数据仓库中页面底部的“数据”选项卡。 在“资源管理器”窗格中,选择 DimProduct 表,并验证是否已将三行添加到表中 。
7. 在“开始”菜单选项卡上,使用“新建 SQL 查询”按钮创建新查询 。 然后将 Transact-SQL 代码从 [https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/create-dw.txt](https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/create-dw.txt) 复制并粘贴到新的查询窗格中。
7. 在“开始”菜单选项卡上,使用“新建 SQL 查询”按钮创建新查询 。 然后将 Transact-SQL 代码从 `https://raw.githubusercontent.com/MicrosoftLearning/dp-data/main/create-dw.txt` 复制并粘贴到新的查询窗格中。
<!-- I had to remove the GO command in this query as well -->
8. 运行查询,创建一个简单的数据仓库架构并加载一些数据。 运行该脚本大约需要 30 秒。
9. 使用工具栏上的“刷新”按钮刷新视图。 然后在“资源管理器”窗格中,验证数据仓库中的 dbo 架构现在是否包含以下四个表 :
Expand Down
Loading

0 comments on commit 713e693

Please sign in to comment.