Install
openclaw skills install openclawshOpenClaw 数据建表规范与流程指导。当用户需要创建数据仓库表(DDL)时使用,支持 DWS/DWD/DIM/ADS 等层级,引导完成工作空间选择、表命名、字段定义、分区策略、生命周期等完整建表流程。
openclaw skills install openclawsh当用户需要建表时,按以下顺序确认关键信息:
询问用户要在哪个工作空间(Schema/数据库)建表:
prod_workspacetest_workspacedev_workspace数据层级(必选其一):
| 层级 | 代码 | 说明 |
|---|---|---|
| 数据仓库明细层 | dwd | 清洗后的明细数据 |
| 数据仓库汇总层 | dws | 按主题汇总的轻度汇总表 |
| 维度表 | dim | 维度数据(用户、商品等) |
| 应用数据层 | ads | 面向应用的数据集市 |
| 原始数据层 | ods | 原始接入数据 |
数据域(根据业务选择):
usr - 用户域ord - 订单域prd - 商品域trd - 交易域mkt - 营销域log - 日志域fin - 财务域| 维度 | 选项 | 代码 |
|---|---|---|
| 调度周期 | 天级 | d |
| 小时级 | h | |
| 分钟级 | min | |
| 更新方式 | 全量 | f |
| 增量 | i |
表名拼接规则:
【工作空间】.【数据层】_【数据域】_【业务描述】_【调度周期】【更新方式】
示例:
prod_workspace.dws_ord_daily_order_stats_df (天级全量)prod_workspace.dwd_ord_order_detail_di (天级增量)` (小时级)
必须提供以下信息:
user_id, order_amount)常用字段模板:
-- 基础审计字段(强烈建议)
`gmt_create` DATETIME COMMENT '数据创建时间',
`gmt_modified` DATETIME COMMENT '数据修改时间',
`ds` STRING COMMENT '数据日期,格式yyyyMMdd',
必须提供表级 COMMENT,格式:
COMMENT '【数据域】_【业务描述】_【调度说明】,【主要字段说明】'
推荐分区策略:
| 调度类型 | 分区字段 | 说明 |
|---|---|---|
| 天级表 | ds STRING | 日期分区,格式 yyyyMMdd |
| 小时级 | ds STRING, hr STRING | 日期+小时分区 |
| 全量表 | 可选无分区 | 按业务需要 |
分区示例:
PARTITIONED BY (`ds` STRING COMMENT '数据日期,格式yyyyMMdd')
默认使用 ALIORC:
STORED AS ALIORC
特殊情况可选项:
STORED AS ALIORC - 推荐,高压缩率STORED AS TEXTFILE - 纯文本,调试用按数据层级设置默认 TTL:
| 层级 | 建议 TTL | 说明 |
|---|---|---|
| ODS | 30-90 天 | 原始数据短期保留 |
| DWD | 180-365 天 | 明细数据中期保留 |
| DWS | 365-730 天 | 汇总数据长期保留 |
| ADS | 90-365 天 | 应用数据按需保留 |
| DIM | 365 天或无 | 维度表通常长期保留 |
TTL 语法:
TBLPROPERTIES ('lifecycle'='30')
CREATE TABLE IF NOT EXISTS prod_workspace.dws_ord_daily_order_stats_df (
-- 维度字段
`stat_date` STRING COMMENT '统计日期,格式yyyy-MM-dd',
`merchant_id` BIGINT COMMENT '商家ID',
`merchant_name` STRING COMMENT '商家名称',
`category_id` BIGINT COMMENT '类目ID',
-- 指标字段
`order_cnt` BIGINT COMMENT '订单笔数',
`order_amount` DECIMAL(18,2) COMMENT '订单金额',
`paid_cnt` BIGINT COMMENT '支付笔数',
`paid_amount` DECIMAL(18,2) COMMENT '支付金额',
`refund_cnt` BIGINT COMMENT '退款笔数',
`refund_amount` DECIMAL(18,2) COMMENT '退款金额',
-- 衍生指标
`gmv` DECIMAL(18,2) COMMENT 'GMV',
`actual_amt` DECIMAL(18,2) COMMENT '实际成交金额',
-- 审计字段
`gmt_create` DATETIME COMMENT '数据创建时间',
`gmt_modified` DATETIME COMMENT '数据修改时间'
)
COMMENT '订单域_商家每日订单统计_天级全量,包含订单数、金额、退款等核心指标'
PARTITIONED BY (`ds` STRING COMMENT '数据日期,格式yyyyMMdd')
STORED AS ALIORC
TBLPROPERTIES ('lifecycle'='365');
| 类型 | 后缀 | 示例 |
|---|---|---|
| 数量/次数 | _cnt | order_cnt, pv_cnt |
| 金额 | _amt / _amount | order_amt, pay_amount |
| 比率/比例 | _rate / _ratio | conversion_rate |
| 标识/ID | _id | user_id, order_id |
| 时间 | _time | create_time, pay_time |
| 日期 | _date / _dt | stat_date, birth_dt |
| 标记/Flag | _flag / _is_xxx | is_vip, del_flag |
| 全称 | 缩写 | 示例 |
|---|---|---|
| count | cnt | order_cnt |
| amount | amt | pay_amt |
| number | num | serial_num |
| identifier | id | user_id |
| timestamp | ts | create_ts |
| datetime | dt | log_dt |
建表完成后,确认以下事项:
{层}_{域}_{业务}_{调度}