Transactional Table(事务表)创建和使用
2024-01-03 19:42:14
Transactional Table(事务表)创建和使用
1. 介绍
创建可以支持增删改操作(insert,delete,update)的事务表
使用工具: maxcomputer
本次创建 Transactional Table 1.0表
初次使用,欢迎指教;
2. 建表语句
CREATE TABLE IF NOT EXISTS tmp_monitor_tbl_info (
`id` STRING COMMENT '表编号id'
, `tbl_name` STRING COMMENT '表名'
, `pt_format` STRING COMMENT '分区格式: yyyy-MM-dd,yyyyMMdd 等'
, `val_type` STRING COMMENT '值类型: 表行数,周期值等'
, `monitor_flag` int COMMENT '监控标识: 0:不监控, 1:监控;'
, `rule_code` int COMMENT '规则编码: 1:表行数,上周期差值, 2:表行数,固定值 等'
, `rule_type` STRING COMMENT '规则类型: 表行数,上周期差值; 表行数,固定值; 与固定值比较 等'
, `expect_val` int COMMENT '期望值'
, `tbl_sort_code` int COMMENT '表类型编码: 0:其它(维表类), 1:亚马逊, 2:中小平台, 3:市场数据 等'
, `tbl_sort_name` STRING COMMENT '表类型名字: 0:其它(维表类), 1:亚马逊, 2:中小平台, 3:市场数据 等'
) COMMENT '数据监控表信息'
tblproperties ("transactional"="true");
-- 注意: MaxCompute只允许在创建表时设置Transactional属性。已创建的表不允许通过alter table方式修改Transactional属性,执行如下语句会报错:
alter table tmp_monitor_tbl_info set tblproperties("transactional"="true");
-- 报错
FAILED: ODPS-0130071:[1,1] Semantic analysis exception - alter transactional property is not supported
-- -- 查看表信息
DESC tmp_monitor_tbl_info ;
+------------------------------------------------------------------------------------+
| Owner: RAM$****科技有限公司:johnathan |
| Project: puture_bigdata |
| TableComment: 数据监控表信息 |
+------------------------------------------------------------------------------------+
| CreateTime: 2024-01-03 14:48:39 |
| LastDDLTime: 2024-01-03 14:48:39 |
| LastModifiedTime: 2024-01-03 14:49:46 |
+------------------------------------------------------------------------------------+
| InternalTable: YES | Size: 3383 |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| id | string | | 表编号id |
| tbl_name | string | | 表名 |
| pt_format | string | | 分区格式: yyyy-MM-dd,yyyyMMdd 等 |
| val_type | string | | 值类型: 表行数,周期值等 |
| monitor_flag | int | | 监控标识: 0:不监控, 1:监控; |
| rule_code | int | | 规则编码: 1:表行数,上周期差值, 2:表行数,固定值 等 |
| rule_type | string | | 规则类型: 表行数,上周期差值; 表行数,固定值; 与固定值比较 等 |
| expect_val | int | | 期望值 |
| tbl_sort_code | int | | 表类型编码: 0:其它(维表类), 1:亚马逊, 2:中小平台, 3:市场数据 等 |
| tbl_sort_name | string | | 表类型名字: 0:其它(维表类), 1:亚马逊, 2:中小平台, 3:市场数据 等 |
+------------------------------------------------------------------------------------+
3. 表操作
写入数据
-- 写入数据
INSERT INTO TABLE tmp_monitor_tbl_info
SELECT * FROM (
VALUES (1 , 'ods_amazon_amz_customer_returns_df', 'yyyyMMdd', '表行数', 1, 1, '表行数,上周期差值', 0, 1, '亚马逊' )
, (2 , 'ods_amazon_amz_flat_file_all_orders_df', 'yyyyMMdd', '表行数', 1, 1, '表行数,上周期差值', 0, 1, '亚马逊' )
, (3 , 'dim_sys_salesman_info_df', 'yyyyMMdd', '表行数', 1, 1, '表行数,上周期差值', 0, 0, '其它' )
, (4 , 'ods_dawnwin_erp_ba_goods_brand_df', 'yyyyMMdd', '表行数', 1, 1, '表行数,上周期差值', 0, 0, '其它' )
, (5 , 'ods_dawnwin_erp_op_bom_vc_relation_df', 'yyyyMMdd', '表行数', 1, 1, '表行数,上周期差值', 0, 2, '中小平台' )
) AS table_name(id, tbl_name, pt_format, val_type, monitor_flag, rule_code, rule_type, expect_val, tbl_sort_code, tbl_sort_name ) ;
-- 查看数据
SELECT id, tbl_name, pt_format, val_type, monitor_flag FROM tmp_monitor_tbl_info ;
id | tbl_name | pt_format | val_type | monitor_flag |
---|---|---|---|---|
1 | ods_amazon_amz_customer_returns_df | yyyyMMdd | 表行数 | 1 |
2 | ods_amazon_amz_flat_file_all_orders_df | yyyyMMdd | 表行数 | 1 |
3 | dim_sys_salesman_info_df | yyyyMMdd | 表行数 | 1 |
4 | ods_dawnwin_erp_ba_goods_brand_df | yyyyMMdd | 表行数 | 1 |
5 | ods_dawnwin_erp_op_bom_vc_relation_df | yyyyMMdd | 表行数 | 1 |
更新数据
-- 更新一条数据
UPDATE tmp_monitor_tbl_info SET id = 6 WHERE id = 5 ;
-- 查看数据
SELECT id, tbl_name, pt_format, val_type, monitor_flag FROM tmp_monitor_tbl_info ;
id | tbl_name | pt_format | val_type | monitor_flag |
---|---|---|---|---|
1 | ods_amazon_amz_customer_returns_df | yyyyMMdd | 表行数 | 1 |
2 | ods_amazon_amz_flat_file_all_orders_df | yyyyMMdd | 表行数 | 1 |
3 | dim_sys_salesman_info_df | yyyyMMdd | 表行数 | 1 |
4 | ods_dawnwin_erp_ba_goods_brand_df | yyyyMMdd | 表行数 | 1 |
6 | ods_dawnwin_erp_op_bom_vc_relation_df | yyyyMMdd | 表行数 | 1 |
删除数据
-- 删除一条数据
DELETE FROM tmp_monitor_tbl_info WHERE id = 6 ;
-- 查看数据
SELECT id, tbl_name, pt_format, val_type, monitor_flag FROM tmp_monitor_tbl_info ;
id | tbl_name | pt_format | val_type | monitor_flag |
---|---|---|---|---|
1 | ods_amazon_amz_customer_returns_df | yyyyMMdd | 表行数 | 1 |
2 | ods_amazon_amz_flat_file_all_orders_df | yyyyMMdd | 表行数 | 1 |
3 | dim_sys_salesman_info_df | yyyyMMdd | 表行数 | 1 |
4 | ods_dawnwin_erp_ba_goods_brand_df | yyyyMMdd | 表行数 | 1 |
插入数据
-- 插入一条数据
INSERT INTO TABLE tmp_monitor_tbl_info (id, tbl_name, pt_format, val_type, monitor_flag, rule_code, rule_type, expect_val, tbl_sort_code, tbl_sort_name)
VALUES (8, 'dws_amazon_market_sales_return_stat_di', 'yyyyMMdd', '表行数', 1, 2, '表行数,固定值', 80, 1, '亚马逊') ;
-- 查看数据
SELECT id, tbl_name, pt_format, val_type, monitor_flag FROM tmp_monitor_tbl_info ;
id | tbl_name | pt_format | val_type | monitor_flag |
---|---|---|---|---|
1 | ods_amazon_amz_customer_returns_df | yyyyMMdd | 表行数 | 1 |
2 | ods_amazon_amz_flat_file_all_orders_df | yyyyMMdd | 表行数 | 1 |
3 | dim_sys_salesman_info_df | yyyyMMdd | 表行数 | 1 |
4 | ods_dawnwin_erp_ba_goods_brand_df | yyyyMMdd | 表行数 | 1 |
8 | dws_amazon_market_sales_return_stat_di | yyyyMMdd | 表行数 | 1 |
end
文章来源:https://blog.csdn.net/Taerge0110/article/details/135370124
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!