更新时间:2024-08-03 GMT+08:00
Flink Join样例程序开发思路
场景说明
假定某个Flink业务1每秒就会收到1条消息记录,消息记录某个用户的基本信息,包括名字、性别、年龄。另有一个Flink业务2会不定时收到1条消息记录,消息记录该用户的名字、职业信息。
基于某些业务要求,开发的Flink应用程序实现功能:实时的以根据业务2中消息记录的用户名字作为关键字,对两个业务数据进行联合查询。
数据规划
- 业务1的数据存储在Kafka组件中。向Kafka组件发送数据(需要有Kafka权限用户),并从Kafka组件接收数据。Kafka配置参见样例数据规划章节。
- 业务2的数据通过socket接收消息记录,可使用netcat命令用户输入模拟数据源。
- 使用Linux命令netcat -l -p <port>,启动一个简易的文本服务器。
- 启动应用程序连接netcat监测的port成功后,向netcat终端输入数据信息。
开发思路
- 启动Flink Kafka Producer应用向Kafka发送数据。
- 启动Flink Kafka Consumer应用从Kafka接收数据,构造Table1,保证topic与producer一致。
- 从soket中读取数据,构造Table2。
- 使用Flink SQL对Table1和Table2进行联合查询,并进行打印。
父主题: Flink Join样例程序