flink SQL与hbase整合

一、前言

flink sql 与hbase 整合 主要实现:flink sql 客户端中的hbase表与hbase中的表数据交互,为以后纯sql编写程序做准备如:创建kafka表、hive表、hbase表、mysql表,kafka表作为source  hive表 sql语句加工作为算子 hbase表、mysql表作为sink表

1.flink sql 客户端中能读取hbase shell 写入的数据  2.flink sql 客户端写入hbase表中的数据在hbase shell中能读取

flink 1.11.0    hbase 1.2

主要参考官网:Apache Flink 1.11 Documentation: HBase SQL Connector

二、主要步骤

1.添加hbase依赖到flink sql客户端

在 /etc/profile 文件中添加如下两行:

export HBASE_HOME=/usr/local/apps/hbase

export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase classpath`

添加这两个环境变量主要参考:https://hbase.apache.org/book.html#hbase.mapreduce.classpath       官网上hbase依赖中有说让参考此链接

完整的环境变量配置如下:

重启flink 集群及启动 flink SQL 客户端

./start-cluster.sh

/sql-client.sh embedded

set table.sql-dialect=default;  (我的客户端配置文件中设置了sql-dialect 为hive 所以要切回default )

2.在hbase中创建hbase表,flink SQL中创建hbase表

hbase 中创建hbase表

create 'wm:hbase_user_behavior', 'info';

在flink sql 客户端中建表

CREATE TABLE hbase_user_behavior(
rowkey STRING,
info ROW<user_id STRING,mt_wm_poi_id STRING,shop_name STRING,source STRING,platform STRING,create_time STRING,dt STRING,hr STRING,mm STRING>,
PRIMARY KEY (rowkey) NOT ENFORCED
) WITH (
'connector' = 'hbase-1.4',
'table-name' = 'wm:hbase_user_behavior',
'zookeeper.quorum' = 'ELK01:2181,ELK02:2181,ELK03:2181',
'zookeeper.znode.parent' = '/hbase'
);

建表语句中各字段意思官网上有解释

3.在flink sql客户端中测试读写hbase表数据

1.flink sql 客户端中能读取hbase shell 写入的数据

hbase shell 中添加数据:

flink sql 中读取此数据:  SELECT * FROM hbase_user_behavior;

2.flink sql 客户端写入hbase表中的数据在hbase shell中能读取

INSERT INTO hbase_user_behavior
SELECT 'rowkey_test', ROW('test', 'test', 'test','test','test','test','test','test','test') as info ;

flink sql 执行插入语句 提交job

hbase shell 中查看插入的数据:get 'wm:hbase_user_behavior', 'rowkey_test'

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值