参考这个案例试试: CREATE TEMPORARY TABLE datagen_source ( a INT, b BIGINT, c STRING, `proc_time` AS PROCTIME() ) WITH ( 'connector'='datagen' );
CREATE TEMPORARY TABLE hbase_dim ( rowkey INT, family1 ROW<col1 INT>, family2 ROW<col1 STRING, col2 BIGINT>, family3 ROW<col1 DOUBLE, col2 BOOLEAN, col3 STRING> ) WITH ( 'connector'='cloudhbase', 'table-name'='<yourTableName>', 'zookeeper.quorum'='<yourZookeeperQuorum>' ); CREATE TEMPORARY TABLE blackhole_sink( a INT, f1c1 INT, f3c3 STRING ) WITH ( 'connector'='blackhole' ); INSERTINTO blackhole_sink SELECT a, family1.col1 as f1c1, family3.col3 as f3c3 FROM datagen_source JOIN hbase_dim FORSYSTEM_TIMEASOF datagen_source.`proc_time` as h ON datagen_source.a = h.rowkey; | | 博星 | | 15868861...@163.com | ---- 回复的原邮件 ---- | 发件人 | xiaohui zhang<xhzhang...@gmail.com> | | 发送日期 | 2024年06月20日 10:03 | | 收件人 | <user-zh@flink.apache.org> | | 主题 | Re: 使用hbase连接器插入数据,一个列族下有多列时如何只更新其中一列 | flink在写入时需要所有DDL中定义的字段都必须被同时写入,不支持sql中只使用部分字段。 如果你确定只需写入部分数据,在DDL中只定义你用到的部分 zboyu0104 <zboyu0...@aliyun.com.invalid> 于2024年6月14日周五 15:43写道: 怎么退订 from 阿里邮箱 iPhone------------------------------------------------------------------ 发件人:谢县东<a_xiexiand...@163.com> 日 期:2024年06月06日 16:07:05 收件人:<user-zh@flink.apache.org> 主 题:使用hbase连接器插入数据,一个列族下有多列时如何只更新其中一列 各位好: flink版本: 1.13.6 我在使用 flink-connector-hbase 连接器,通过flinkSQL 将数据写入hbase,hbase 建表如下: CREATE TABLE hbase_test_db_test_table_xxd ( rowkey STRING, cf1 ROW<name String, sex STRING, age String>, PRIMARY KEY (rowkey) NOT ENFORCED ) WITH ( 'connector' = 'hbase-2.2', 'table-name' = 'test_db:test_table_t1', 'zookeeper.quorum' = 'xxx:2181', 'zookeeper.znode.parent' = '/hbase', 'null-string-literal' = '', 'sink.parallelism' = '2' ); hbase cf1列族下有三列,看官网示例插入数据时需要构建一个row类型插入(row类型需包含列族下的所有列) INSERT INTO hbase_test_db_test_table_xxd select '002' as rowkey, row('xxd_2', 'boy', '10') as cf1; 如果只想更新其中某一列如何实现?在flink中新建一个hbase表吗?