CREATE TABLE dim_hljy_ord_stu_info (
rowkey STRING,
cf1 ROW,
PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
'connector' = 'hbase-2.2',
'table-name' = 'dim:dim_stu_info',
'zookeeper.quorum' = 'localhost:2181',
'sink.buffer-flush.max-size'='10mb',
'sink.buffer-flush.max-rows' = '2000',
'sink.buffer-flush.interval' = '1s',
'sink.async' = 'true'
);
– flink-sql 读取hbase列簇(数据列)
SELECT cf1.order_type from dim_hljy_ord_stu_info limit 10 ;
CREATE TABLE ods_ord_stu_info` (
`id` BIGINT COMMENT '主键',
`order_type` STRING COMMENT '订单类型1-报名2-择升 3-升级',
`order_no` STRING COMMENT '订单号',
`create_time` timestamp(1) COMMENT '创建时间' ,
`update_time` timestamp(1) COMMENT '更新时间',
`is_deleted` tinyint COMMENT '0:未删除,1:删除',
PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
'connector' = 'upsert-kafka',
'topic' = 'topic_ods_ord_stu_info',
'properties.bootstrap.servers' = 'localhost:9092',
'key.format' = 'json',
'value.format' = 'json',
'key.json.ignore-parse-errors' = 'true',
'value.json.fail-on-missing-field' = 'false'
);
– 定义在flink hbase流表
CREATE TABLE dim_hljy_ord_stu_info (
rowkey STRING,
cf1 ROW,
PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
'connector' = 'hbase-2.2',
'table-name' = 'hljy:dim_hljy_ord_stu_info',
'zookeeper.quorum' = '10.155.0.40:2181',
'sink.buffer-flush.max-size'='10mb',
'sink.buffer-flush.max-rows' = '2000',
'sink.buffer-flush.interval' = '1s',
'sink.async' = 'true'
);
– flink-sql 将kafka 流表写入hbase
insert into dim_hljy_ord_stu_info select concat_ws('_',UUID(),`sno`,`enroll_code`),row(`id`,`sno`,`enroll_code ,`create_time`,`update_time`,`pay_route`)
from ods_ord_stu_info ;