使用无服务器 SQL 池分析数据
在本教程中,你将了解如何通过无服务器 SQL 池分析对数据。
内置无服务器 SQL 池
通过无服务器 SQL 池,你可以使用 SQL,而无需预留容量。 无服务器 SQL 池的计费是基于运行查询所处理的数据量,而不是运行查询所使用的节点数。
每个工作区都具有名为“内置”的预配置无服务器 SQL 池。
使用无服务器 SQL 池分析纽约市出租车数据
注意
请确保已将示例数据放入主存储帐户
在 Synapse Studio 中,转到“开发”中心
创建一个新的 SQL 脚本。
将以下代码粘贴到脚本中。
SELECT TOP 100 * FROM OPENROWSET( BULK 'https://contosolake.dfs.core.chinacloudapi.cn/users/NYCTripSmall.parquet', FORMAT='PARQUET' ) AS [result]
选择“运行”。
数据浏览只是一种简化的方案,可以在其中了解数据的基本特征。 在本教程中详细了解数据浏览和分析。
创建数据浏览数据库
可以直接通过 master
数据库浏览文件的内容。 对于一些简单的数据浏览方案,无需创建单独的数据库。
但是,在继续进行数据浏览时,可能需要创建一些实用工具对象,例如:
- 表示存储帐户的命名引用的外部数据源。
- 用于指定如何对外部数据源进行身份验证的数据库范围凭据。
- 具有访问某些数据源或数据库对象权限的数据库用户。
- 可在查询中使用的实用工具视图、过程和函数。
使用
master
数据库为自定义数据库对象创建单独的数据库。 自定义数据库对象无法在master
数据库中进行创建。CREATE DATABASE DataExplorationDB COLLATE Latin1_General_100_BIN2_UTF8
重要
使用带有
_UTF8
后缀的排序规则确保 UTF-8 文本正确转换为VARCHAR
列。Latin1_General_100_BIN2_UTF8
在从 Parquet 文件和 Azure Cosmos DB 容器读取数据的查询中提供最佳性能。 有关更改排序规则的详细信息,请参阅 Synapse SQL 支持的排序规则类型。使用以下命令将数据库上下文从
master
切换为DataExplorationDB
。 还可以使用 UI 控件“使用数据库”来切换当前数据库:USE DataExplorationDB
从
DataExplorationDB
创建实用工具对象,例如凭据和数据源。CREATE EXTERNAL DATA SOURCE ContosoLake WITH ( LOCATION = 'https://contosolake.dfs.core.chinacloudapi.cn')
备注
可创建没有凭据的外部数据源。 如果没有凭据,将使用调用方的标识来访问外部数据源。
(可选)使用新创建的
DataExplorationDB
数据库在DataExplorationDB
中为要访问外部数据的用户创建登录名:CREATE LOGIN data_explorer WITH PASSWORD = 'My Very Strong Password 1234!';
然后,在
DataExplorationDB
中为上述登录名创建一个数据库用户,并授予其ADMINISTER DATABASE BULK OPERATIONS
权限。CREATE USER data_explorer FOR LOGIN data_explorer; GO GRANT ADMINISTER DATABASE BULK OPERATIONS TO data_explorer; GO
使用相对路径和数据源浏览文件的内容:
SELECT TOP 100 * FROM OPENROWSET( BULK '/users/NYCTripSmall.parquet', DATA_SOURCE = 'ContosoLake', FORMAT='PARQUET' ) AS [result]
将所做的更改发布到工作区。
数据浏览数据库只是一个简单的占位符,在其中可存储实用工具对象。 通过 Synapse SQL 池,可执行更多操作,还可创建一个逻辑数据仓库(基于 Azure 数据源的关系层)。 在此教程中详细了解如何构建逻辑数据仓库。