更新时间:2022-12-07 GMT+08:00
插入数据至HBase表
功能描述
INSERT INTO命令将表中的数据插入到已关联的hbase表中。
语法格式
- 将SELECT查询结果插入到表中:
1 2 3 4 5 6 7
INSERT INTO DLI_TABLE SELECT field1,field2... [FROM DLI_TEST] [WHERE where_condition] [LIMIT num] [GROUP BY field] [ORDER BY field] ...;
- 将某条数据插入到表中:
1 2
INSERT INTO DLI_TABLE VALUES values_row [, values_row ...];
关键字
SELECT对应关键字说明请参考SELECT基本语句。
参数说明
参数 |
描述 |
---|---|
DLI_TABLE |
已创建跨源连接的表名称。 |
DLI_TEST |
为包含待查询数据的表。 |
field1,field2...,field |
表“DLI_TEST”中的列值,需要匹配表“DLI_TABLE”的列值和类型。 |
where_condition |
查询过滤条件。 |
num |
对查询结果进行限制,num参数仅支持INT类型。 |
values_row |
想要插入到表中的值,列与列之间用逗号分隔。 |
注意事项
- 表必须已经存在。
- 在“创建表关联HBase”章节创建的表中,OPTIONS里的Cols指定的列族如果不存在,insert into执行时会报错。
- 如果插入的(rowkey, 列族, 列)已存在,则执行插入操作时,会覆盖hbase中相同的(rowkey, 列族, 列)。
- 不建议对同一张表并发插入数据,因为有一定概率发生并发冲突,导致插入失败。
- 不支持INSERT OVERWRITE语法。
示例
- 查询表“user”中的数据插入表“test”中。
1 2 3 4 5 6
INSERT INTO test SELECT ATTR_EXPR FROM user WHERE user_name='cyz' LIMIT 3 GROUP BY user_age
- 插入数据“1”到表“test”中
INSERT INTO test VALUES (1);
父主题: 跨源连接HBase表