该demo基于flnk 1.10版本,由flink大佬fhueske发布到github:https://github.com/fhueske/flink-sql-demo。
动手实践前请先git clone https://github.com/fhueske/flink-sql-demo.git。
由于该demo内容较多,所以文章拆成了2部分,此为第一部分。
场景和数据介绍
此demo主要演示:
- Flink SQL如何处理不同存储系统中的数据
- Flink SQL如何使用Hive Metastore作为外部持久化catalog
- 批流统一查询实践
- 几种Join动态数据的不同方式
- 使用DDL创建表
- 在Kafka和MySQL中使用连续SQL查询维护物化视图
此demo的场景是电商收到订单
该订单系统由7张表组成
- PROD_ORDERS 主订单表
- PROD_LINEITEM: 子订单表
- PROD_CUSTOMER: 用户表
- PROD_NATION: 国家表
- PROD_REGION: 地区表
- PROD_RATES: 货币汇率表
- PROD_RATES_HISTORY: 货币汇率变更历史记录表
根据数据的更新特征(更新频率、insert-only),上面的表存在不同的系统中:
- 存在KAFKA中的:PROD_ORDERS, PROD_LINEITEM, PROD_RATES_HISTORY
- 存在MySQL中的:PROD_CUSTOMER, PROD_NATION, PROD_REGION, PROD_RATES
数据下载
可以从Google Drive上下载https://drive.google.com/file/d/15LWUBGZenWaW3R_WNxqvcTQOuA_Kgtjv,然后解压到demo的"./data"目录。
部分同学可能下载不方便,我把数据另存了一份在csdn,受csdn文件大小限制,我分成了2个部分,请分别下载后和解压:
part1:https://download.csdn.net/download/cndotaci/12540851
part2:https://download.csdn.net/download/cndotaci/12540856