没有合适的资源?快使用搜索试试~ 我知道了~
首页FlinkSQL实战:HBase的结合应用
FlinkSQL实战:HBase的结合应用
1.8k 浏览量
更新于2023-05-29
评论
收藏 1.05MB PDF 举报
HBase作为Google发表BigTable论文的开源实现版本,是一种分布式列式存储的数据库,构建在HDFS之上的NoSQL数据库,非常适合大规模实时查询,因此HBase在实时计算领域使用非常广泛。可以实时写HBase,也可以利用buckload一把把离线Job生成HFileLoad到HBase表中。而当下FlinkSQL的火热程度不用多说,FlinkSQL也为HBase提供了connector,因此HBase与FlinkSQL的结合非常有必要实践实践。当然,本文假设用户有一定的HBase知识基础,不会详细去介绍HBase的架构和原理,本文着重介绍HBase和Flink在实际场景中的结合使用
资源详情
资源评论
资源推荐

FlinkSQL实战:实战:HBase的结合应用的结合应用
HBase 作为 Google 发表 Big Table 论文的开源实现版本,是一种分布式列式存储的数据库,构建在 HDFS 之上的 NoSQL 数
据库,非常适合大规模实时查询,因此 HBase 在实时计算领域使用非常广泛。可以实时写 HBase,也可以利用 buckload 一
把把离线 Job 生成 HFile Load 到HBase 表中。而当下 Flink SQL 的火热程度不用多说,Flink SQL 也为 HBase 提供了
connector,因此 HBase 与 Flink SQL 的结合非常有必要实践实践。
当然,本文假设用户有一定的 HBase 知识基础,不会详细去介绍 HBase 的架构和原理,本文着重介绍 HBase 和 Flink 在实
际场景中的结合使用。主要分为两种场景,第一种场景:HBase 作为维表与 Flink Kafka table 做 temporal table join 的场景;
第二种场景:Flink SQL 做计算之后的结果写到 HBase 表,供其他用户查询的场景。因此,本文介绍的内容如下所示:
· HBase 环境准备
· 数据准备
· HBase 作为维度表进行 temporal table join的场景
· Flink SQL 做计算写 HBase 的场景
· 总结
一、HBase 环境准备
由于没有测试的 HBase 环境以及为了避免污染线上 Hbase 环境。因此,自己 build一个 Hbase docker image(大家可以
docker pull guxinglei/myhbase 拉到本地),是基于官方干净的 ubuntu imgae 之上安装了 Hbase 2.2.0 版本以及 JDK1.8 版
本。
启动容器,暴露 Hbase web UI 端口以及内置 zk 端口,方便我们从 web 页面看信息以及创建 Flink Hbase table 需要 zk 的链
接信息。
进入容器,启动 HBase 集群,以及启动 rest server,后续方便我们用 REST API 来读取 Flink SQL 写进 HBase 的数据。
二、数据准备
由于 HBase 环境是自己临时搞的单机服务,里面没有数据,需要往里面写点数据供后续示例用。在 Flink SQL 实战系列第二
篇中介绍了如何注册 Flink Mysql table,我们可以将广告位表抽取到 HBase 表中,用来做维度表,进行 temporal table join。
因此,我们需要在 HBase 中创建一张表,同时还需要创建 Flink HBase table, 这两张表通过 Flink SQL 的 HBase connector
关联起来。
在容器中启动 HBase shell,创建一张名为 dim_hbase 的 HBase 表,建表语句如下所示:



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0