CREATE-TABLE

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
所有文档
menu
没有找到结果,请重新输入

数据仓库 PALO

  • 功能发布记录
  • 操作手册1
    • LDAP认证
    • 时区
    • 使用S3-SDK访问对象存储
    • 权限管理
    • 物化视图
    • 变量
    • 资源管理
    • 数据更新与删除
      • 标记删除
      • Sequence-Column
      • 数据更新
      • 数据删除
    • 备份与恢复
      • 备份与恢复
    • 数据导出1
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 数据导出概述
      • Export
    • 数据导出
      • 全量数据导出
      • 导出查询结果集
      • 导出总览
      • 导出数据到外部表
    • 查询加速1
      • 查询缓存
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
    • 数据导入
      • JSON格式数据导入说明
      • 导入本地数据
      • 导入BOS中的数据
      • 导入事务和原子性
      • 通过外部表同步数据
      • 使用JDBC同步数据
      • 列的映射、转换与过滤
      • 订阅Kafka日志
      • 严格模式
      • 导入总览
    • 数据更新与删除1
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 数据导入1
      • 高并发导入优化(Group Commit)
      • 导入概览
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 数据源
        • Kafka
        • S3 兼容存储
        • 从其他 TP 系统迁移数据
        • HDFS
        • 从其他 AP 系统迁移数据
        • Flink
        • 本地文件
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
  • 开发指南
    • 迁移ClickHouse数据
    • Doris集群间数据迁移
    • 数据更新与删除
      • 事务
      • 数据更新
        • 主键模型的导入更新
        • 主键模型的 Update 更新
        • 数据更新概述
        • 主键模型的更新并发控制
        • 聚合模型的导入更新
      • 数据删除
        • 删除操作概述
        • Truncate 操作
        • 表原子替换
        • Delete 操作
        • 基于导入的批量删除
        • 临时分区
    • 查询加速
      • 查询缓存
      • Colocation Join
      • 高并发点查
      • Hint
        • Hint 概述
        • Leading Hint
        • Distribute Hint
      • 物化视图
        • 同步物化视图
        • 物化视图概览
        • 异步物化视图
          • 异步物化视图常见问题
          • 最佳实践
          • 异步物化视图概述
          • 创建、查询与维护异步物化视图
      • 高效去重
        • BITMAP 精准去重
        • HLL 近似去重
      • 优化技术原理
        • TOPN 查询优化
        • 统计信息
        • Pipeline 执行引擎
        • 查询优化器介绍
        • Runtime Filter
      • 查询调优概述
        • 调优概述
        • 诊断工具
        • 分析工具
        • 调优流程
      • 查询优化实践
        • 常见调优参数
        • 计划调优
          • 使用 Hint 控制代价改写
          • 使用异步物化视图透明改写
          • 使用 Leading Hint 控制 Join 顺序
          • 优化表 Schema 设计
          • 使用分区裁剪优化扫表
          • 优化索引设计和使用
          • 使用 Hint 调整 Join Shuffle 方式
          • DML 计划调优
          • 使用 Colocate Group 优化 Join
          • 使用同步物化视图透明改写
          • 使用 SQL Cache 加速查询
        • 执行调优
          • 数据倾斜处理
          • RuntimeFilter 的等待时间调整
          • 并行度调优
    • 数据查询
      • 连接(JOIN)
      • 子查询
      • 复杂类型查询
      • 列转行 (Lateral View)
      • MySQL 兼容性
      • 聚合多维分析
      • 分析函数(窗口函数)
      • 公用表表达式(CTE)
      • 自定义函数
        • 别名函数
        • Java UDF, UDAF, UDTF
    • 数据导出
      • SELECT INTO OUTFILE
      • MySQL Dump
      • 最佳实践
      • 数据导出概述
      • Export
    • 数据导入
      • 高并发导入优化(Group Commit)
      • 异常数据处理
      • 导入高可用性
      • 导入时实现数据转换
      • 导入最佳实践
      • 数据源
        • Kafka
        • Snowflake
        • S3 兼容存储
        • Google Cloud Storage
        • 从其他 TP 系统迁移数据
        • Azure Storage
        • 腾讯云 COS
        • MinIO
        • HDFS
        • 阿里云 OSS
        • 华为云 OBS
        • 从其他 AP 系统迁移数据
        • Flink
        • Redshift
        • Amazon S3
        • 本地文件
        • BigQuery
      • 导入方式
        • Broker Load
        • MySQL Load
        • Insert Into Values
        • Stream Load
        • Insert Into Select
        • Routine Load
      • 文件格式
        • CSV
        • JSON
        • Parquet
        • ORC
      • 复杂数据类型
        • MAP
        • Variant
        • JSON
        • STRUCT
        • Bitmap
        • HLL
        • ARRAY
    • BI工具接入
      • Sugar
      • Navicat
      • Tableau
      • DBeaver
      • 永洪BI
      • FineBI(帆软)
    • 数据库连接
      • 通过 MySQL 协议连接
      • 基于 Arrow Flight SQL 的高速数据传输链路
    • 湖仓一体
      • 分析 S3或HDFS 上的文件
      • 湖仓一体概述
      • SQL 方言兼容
      • 弹性计算节点
      • 云服务认证接入
      • 元数据缓存
      • 外表统计信息
      • 数据缓存
      • 数据库分析
        • MySQL
        • JDBC Catalog
        • Oracle
        • OceanBase
        • SAP HANA
        • 阿里云 MaxCompute
        • ClickHouse
        • PostgreSQL
        • IBM Db2
        • SQL Server
        • Elasticsearch
      • 湖仓一体最佳实践
        • 使用 PALO 和 Paimon
        • 使用 PALO 和 Iceberg
        • 使用 PALO 和 Hudi
        • 使用 PALO 和 LakeSoul
      • 数据湖构建
        • Iceberg
        • Hive
      • 数据湖分析
        • Hudi Catalog
        • 阿里云 DLF
        • Iceberg Catalog
        • Paimon Catalog
        • Hive Catalog
    • 数据表设计
      • 行业混存
      • 数据压缩
      • Schema 变更
      • 数据类型
      • 自增列
      • 概览
      • 数据库建表最佳实践
      • 冷热数据分层
        • SSD 和 HDD 层级存储
        • 远程存储
        • 冷热数据分层概述
      • 表索引
        • 倒排索引
        • 前缀索引与排序键
        • N-Gram 索引
        • BloomFilter 索引
        • 索引概述
      • 数据划分
        • 数据分桶
        • 数据分布概念
        • 动态分区
        • 自动分区
        • 手动分区
        • 常见文档
      • 数据模型
        • 使用注意
        • 模型概述
        • 主键模型
        • 明细模型
        • 聚合模型
  • 版本发布历史
    • 百度数据仓库 Palo 2.0 版本全新发布
  • SQL手册
    • 字面常量
    • 别名
    • SQL-手册
    • 数据类型
    • SQL语句
    • 注释
    • 内置函数
    • 白名单管理
    • SQL操作符
    • 内置函数
      • 聚合函数
      • 位操作函数
      • 字符串函数
      • 条件函数
      • 数学函数
      • JSON解析函数
      • 类型转换函数
      • 格式转换函数
      • 通用函数
      • 时间和日期函数
      • BITMAP函数
      • 窗口函数
      • 哈希函数
      • HLL函数
    • 语法帮助
      • DML
        • INSERT
        • ROUTINE-LOAD
        • RESTORE
        • SELECT-INTO-OUTFILE
        • ALTER-ROUTINE-LOAD
        • BROKER-LOAD
        • BACKUP
        • EXPORT
        • STREAM-LOAD
      • DDL
        • CREATE-FILE
        • DROP-RESOURCE
        • CREATE-RESOURCE
        • CREATE-MATERIALIZED-VIEW
        • DROP-RESROUCE
        • CREATE-TABLE
        • DROP-REPOSITORY
        • CREATE-REPOSITORY
        • CREATE-ODBC-TABLE
      • 信息查看语句
        • SHOW-BACKUP
        • SHOW-ALTER-TABLE-MATERIALIZED-VIEW
        • SHOW-SNAPSHOT
        • SHOW-ROUTINE-LOAD
        • SHOW-CREATE-ROUTINE-LOAD
        • SHOW-ROLES
        • SHOW-GRANTS
        • SHOW-EXPORT
        • SHOW-ROUTINE-LOAD-TASK
        • SHOW-REPOSITORIES
        • SHOW-LOAD
        • SHOW-RESOURCES
        • SHOW-RESTORE
        • SHOW-PROPERTY
        • SHOW-FILE
      • 辅助命令
        • PAUSE-ROUTINE-LOAD
        • STOP-ROUTINE-LOAD
        • ALTER-ROUTINE-LOAD
        • CANCEL-LOAD
        • RESUME-ROUTINE-LOAD
      • 账户管理
        • SET-PROPERTY
        • REVOKE
        • GRANT
        • CREATE-ROLE
        • DROP-ROLE
        • CREATE-USER
        • DROP-USER
        • SET-PASSWORD
  • 快速入门
    • 快速上手
    • 存算分离
    • 存算一体
  • 典型实践
    • 如何开启Debug日志
    • 导入分析
    • 查询分析
  • 操作手册
    • 权限和子用户
    • 存算一体
      • 连接集群
      • 查询分析
      • 监控告警
        • 监控指标
        • 告警配置
      • 备份恢复
        • 通过管理页面备份与恢复
        • 备份与恢复
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 集群创建
        • 停止与删除
        • 重置管理员密码
        • 集群扩缩容
        • 集群详情
    • 存算分离
      • 连接集群
      • 计算组管理
        • 重启计算组
        • 创建计算组
      • 监控告警
        • 监控指标
        • 告警配置
      • 权限管理
        • 集群权限
        • 控制台权限
      • 集群管理
        • 停止与删除
        • 创建集群
        • 重置管理员密码
        • 集群详情
  • 服务等级协议SLA
    • 服务等级协议(SLA)v1.0
  • 产品概述
    • 系统架构
    • 产品特点
    • 产品介绍
  • 视频专区
    • 操作指南
    • 产品简介
  • 产品定价
    • 预付费
    • 计费说明
    • 后付费
  • 文档中心
  • arrow
  • 数据仓库PALO
  • arrow
  • SQL手册
  • arrow
  • 语法帮助
  • arrow
  • DDL
  • arrow
  • CREATE-TABLE
本页目录
  • CREATE TABLE
  • Description
  • Example
  • Keyword
  • 典型实践
  • 分区和分桶
  • 动态分区
  • 物化视图
  • 索引
  • 内存表

CREATE-TABLE

更新时间:2025-08-21

CREATE TABLE

Description

该命令用于创建一张表。本文档主语介绍创建 PALO 自维护的表的语法。

SQL
1CREATE TABLE [IF NOT EXISTS] [database.]table
2(
3    column_definition_list,
4    [index_definition_list]
5)
6[engine_type]
7[keys_type]
8[table_comment]
9[partition_info]
10distribution_info
11[rollup_list]
12[properties]
13[extra_properties]
  • column_definition_list

    列定义列表:

    column_definition[, column_definition]

    • column_definition

      列定义:

      column_name column_type [KEY] [aggr_type] [NULL] [default_value] [column_comment]

      • column_type

        列类型,支持以下类型:

        Plain Text
        1TINYINT(1字节)
        2    范围:-2^7 + 1 ~ 2^7 - 1
        3SMALLINT(2字节)
        4    范围:-2^15 + 1 ~ 2^15 - 1
        5INT(4字节)
        6    范围:-2^31 + 1 ~ 2^31 - 1
        7BIGINT(8字节)
        8    范围:-2^63 + 1 ~ 2^63 - 1
        9LARGEINT(16字节)
        10    范围:-2^127 + 1 ~ 2^127 - 1
        11FLOAT(4字节)
        12    支持科学计数法
        13DOUBLE(12字节)
        14    支持科学计数法
        15DECIMAL[(precision, scale)] (16字节)
        16    保证精度的小数类型。默认是 DECIMAL(10, 0)
        17    precision: 1 ~ 27
        18    scale: 0 ~ 9
        19    其中整数部分为 1 ~ 18
        20    不支持科学计数法
        21DATE(3字节)
        22    范围:0000-01-01 ~ 9999-12-31
        23DATETIME(8字节)
        24    范围:0000-01-01 00:00:00 ~ 9999-12-31 23:59:59
        25CHAR[(length)]
        26    定长字符串。长度范围:1 ~ 255。默认为1
        27VARCHAR[(length)]
        28    变长字符串。长度范围:1 ~ 65533。默认为1
        29HLL (1~16385个字节)
        30    HyperLogLog 列类型,不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。
        31    必须配合 HLL_UNION 聚合类型使用。
        32BITMAP
        33    bitmap 列类型,不需要指定长度和默认值。表示整型的集合,元素最大支持到2^64 - 1。
        34    必须配合 BITMAP_UNION 聚合类型使用。
      • aggr_type

        聚合类型,支持以下聚合类型:

        Plain Text
        1SUM:求和。适用数值类型。
        2MIN:求最小值。适合数值类型。
        3MAX:求最大值。适合数值类型。
        4REPLACE:替换。对于维度列相同的行,指标列会按照导入的先后顺序,后倒入的替换先导入的。
        5REPLACE_IF_NOT_NULL:非空值替换。和 REPLACE 的区别在于对于null值,不做替换。
        6HLL_UNION:HLL 类型的列的聚合方式,通过 HyperLogLog 算法聚合。
        7BITMAP_UNION:BIMTAP 类型的列的聚合方式,进行位图的并集聚合。

      示例:

      Plain Text
      1  ```
      2  k1 TINYINT,
      3  k2 DECIMAL(10,2) DEFAULT "10.5",
      4  k4 BIGINT NULL DEFAULT VALUE "1000" COMMENT "This is column k4",
      5  v1 VARCHAR(10) REPLACE NOT NULL,
      6  v2 BITMAP BITMAP_UNION,
      7  v3 HLL HLL_UNION,
      8  v4 INT SUM NOT NULL DEFAULT "1" COMMENT "This is column v4"
      9  ```
  • index_definition_list

    索引列表定义:

    index_definition[, index_definition]

    • index_definition

      索引定义:

      SQL
      1INDEX index_name (col_name) [USING BITMAP] COMMENT 'xxxxxx'

      示例:

      SQL
      1INDEX idx1 (k1) USING BITMAP COMMENT "This is a bitmap index1",
      2INDEX idx2 (k2) USING BITMAP COMMENT "This is a bitmap index2",
      3...
  • engine_type

    表引擎类型。本文档中类型皆为 OLAP。示例:

    ENGINE=olap

  • key_desc

    数据模型。

    key_type(col1, col2, ...)

    key_type 支持以下模型:

    • DUPLICATE KEY(默认):其后指定的列为排序列。
    • AGGREGATE KEY:其后指定的列为维度列。
    • UNIQUE KEY:其后指定的列为主键列。

    示例:

    Plain Text
    1DUPLICATE KEY(col1, col2),
    2AGGREGATE KEY(k1, k2, k3),
    3UNIQUE KEY(k1, k2)
  • table_comment

    表注释。示例:

    Plain Text
    1COMMENT "This is my first DORIS table"
  • partition_desc

    分区信息,支持两种写法:

    1. LESS THAN:仅定义分区上界。下界由上一个分区的上界决定。

      Plain Text
      1PARTITION BY RANGE(col1[, col2, ...])
      2(
      3    PARTITION partition_name1 VALUES LESS THAN MAXVALUE|("value1", "value2", ...),
      4    PARTITION partition_name2 VALUES LESS THAN MAXVALUE|("value1", "value2", ...)
      5)
    2. FIXED RANGE:定义分区的左闭右开区间。

      Plain Text
      1PARTITION BY RANGE(col1[, col2, ...])
      2(
      3    PARTITION partition_name1 VALUES [("k1-lower1", "k2-lower1", "k3-lower1",...), ("k1-upper1", "k2-upper1", "k3-upper1", ...)),
      4    PARTITION partition_name2 VALUES [("k1-lower1-2", "k2-lower1-2", ...), ("k1-upper1-2", MAXVALUE, ))
      5)
  • distribution_desc

    定义数据分桶方式。

    DISTRIBUTED BY HASH (k1[,k2 ...]) [BUCKETS num]

  • rollup_list

    建表的同时可以创建多个物化视图(ROLLUP)。

    ROLLUP (rollup_definition[, rollup_definition, ...])

    • rollup_definition

      rollup_name (col1[, col2, ...]) [DUPLICATE KEY(col1[, col2, ...])] [PROPERTIES("key" = "value")]

      示例:

      Plain Text
      1ROLLUP (
      2    r1 (k1, k3, v1, v2),
      3    r2 (k1, v1)
      4)
  • properties

    设置表属性。目前支持以下属性:

    • replication_num

      副本数。默认副本数为3。如果 BE 节点数量小于3,则需指定副本数小于等于 BE 节点数量。

    • storage_medium/storage_cooldown_time

      数据存储介质。storage_medium 用于声明表数据的初始存储介质,而 storage_cooldown_time 用于设定到期时间。示例:

      Plain Text
      1"storage_medium" = "SSD",
      2"storage_cooldown_time" = "2020-11-20 00:00:00"

      这个示例表示数据存放在 SSD 中,并且在 2020-11-20 00:00:00 到期后,会自动迁移到 HDD 存储上。

    • colocate_with

      当需要使用 Colocation Join 功能时,使用这个参数设置 Colocation Group。

      "colocate_with" = "group1"

    • bloom_filter_columns

      用户指定需要添加 Bloom Filter 索引的列名称列表。各个列的 Bloom Filter 索引是独立的,并不是组合索引。

      "bloom_filter_columns" = "k1, k2, k3"

    • in_memory

      通过此属性设置该表是否为内存表。

      "in_memory" = "true"

    • function_column.sequence_type

      当使用 UNIQUE KEY 模型时,可以指定一个sequence列,当KEY列相同时,将按照 sequence 列进行 REPLACE(较大值替换较小值,否则无法替换)

      这里我们仅需指定顺序列的类型,支持时间类型或整型。PALO 会创建一个隐藏的顺序列。

      "function_column.sequence_type" = 'Date'

    • 动态分区相关

      动态分区相关参数如下:

      • dynamic_partition.enable: 用于指定表级别的动态分区功能是否开启。默认为 true。
      • dynamic_partition.time_unit: 用于指定动态添加分区的时间单位,可选择为DAY(天),WEEK(周),MONTH(月)
      • dynamic_partition.start: 用于指定向前删除多少个分区。值必须小于0。默认为 Integer.MIN_VALUE。
      • dynamic_partition.end: 用于指定提前创建的分区数量。值必须大于0。
      • dynamic_partition.prefix: 用于指定创建的分区名前缀,例如分区名前缀为p,则自动创建分区名为p20200108
      • dynamic_partition.buckets: 用于指定自动创建的分区分桶数量

Example

  1. 创建一个明细模型的表

    SQL
    1CREATE TABLE example_db.table_hash
    2(
    3    k1 TINYINT,
    4    k2 DECIMAL(10, 2) DEFAULT "10.5",
    5    k3 CHAR(10) COMMENT "string column",
    6    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
    7)
    8COMMENT "my first table"
    9DISTRIBUTED BY HASH(k1) BUCKETS 32
  2. 创建一个明细模型的表,分区,指定排序列,设置副本数为1

    SQL
    1CREATE TABLE example_db.table_hash
    2(
    3    k1 DATE,
    4    k2 DECIMAL(10, 2) DEFAULT "10.5",
    5    k3 CHAR(10) COMMENT "string column",
    6    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
    7)
    8DUPLICATE KEY(k1, k2)
    9COMMENT "my first table"
    10PARTITION BY RANGE(k1)
    11(
    12    PARTITION p1 VALUES LESS THAN ("2020-02-01"),
    13    PARTITION p1 VALUES LESS THAN ("2020-03-01"),
    14    PARTITION p1 VALUES LESS THAN ("2020-04-01")
    15)
    16DISTRIBUTED BY HASH(k1) BUCKETS 32
    17PROPERTIES (
    18    "replication_num" = "1"
    19);
  3. 创建一个主键唯一模型的表,设置初始存储介质和冷却时间

    SQL
    1CREATE TABLE example_db.table_hash
    2(
    3    k1 BIGINT,
    4    k2 LARGEINT,
    5    v1 VARCHAR(2048) REPLACE,
    6    v2 SMALLINT SUM DEFAULT "10"
    7)
    8UNIQUE KEY(k1, k2)
    9DISTRIBUTED BY HASH (k1, k2) BUCKETS 32
    10PROPERTIES(
    11    "storage_medium" = "SSD",
    12    "storage_cooldown_time" = "2015-06-04 00:00:00"
    13);
  4. 创建一个聚合模型表,使用固定范围分区描述

    SQL
    1CREATE TABLE table_range
    2(
    3    k1 DATE,
    4    k2 INT,
    5    k3 SMALLINT,
    6    v1 VARCHAR(2048) REPLACE,
    7    v2 INT SUM DEFAULT "1"
    8)
    9AGGREGATE KEY(k1, k2, k3)
    10PARTITION BY RANGE (k1, k2, k3)
    11(
    12    PARTITION p1 VALUES [("2014-01-01", "10", "200"), ("2014-01-01", "20", "300")),
    13    PARTITION p2 VALUES [("2014-06-01", "100", "200"), ("2014-07-01", "100", "300"))
    14)
    15DISTRIBUTED BY HASH(k2) BUCKETS 32
  5. 创建一个包含 HLL 和 BITMAP 列类型的聚合模型表

    SQL
    1CREATE TABLE example_db.example_table
    2(
    3    k1 TINYINT,
    4    k2 DECIMAL(10, 2) DEFAULT "10.5",
    5    v1 HLL HLL_UNION,
    6    v2 BITMAP BITMAP_UNION
    7)
    8ENGINE=olap
    9AGGREGATE KEY(k1, k2)
    10DISTRIBUTED BY HASH(k1) BUCKETS 32
  6. 创建两张同一个 Colocation Group 自维护的表。

    SQL
    1CREATE TABLE t1 (
    2    id int(11) COMMENT "",
    3    value varchar(8) COMMENT ""
    4)
    5DUPLICATE KEY(id)
    6DISTRIBUTED BY HASH(id) BUCKETS 10
    7PROPERTIES (
    8    "colocate_with" = "group1"
    9);
    10
    11CREATE TABLE t2 (
    12    id int(11) COMMENT "",
    13    value1 varchar(8) COMMENT "",
    14    value2 varchar(8) COMMENT ""
    15)
    16DUPLICATE KEY(`id`)
    17DISTRIBUTED BY HASH(`id`) BUCKETS 10
    18PROPERTIES (
    19    "colocate_with" = "group1"
    20);
  7. 创建一个带有 bitmap 索引以及 bloom filter 索引的内存表

    SQL
    1CREATE TABLE example_db.table_hash
    2(
    3    k1 TINYINT,
    4    k2 DECIMAL(10, 2) DEFAULT "10.5",
    5    v1 CHAR(10) REPLACE,
    6    v2 INT SUM,
    7    INDEX k1_idx (k1) USING BITMAP COMMENT 'my first index'
    8)
    9AGGREGATE KEY(k1, k2)
    10DISTRIBUTED BY HASH(k1) BUCKETS 32
    11PROPERTIES (
    12    "bloom_filter_columns" = "k2",
    13    "in_memory" = "true"
    14);
  8. 创建一个动态分区表。

    该表每天提前创建3天的分区,并删除3天前的分区。例如今天为2020-01-08,则会创建分区名为p20200108, p20200109, p20200110, p20200111的分区. 分区范围分别为:

    Plain Text
    1[types: [DATE]; keys: [2020-01-08]; ‥types: [DATE]; keys: [2020-01-09]; )
    2[types: [DATE]; keys: [2020-01-09]; ‥types: [DATE]; keys: [2020-01-10]; )
    3[types: [DATE]; keys: [2020-01-10]; ‥types: [DATE]; keys: [2020-01-11]; )
    4[types: [DATE]; keys: [2020-01-11]; ‥types: [DATE]; keys: [2020-01-12]; )
    SQL
    1CREATE TABLE example_db.dynamic_partition
    2(
    3    k1 DATE,
    4    k2 INT,
    5    k3 SMALLINT,
    6    v1 VARCHAR(2048),
    7    v2 DATETIME DEFAULT "2014-02-04 15:36:00"
    8)
    9DUPLICATE KEY(k1, k2, k3)
    10PARTITION BY RANGE (k1) ()
    11DISTRIBUTED BY HASH(k2) BUCKETS 32
    12PROPERTIES(
    13    "dynamic_partition.time_unit" = "DAY",
    14    "dynamic_partition.start" = "-3",
    15    "dynamic_partition.end" = "3",
    16    "dynamic_partition.prefix" = "p",
    17    "dynamic_partition.buckets" = "32" 
    18);
  9. 创建一个带有物化视图(ROLLUP)的表。

    SQL
    1CREATE TABLE example_db.rolup_index_table
    2(
    3    event_day DATE,
    4    siteid INT DEFAULT '10',
    5    citycode SMALLINT,
    6    username VARCHAR(32) DEFAULT '',
    7    pv BIGINT SUM DEFAULT '0'
    8)
    9AGGREGATE KEY(event_day, siteid, citycode, username)
    10DISTRIBUTED BY HASH(siteid) BUCKETS 10
    11ROLLUP (
    12    r1(event_day,siteid),
    13    r2(event_day,citycode),
    14    r3(event_day)
    15)
    16PROPERTIES("replication_num" = "3");

Keyword

Plain Text
1CREATE, TABLE

典型实践

分区和分桶

一个表必须指定分桶列,但可以不指定分区。关于分区和分桶的具体介绍,可参阅 数据划分 文档。

PALO 中的表可以分为分区表和无分区的表。这个属性在建表时确定,之后不可更改。即对于分区表,可以在之后的使用过程中对分区进行增删操作,而对于无分区的表,之后不能再进行增加分区等操作。

同时,分区列和分桶列在表创建之后不可更改,既不能更改分区和分桶列的类型,也不能对这些列进行任何增删操作。

所以建议在建表前,先确认使用方式来进行合理的建表。

动态分区

动态分区功能主要用于帮助用户自动的管理分区。通过设定一定的规则,PALO 系统定期增加新的分区或删除历史分区。

物化视图

用户可以在建表的同时创建多个物化视图(ROLLUP)。物化视图也可以在建表之后添加。写在建表语句中可以方便用户一次性创建所有物化视图。

如果在建表时创建好物化视图,则后续的所有数据导入操作都会同步生成物化视图的数据。物化视图的数量可能会影响数据导入的效率。

如果在之后的使用过程中添加物化视图,如果表中已有数据,则物化视图的创建时间取决于当前数据量大小。

关于物化视图的介绍,请参阅文档 物化视图。

索引

用户可以在建表的同时创建多个列的索引。索引也可以在建表之后再添加。

如果在之后的使用过程中添加索引,如果表中已有数据,则需要重写所有数据,因此索引的创建时间取决于当前数据量。

内存表

当建表时指定了 "in_memory" = "true" 属性。则 PALO 会尽量将该表的数据块缓存在存储引擎的 PageCache 中,已减少磁盘IO。但这个属性不会保证数据块常驻在内存中,仅作为一种尽力而为的标识。

上一篇
DROP-RESROUCE
下一篇
DROP-REPOSITORY