Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
概述:
對參考鏈接[1]進行DDL上的復現。
一些基本的業務常識
| ? | 來源載體 | 數據特點 |
| 維表 | Mysql/Csv/Hbase | 很少變化 |
| 事實表 | Kafka | 不停變化 |
開發環境與準備工作
| 組件 | 版本 |
| Flink(HA) | 1.12 |
| Zookeeper | 3.6.0 |
| Hadoop | 3.1.2 |
| Hbase(HA) | 2.2.4 |
| Kafka(HA) | 2.5.0 |
| Mysql | 8.0.22-0ubuntu0.20.04.2 (Ubuntu) |
關閉防火墻:
service firewalld stop
然后啟動上述所有集群
實驗框架
數據集+完整實驗步驟+DDL/SQL
①$KAFKA/bin/kafka-console-producer.sh --broker-list Desktop:9091 --topic json_parse
{"afterColumns":{"created":"1589186680","extra":{"canGiving":false},"parameter":[1,2,3,4] },"beforeColumns":null,"tableVersion":{"binlogFile":null, "binlogPosition":0, "version":0},"touchTime":1589186680591}
輸入后按下回車
$KAFKA/bin/kafka-console-consumer.sh --bootstrap-server Desktop:9091 --from-beginning --topic json_parse
消費該topic,確保kafka已經包含了該數據
②Hbase需要進行的操作:
| 本實驗需要執行的hbase命令 | 含義 |
| hbase shell | 登錄客戶端 |
| create 't2',{NAME => 'f1'} | 創建表格 |
| put 't2','1589186680','f1:col1','2020-05-11 16:44:40' | 傳入數據 |
| scan 't2' | 查看表格 |
?
啟動Flink SQL Client
| ? | 實驗效果 |
| 事實表t1 (具體見下面的gitee) | |
| 維度表t2 (具體見下面的gitee) | |
| Join操作 (具體見下面的gitee) |
上述匯總如下:
https://gitee.com/appleyuchi/Flink_Code/blob/master/FLINK讀寫各種數據源/Correlate_hbase.sql
?
時間統計:
| 操作 | 查詢一次的時間統計 |
| Flink SQL查詢Hbase | 12s |
| Flink SQL查詢Kafka | 11s-12s |
?
Reference:
[1]Flink Sql教程(6)
總結
以上是生活随笔為你收集整理的Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宽度学习系统(Broad Learnin
- 下一篇: 「网工小白必备」全网最详细的网络基础之A