如何在FlinkSQL中实现对HBase表的读写操作?

提问者:帅平 问题分类:面试刷题
如何在FlinkSQL中实现对HBase表的读写操作?
2 个回答
宁愿短发披肩
宁愿短发披肩
具体操作如下:
1、引入依赖
<!-- Maven依赖示例 -->
<dependency>
  <groupId>org.apache.hbase</groupId>
  <artifactId>hbase-client</artifactId>
  <version>2.6.0</version>
</dependency>
<dependency>
  <groupId>org.apache.hbase</groupId>
  <artifactId>hbase-thrift</artifactId>
  <version>2.6.0</version>
</dependency>
2、创建hbase表对应的flink表
CREATE TABLE hbase_table (
  rowkey STRING,
  cf1_col1 STRING,
  cf1_col2 INT,
  cf2_col1 DOUBLE,
  PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
  'connector' = 'jdbc',
  'url' = 'jdbc:hbase://localhost:2181/hbase',
  'table-name' = 'my_hbase_table',
  'driver' = 'org.apache.hbase.jdbc.JdbcDriver',
  'scan.cache-size' = '1000',  -- 扫描缓存大小
  'scan.batch-size' = '100'   -- 批量写入大小
);
发布于:1周前 (05-28) IP属地:
自愈
自愈
3、读操作
SELECT rowkey, cf1_col1, cf2_col1 
FROM hbase_table 
WHERE cf1_col2 > 100;
4、写操作
INSERT INTO hbase_table
VALUES 
  ('row1', 'value1', 123, 45.6),
  ('row2', 'value2', 456, 78.9);
发布于:1周前 (05-28) IP属地:
我来回答