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

回复