教程:分析 blob 清单报表

通过了解 blob 和容器在生产环境中的存储、组织和使用方式,可以更好地优化成本和性能之间的权衡。

本教程介绍如何生成和直观呈现统计信息,例如一段时间内的数据增长、一段时间内添加的数据、修改的文件数、blob 快照大小、每一层中的访问模式,以及当前和一段时间内数据的分布方式(例如:跨层数据、文件类型、容器中和 blob 类型)。

在本教程中,你将了解如何执行以下操作:

  • 生成 blob 清单报表
  • 设置 Synapse 工作区
  • 设置 Synapse Studio
  • 在 Synapse Studio 中生成分析数据
  • 在 Power BI 中可视化结果

先决条件

生成清单报表

为存储帐户启用 blob 清单报表。 请参阅启用 Azure 存储 blob 清单报表

为生成的第一个报表启用库存报表后,可能需要等待 24 个小时。

设置 Synapse 工作区

  1. 创建 Azure Synapse 工作区。 请参阅创建 Azure Synapse 工作区

    注意

    在创建工作区的过程中,将创建具有分层命名空间的存储帐户。 Azure Synapse 将 Spark 表和应用程序日志存储到此帐户。 Azure Synapse 将此帐户称为主存储帐户。 为避免混淆,本文使用“清单报表帐户”一词指代包含清单报表的帐户。

  2. 在 Synapse 工作区中,将“参与者”角色分配给用户标识。 请参阅 Azure RBAC:工作区的“所有者”角色

  3. 导航到清单报表帐户,然后将“存储 Blob 数据参与者”角色分配给工作区的系统托管标识,从而向 Synapse 工作区授予存储帐户中清单报表的访问权限。 请参阅使用 Azure 门户分配 Azure 角色

  4. 导航到主存储帐户,并将“Blob 存储参与者”角色分配给用户标识。

设置 Synapse Studio

  1. 在 Synapse Studio 中打开 Synapse 工作区。 请参阅打开 Synapse Studio

  2. 在 Synapse Studio 中,确保为标识分配了“Synapse 管理员”角色。 请参阅 Synapse RBAC:工作区的“Synapse 管理员”角色

  3. 创建 Apache Spark 池。 请参阅创建无服务器 Apache Spark 池

设置和运行示例笔记本

在本部分中,你将生成将在报表中直观呈现的统计数据。 为了简化本教程,本部分使用示例配置文件和示例 PySpark 笔记本。 笔记本包含在 Azure Synapse Studio 中执行的查询集合。

修改并上传示例配置文件

  1. 下载 BlobInventoryStorageAccountConfiguration.json 文件。

  2. 更新该文件的以下占位符:

    • storageAccountName 设置为清单报表帐户的名称。

    • destinationContainer 设置为保存清单报表的容器的名称。

    • blobInventoryRuleName 设置为已生成要分析的结果的清单报表规则名称。

    • accessKey 设置为清单报表帐户的帐户密钥。

  3. 将此文件上传到创建 Synapse 工作区时指定的主存储帐户中的容器。

导入示例 PySpark 笔记本

  1. 下载 ReportAnalysis.ipynb 示例笔记本。

    注意

    请确保使用 .ipynb 扩展名保存此文件。

  2. 在 Synapse Studio 中打开 Synapse 工作区。 请参阅打开 Synapse Studio

  3. 在 Synapse Studio 中,选择“开发”选项卡。

  4. 选择加号 (+) 来添加项。

  5. 选择“导入”,浏览到下载的示例文件,选择该文件,然后选择“打开”。

    此时将显示“属性”对话框。

  6. 在“属性”对话框中,选择“配置会话”链接。

    Screenshot of the Import properties dialog box

    随即将打开“配置会话”对话框。

  7. 在“配置会话”对话框的“附加到”下拉列表中,选择本文前面创建的 Spark 池。 然后选择“应用”按钮。

修改 Python 笔记本

  1. 在 Python 笔记本的第一个单元格中,将 storage_account 变量的值设置为主存储帐户的名称。

  2. container_name 变量的值更新为创建 Synapse 工作区时指定的帐户中的容器名称。

  3. 选择“发布”按钮。

运行 PySpark 笔记本

  1. 在 PySpark 笔记本中,选择“全部运行”。

    启动 Spark 会话需要几分钟时间,处理清单报表也需要几分钟时间。 如果要处理大量清单报表,则第一次运行可能需要一段时间。 后续运行将仅处理自上次运行以来创建的新清单报表。

    注意

    如果在笔记本运行时对其进行任何更改,请确保使用“发布”按钮发布这些更改。

  2. 通过选择“数据”选项卡验证笔记本是否成功运行。

    名为 reportdata 的数据库应显示在“数据”窗格的“工作区”选项卡中。 如果未显示此数据库,则可能需要刷新网页。

    Screenshot of the Data pane which shows the reportdata database

    数据库包含一组表。 每个表都包含通过从 PySpark 笔记本运行查询而获得的信息。

  3. 若要检查表的内容,请展开 reportdata 数据库的 Tables 文件夹。 然后,右键单击表,依次选择“选择 SQL 脚本”、“选择前 100 行”。

    Screenshot of the menu option to create a new sql script

  4. 可以根据需要修改查询,然后选择“运行”以查看结果。

    Screenshot of the query editor and query results

可视化数据

  1. 下载 ReportAnalysis.pbit 示例报告文件。

  2. 打开 Power BI Desktop。 关于安装指南,请参阅获取 Power BI Desktop

  3. 在 Power BI 中,依次选择“文件”、“打开报表”和“浏览报表”。

  4. 在“打开”对话框中,将文件类型更改为“Power BI 模板文件(*.pbit)”。

    Screenshot of the the Power BI template files type that appears in the Open dialog box

  5. 浏览到下载的 ReportAnalysis.pbit 文件的位置,然后选择“打开”。

    此时会显示一个对话框,要求你提供 Synapse 工作区名称和数据库名称。

  6. 在对话框中,将“synapse_workspace_name”字段设置为工作区名称,并将“database_name”字段设置为 reportdata。 然后,选择“加载”按钮。

    Screenshot of the report configuration dialog box

    此时会显示一个报表,该报表提供笔记本检索到的数据的可视化效果。 下图显示了此报表中显示的图表和图形的类型。

    Screenshot of the overview tab of the report

    Screenshot of the detailed analysis tab of the report

    Screenshot of the breakdown tab of the report

后续步骤