UNIQUE KEY(F_DATE,F_JHLX,F_DWBH) COMMENT 'ODS_资金计划准确率统计表' DISTRIBUTED BY HASH(F_DATE) BUCKETS 8 PROPERTIES ( "replication_num" = "3"
时间: 2025-06-24 16:37:50 浏览: 8
### 如何使用 UNIQUE KEY 和 DISTRIBUTED BY HASH 创建表并设置 PROPERTIES 属性
在数据库中,创建一张具有 `UNIQUE KEY` 的表可以通过定义唯一的主键来确保每条记录的唯一性。同时,通过 `DISTRIBUTED BY HASH` 可以实现数据分布策略的选择,从而优化查询性能和存储效率。
#### 使用 UNIQUE KEY 定义唯一约束
当需要确保某列或多列组合中的值在整个表中是唯一的,可以使用 `UNIQUE KEY` 关键字。这通常用于防止重复数据插入,并作为索引来加速查询操作。例如,在引用[2]中提到的方式[^2]:
```sql
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
) UNIQUE KEY (key_column1, key_column2, ...)
```
此语法表明,`key_column1` 和 `key_column2` 组合在一起形成一个唯一键,任何尝试插入违反该唯一性的记录都会被拒绝。
#### 数据分桶与哈希分布
为了提高分布式环境下的查询性能,可以利用 `DISTRIBUTED BY HASH` 来指定数据如何分布在不同的节点上。这种机制基于特定列的哈希值决定数据归属哪个桶(bucket),进而分配到对应的物理节点。例如:
```sql
DISTRIBUTED BY HASH(column_name) BUCKETS bucket_count;
```
这里,`BUCKETS` 参数指定了总共有多少个桶。如果希望所有数据集中存放在单个节点,则可将 `BUCKETS` 设置为 1 并调整副本数为 1,如下所示:
```sql
PROPERTIES ("replication_num" = "1");
```
#### 配置表属性 PROPERTIES
除了基本结构外,还可以通过 `PROPERTIES` 子句进一步定制表的行为特性。这些配置项涵盖了复制因子、压缩算法、同步状态等多个方面。以下是一个综合示例,展示了如何结合以上概念构建完整的建表语句[^3]:
```sql
CREATE TABLE IF NOT EXISTS test_db.student (
stu_num BIGINT NULL COMMENT '学生ID编号',
gmt_create DATETIME NOT NULL COMMENT '创建时间',
gmt_modified DATETIME NOT NULL COMMENT '修改时间',
op_create_id BIGINT NOT NULL COMMENT '创建人id',
op_modified_id BIGINT NOT NULL COMMENT '更新人id',
op_create_name VARCHAR(32) NOT NULL COMMENT '创建人名称',
op_modified_name VARCHAR(32) NOT NULL COMMENT '修改人名称',
stu_name VARCHAR(32) NOT NULL COMMENT '学生姓名',
stu_class_name CHAR NULL COMMENT '学生班级'
) ENGINE=OLAP
UNIQUE KEY(stu_num)
COMMENT '学生表'
DISTRIBUTED BY HASH(stu_num) BUCKETS 32
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"is_being_synced" = "false",
"storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false"
);
```
在此例子中,`ENGINE=OLAP` 指定使用的存储引擎;`UNIQUE KEY(stu_num)` 声明了唯一键;而 `DISTRIBUTED BY HASH(stu_num) BUCKETS 32` 设计了一个由 32 个桶组成的哈希分布方案。最后,一系列 `PROPERTIES` 被用来微调表的具体行为。
---
阅读全文
相关推荐








