创建分区表
分区是指根据特定方案将逻辑上的一个大表分成较小的物理片区。基于该逻辑的表称为分区表,物理片区称为分区。数据不存储在较大的逻辑分区表上,而是这些较小的物理分区上。
执行以下步骤在数据库中定义表:
- 在“对象浏览器”窗格中,右键单击“普通表”,选择“创建分区表”。
- 定义基本表信息,如表名称、表类型等。详情请参见基本信息。
- 定义列相关信息,如列名、数据类型模式、数据类型、列约束等。详情请参见定义列。
- 选择表数据分布信息。详情请参见选择数据分布。
- 为不同约束类型定义列约束。约束类型包含主键(PRIMARY KEY)、唯一(UNIQUE)、检查(CHECK)。详情请参见定义表约束。
- 定义表索引信息,如索引名称、访问方法等。详情请参见定义索引。
- 定义表的分区信息,如分区名称、分区列、分区值等。详情请参见定义分区。
在“SQL预览”页签,可以查看输入所自动生成的SQL查询。详情请参见SQL预览。
- 如果要在“创建分区表”对话框的“列”页签添加列注释信息,则在“设置列描述(最多5000个字符)”文本框中进行输入,之后单击“添加”。
- 从“表存储方式”中选择表存储方式。
如果表存储方式选择为ORC,则会创建一个HDFS分区表。选择ORC存储格式需要在“ORC版本”中输入ORC版本号。
- 提供有关表的基本信息后,单击“下一步”以定义表的列信息。
下表列出了每个分区表支持的字段:
表1 支持的字段 字段名
行分区
列分区
ORC分区
表类型
x
x
x
如果不存在
√
√
√
带OIDS
x
x
x
填充因子
√
x
x
定义列
下表列出了每个分区类型表的支持字段:
字段名 |
行分区 |
列分区 |
ORC分区 |
---|---|---|---|
阵列维度 |
√ |
x |
x |
数据类型 |
√ |
x |
x |
非空 |
√ |
√ |
√ |
默认 |
√ |
√ |
√ |
唯一 |
√ |
x |
x |
检查 |
√ |
x |
x |
支持对列进行添加、删除、编辑、调整顺序等操作。
根据表中的要求更改列顺序。要更改顺序,请选择所需的列,然后单击“向上”或“向下”。
SQL预览
Data Studio按照“创建分区表”向导中输入的内容,生成一个DDL语句。
可以查看、选择、复制该查询,但是无法编辑。
- 要选择查询,按“Ctrl+A”,或单击右键,选择“全选”。
- 要复制所选查询,按“Ctrl+C”,或单击右键,选择“复制”。
单击“完成”创建表。单击“完成”后,生成的查询将被发送到服务器。错误会显示在对话框和状态栏中。
定义分区
下表列出了各分区类型表支持的字段/选项:
字段/选项名 |
行分区 |
列分区 |
ORC分区 |
---|---|---|---|
分区类型 |
按范围 |
按范围 |
按值 |
分区名 |
√ |
√ |
x |
分区值 |
√ |
√ |
x |
- 在“一般”页签中,如果“表存储方式”选择为“ROW”或“COLUMN”,则“分区类型”区域会显示“By Range”。如果“表存储方式”选择为“ORC”,则“分区类型”区域会显示“By Values”。
- 从“可用列”区域选择用于定义分区的列,单击“右向箭头”按钮,该列会移动到“分区列”区域。
- 如果“表存储方式”选择为“ROW”或“COLUMN”,则仅能选择一列用于分区。
- 如果“表存储方式”选择为“ORC”,则最多可选择四列用于分区。
- 最多可选择4列用于定义分区。
- 在“分区名称”中输入分区的名称。
- 单击“分区值”旁的“单击输入分区值”按钮,在“值”列中输入要对表进行分区的值,单击“确定”。
- 输入分区的所有信息后,单击“添加”。
支持对分区进行添加、删除、编辑、调整顺序等操作。
根据表中的要求更改分区顺序。要更改顺序,请选择所需的分区,然后单击“向上”或“向下”。
- 定义所有分区后,单击“下一步”。
定义索引
有关索引定义详情,请参见定义索引。
字段/选项名 |
行分区 |
列分区 |
ORC分区 |
---|---|---|---|
唯一索引 |
√ |
x |
x |
btree |
√ |
√ |
x |
gin |
√ |
√ |
x |
gist |
√ |
√ |
x |
hash |
√ |
√ |
x |
psort |
√ |
√ |
x |
spgist |
√ |
√ |
x |
填充因子 |
√ |
x |
x |
用户自定义表达式 |
√ |
x |
x |
部分索引 |
√ |
x |
x |
选择数据分布
有关选择分布类型的详情,请参见选择数据分布类型。
选项名 |
行分区 |
列分区 |
ORC分区 |
---|---|---|---|
默认分布 |
√ |
√ |
x |
Hash |
√ |
√ |
√ |
Replication |
√ |
√ |
x |
移除分区
- 右键单击所需分区,选择“删除分区”。
弹出“删除分区”对话框。
- 单击“确定”。
该分区会从表中移除。Data Studio将在状态栏中显示操作的状态。
重命名分区
- 右键单击所需分区,选择“重命名分区”。
弹出“重命名分区”对话框,提示用户为分区输入新名称。
- 输入新名称,单击“确定”。
Data Studio在状态栏显示操作状态信息。