本文主要介绍如何使用 FLink SQL 自己的 DDL语言来构建基于 kafka 的表和 基于Mysql 的表,并直接把从 kafka 接过来的 Json 格式的数据转换为 表结构后直接写入到Mysql,有了这样的经验之后,大家可以自行修改 DML操作来实现不同的业务。文章内容参考了一些阿里云邪大佬的文章Link,写的很好。
环境配置如下:
zookeeper : 3.4.6
kafka: 2.12-2.2.1
mysql: 8.0
以上三个组件全部是通过Docker搭建,我的环境是使用VirtualBox搭建的Centos7虚拟机,在虚拟机上安装Docker, 之后在本地主机IDE内调试代码。其中遇到了不少坑,主要是FLink与Kafka的通信,可以参考我的Docker-Compose文件的配置,已经解决了网络问题。注意KAFKA_ADVERTISED_LISTENERS的地址修改成自己的虚拟机IP地址。
version: '2.1'
services:
zookeeper:
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.12-2.2.1
ports:
- "9092:9092"
depends_on:
- zookeeper
expose:
- "9093"
environment:
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9