65.9K
CodeProject 正在变化。 阅读更多。
Home

Azure Synapse Analytics 数据分析入门,第二部分:SQL 池

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2021年7月6日

CPOL

7分钟阅读

viewsIcon

4815

在本文中,我们将探讨如何设置一个组件:SQL 池。

本系列的第一篇文章中,我们探讨了 Azure Synapse Analytics 如何帮助您分析、理解和报告数据。我们还快速了解了它的两个组件:SQL 池和 Apache Spark。在本文中,我们将通过设置 SQL 池来开始使用 Azure Synapse Analytics。为了演示,我们将分析纽约市的安全数据,以找出 311 呼叫中有多少是紧急呼叫,有多少是非紧急呼叫。

Azure Synapse 内置的、已配置的无服务器 SQL 数据库池使您能够使用 Microsoft SQL Server Transact-SQL (T-SQL) 语法以及相关的工具和函数查询数据湖中的数据。您还可以根据您的项目、配置和身份验证要求创建一个或多个专用 SQL 池。请注意,SQL 池以前称为 SQL 数据仓库 (SQL DW)。

注册 Azure 帐户

如果您还没有 Azure 帐户,则需要注册一个。免费的 Azure 帐户可让您在 30 天内免费访问所有服务,外加 200 美元的积分,供您全面探索 Azure。

创建 Synapse 工作区

首先,您需要创建一个 Synapse 工作区。在 Azure 门户中,搜索“synapse”并选择“Azure Synapse Analytics”。

在 Azure Synapse Analytics 屏幕上,单击“创建 Synapse 工作区”“+ 新建”。现在您应该会看到创建 Synapse 工作区的第一个页面。此 Synapse 工作区将是您数据和分析的焦点。

Azure 现在显示了几个屏幕中的第一个。开始输入信息以创建新的资源组“ASA_Tutorial”和工作区名称“asa-workspace”。选择一个适合您 Azure 用途的区域。这很可能是一个附近的位置。

请注意,创建工作区不会产生任何费用。您尚未开始使用存储、数据或其他服务。稍后,当您上传数据时,会有一个小额的存储费用。SQL 数据池和 Apache Spark 等服务会产生费用,其中一些云费用可能相当可观。在使用无服务器 SQL 池进行数据探索和临时分析时,成本会低得多。

此时,我们可以单击“查看 + 创建”,但我们将跳过接下来的几个屏幕以查看所有配置。因此,单击“下一步: 安全性”

在下一步中,您可以为工作区 SQL 池提供管理员用户名和密码。您可能需要自己设置这些,至少在手动执行此操作时。

每个工作区都包含一个内置的 SQL 池。您也可以使用现有的或专用的 SQL 或 Apache Spark 池。

接下来,单击“下一步: 网络”

接受默认网络详细信息,然后单击“下一步: 标记”

标记并非至关重要,但如果您拥有许多不相关的资源,您可以使用它们来查找资源集。在(可选)设置标记后,单击“查看 + 创建”继续。

Azure 现在会显示您配置的工作区的摘要供您查看。

现在,单击“创建”,然后去泡杯咖啡。部署工作区需要几分钟时间。完成此步骤后,状态将变为“您的部署已完成”。

Synapse Studio 和知识中心

工作区准备就绪后,请转到其“概述”页面。在“入门”下,单击“打开 Synapse Studio”链接。或者,您可以访问Azure Synapse

Synapse Studio 打开。注意左侧的导航栏。从上到下的图标分别是:主页、数据、开发、集成监视和管道。第一次使用时,您可能需要游览 Synapse Studio。这将在您的屏幕上进行注释,并引导您完成 Synapse Studio 的按钮和区域。您始终可以通过单击顶部右侧导航菜单中的“”并选择“导览”来找到导览链接。

在继续进行示例之前,您可能想要探索 Synapse 知识中心。Synapse Analytics 文档和资源在此收集。

单击主页图标(左侧导航菜单中的房子图标),然后单击“学习”转到知识中心。您可以单击“示例”以创建完全可操作的项目,包括脚本、笔记本和数据。

您也可以在此处加载数据样本。单击“浏览库”以查找第一个示例中使用的数据。

这里有大量的信息和示例。您可以探索数据集、笔记本、SQL 脚本或管道。但现在,我们对数据集感兴趣。

让我们探索纽约市安全数据。要找到它,您可以浏览数据集或在搜索栏中键入“New York Safety Data”。单击数据集,然后单击“继续”。Azure 显示数据描述和预览。您也可以单击“查看完整详细信息”以获取更详细的信息。

单击“添加数据集”。这将把示例数据下载到您的工作区,并将 Studio 切换到“数据”选项卡。

您应该会在 Azure Blob Storage > 示例数据集下看到“city_safety_newyork”。

当您单击省略号时,会出现一个弹出菜单,使您可以创建 SQL 脚本、笔记本(我们稍后会介绍)和属性。属性总结了数据。该文件包含自 2010 年至今所有纽约市 311 市民服务请求的数据。

这些数据采用称为Parquet的标准格式。Azure Data Factory 提供了许多 Parquet 连接器,用于各种 Azure、Amazon、Google 和 Oracle 存储系统。

请注意,您也可以上传文件。在我们的例子中,我们有一个在线且定期更新的链接。

要开始分析,我们使用弹出菜单创建查询以获取数据集中前 100 行。

Azure 生成一个默认的 SQL 脚本“SQL 脚本 1”,以显示 Parquet 数据中的行。单击“运行”以查看结果。我们也可以单击左侧导航菜单上的“开发”图标,会看到“SQL 脚本 1”已列出。

现在我们可以进行一些探索,以了解更多关于数据的信息。例如,它有多少行?要找出答案,请将“TOP 100 *”更改为“Count(*)”并再次单击“运行”

要查找日期范围,请将 Count(*) 替换为 min(dateTime) as MinDate, max(dateTime) as MaxDate 并单击“运行”以查看结果。

直接从文件探索数据很有帮助,但您需要为更复杂的情况创建一个单独的数据库。您不能在 master SQL 池数据库中创建对象。

让我们在默认 SQL 池中创建一个数据库来存储伪像,如数据库凭据和用户,以控制数据库访问、视图、存储过程和函数。

数据库集合很重要,因为我们要访问 Parquet 和其他可能的基于文本的文件。为避免转换错误,将排序规则设置为 Latin1_General_100_BIN2_UTF8。

“开发”选项卡中,按 + 按钮创建一个新的空白 SQL 脚本工作区。运行以下命令:create database asaPoolDB collate Latin1_General_100_BIN2_UTF8

单击数据图标,然后从“数据库”上的省略号中单击“刷新”

您也可以展开数据库。查看 asaPoolDB 及其下方的选项卡,了解您可以在其中存储的内容。

我们可以创建一个外部数据源,这是引用容器的简写方式。它隐藏了底层数据容器,您可以配置带凭据的数据源。

在我们提供的安全数据示例中,要创建一个数据源。请确保您使用的是 asaPoolDB 并运行此脚本

CREATE EXTERNAL DATA SOURCE [CityData] WITH
(
    LOCATION = 'https://azureopendatastorage.blob.core.windows.net/citydatacontainer'
)

刷新外部数据源,您应该会看到“CityData”源。

此时,您可能需要发布您的 SQL 脚本,这样它们就会被保存。要做到这一点,创建一个新的空 SQL 脚本,例如“SQL 脚本 4”。当然,您可以根据需要重命名这些脚本。

现在,我们的安全数据查询如下所示

SELECT
   Top 100 *
FROM
    OPENROWSET(
        BULK '/Safety/Release/city=NewYorkCity/*.parquet',
        DATA_SOURCE = 'CityData',
        FORMAT = 'parquet'
    ) AS [result];

请注意,指定 DATA_SOURCE 参数提供了指向完整 URL 的快捷方式。您必须指定相对路径。

运行查询。它应该产生与原始查询相同的数据。

默认视图是表格,但您可以单击“图表”按钮将其转换为图形。通过将结果转换为图表,我们可以看到紧急呼叫与非紧急呼叫的数量。

使用此脚本进行计数并运行以显示图表

SELECT
   category, count(*)
FROM
    OPENROWSET(
        BULK '/Safety/Release/city=NewYorkCity/*.parquet',
        DATA_SOURCE = 'CityData',
        FORMAT = 'parquet'
    ) AS [result]
    where category like '%Emergency'
    group by category;

后续步骤

本文提供了 Azure Synapse SQL 池的实际示例。完成此示例应该可以帮助您开始将 Azure Synapse Analytics 资源应用于您的项目。

如需更多培训,请继续阅读本系列的第三篇文章,了解如何设置 Apache Spark。

查看Azure Synapse Analytics 实操培训系列,获取由 Azure Synapse 工程师主持的深度培训课程。

© . All rights reserved.