分区

适用于:检查标记是的砖的SQL检查标记是的砖运行时

一个分区的一个子集的表中的行共享相同的值的列被称为一个预定义的子集分区列。使用分区表可以加快查询以及数据操作。

使用分区,您定义的一组分区列包括当你创建一个表分区的条款。

当插入或操纵表中的行砖自动分派行到适当的分区。

您还可以指定分区直接使用分区条款。

这个语法也可用于表不使用三角洲湖格式,迅速下降,添加或重命名分区使用ALTER TABLE语句。

分区的

分区通过子句指定列的列表以及新表分区。

语法

分区通过({partition_column(column_type]}(,])

参数

  • partition_column

    一个标识符可能会引用一个column_identifier在表中。如果你指定多个列不能重复。如果你引用表中的所有列column_specification一个错误。

  • column_type

    除非partition_column是指一个column_identifier在桌子上的column_specification,column_type定义的数据类型partition_column

    并不是所有的数据类型由砖SQL支持所有数据源。

笔记

除非你定义一个三角洲湖表分区列引用列列规范总是移动到表的结束。

分区

您使用分区条款来确定一个分区查询或操纵。

分区被命名所有的列和关联每个都有一个值。你不需要指定一个特定的顺序。

除非你是添加一个新的分区到现有表你可以省略列或值表明操作适用于所有匹配的分区匹配列的子集。

分区({partition_column(=partition_value|就像模式]}(,])

参数

  • partition_column

    一个列命名为一个分区表的列。你可能不指定相同的列的两倍。

  • =partition_value

    数据类型匹配的文字分区列的类型。如果您省略一个分区价值规范将为这个分区列匹配所有的值。

  • 就像模式

    这种形式只允许修改共享添加表

    匹配的字符串表示partition_column模式模式必须是一个字符串中使用吗就像

例子

——使用一个表中的PARTTIONED BY子句定义>创建学生(大学字符串,主要字符串,的名字字符串)分区通过(大学,主要)>创建教授(的名字字符串)分区通过(大学字符串,部门字符串);——使用分区规范插入一个表>插入学生分区(大学=“你凯泽斯劳滕”)(主要,的名字)选择主要,的名字新生;——使用分区规范添加和删除一个分区>创建日志(日期日期,idINT,事件字符串)使用CSV位置“dbfs: /日志”分区通过(日期);>改变日志添加分区(日期=日期“2021-09-10”);>改变日志下降分区(日期=日期“2021-09-10”);——删除所有分区命名的大学,独立的专业。>改变学生下降分区(大学=“你凯泽斯劳滕”);