CREATE TABLE hudi_table
(
    `goods_order_id`  bigint COMMENT '自增主键id',
    `goods_order_uid` string COMMENT '订单uid',
    `customer_uid`    string COMMENT '客户uid',
    `customer_name`   string COMMENT '客户name',
    `create_time`     timestamp(3) COMMENT '创建时间',
    `update_time`     timestamp(3) COMMENT '更新时间',
    `create_by`       string COMMENT '创建人uid（唯一标识）',
    `update_by`       string COMMENT '更新人uid（唯一标识）',
    PRIMARY KEY (goods_order_id) NOT ENFORCED
) COMMENT 'hudi_table'
WITH (
'connector' = 'hudi',
'path' = 'hdfs://cluster1/data/bizdata/cdc/mysql/order/goods_order', -- 路径会自动创建
'hoodie.datasource.write.recordkey.field' = 'goods_order_id', -- 主键
'write.precombine.field' = 'update_time', -- 相同的键值时，取此字段最大值，默认ts字段
'read.streaming.skip_compaction' = 'true', -- 避免重复消费问题
'write.bucket_assign.tasks' = '2', -- 并发写的 bucekt 数
'write.tasks' = '2',
'compaction.tasks' = '1',
'write.operation' = 'upsert', -- UPSERT（插入更新）\INSERT（插入）\BULK_INSERT（批插入）（upsert性能会低些，不适合埋点上报）
'write.rate.limit' = '20000', -- 限制每秒多少条
'table.type' = 'COPY_ON_WRITE', -- 默认COPY_ON_WRITE ，
'compaction.async.enabled' = 'true', -- 在线压缩
'compaction.trigger.strategy' = 'num_or_time', -- 按次数压缩
'compaction.delta_commits' = '20', -- 默认为5
'compaction.delta_seconds' = '60', -- 默认为1小时
'hive_sync.enable' = 'true', -- 启用hive同步
'hive_sync.mode' = 'hms', -- 启用hive hms同步，默认jdbc
'hive_sync.metastore.uris' = 'thrift://cdh2.vision.com:9083', -- required, metastore的端口
'hive_sync.jdbc_url' = 'jdbc:hive2://cdh1.vision.com:10000', -- required, hiveServer地址
'hive_sync.table' = 'order_mysql_goods_order', -- required, hive 新建的表名 会自动同步hudi的表结构和数据到hive
'hive_sync.db' = 'cdc_ods', -- required, hive 新建的数据库名
'hive_sync.username' = 'hive', -- required, HMS 用户名
'hive_sync.password' = '123456', -- required, HMS 密码
'hive_sync.skip_ro_suffix' = 'true' -- 去除ro后缀
);