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表吗? > > > > > > > > >