U-SQL 复杂分析之表格使用全解析
1. 数据漂移规划与 U-SQL 表概述
规划数据漂移可确保数据湖存储中的数据对最终用户始终可访问。使用视图和表值函数(TVFs)能在一定程度上抽象掉数据的变化。TVFs 允许使用参数和多个表达式,是处理复杂数据和不同版本数据的强大工具。
U-SQL 提供了另一种抽象数据访问例程的方法——U-SQL 表。与 U-SQL 视图和 TVFs 每次使用时都读取原始数据湖存储文件不同,U-SQL 表不直接从原始文件读取数据,而是将数据存储在其他地方。它使用一组经过排序和索引的文件,加快数据检索速度。创建 U-SQL 表时,需要对文件进行填充和索引,这既保证了数据模式的持久性,又优化了数据读取方式。使用 U-SQL 表时,存储位置和读取优化是需要考虑的关键因素。
U-SQL 表有两种类型:
- 托管表(Managed) :将模式定义和表数据存储在关联数据湖存储的目录文件夹中的文件里。
- 外部表(External) :仅存储模式定义,并引用外部数据源。
如果数据存储在 Azure SQL 数据库中,可以通过 U-SQL 外部表配置读取访问权限,而无需移动原始数据;如果数据源是数据湖存储中的文件,或者数据库不在 Azure 中,可以使用 U-SQL 托管表来重构数据存储。
2. U-SQL 表的创建
创建 U-SQL 表使用 CREATE TABLE
命令,可选择包含 IF NOT EXISTS
选项,同时需要提供字段列表,并在其中包含索