更新时间:2025-09-22 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一致。
 - 从socket中读取数据,构造Table2。
 - 使用Flink SQL对Table1和Table2进行联合查询,并进行打印。
 
   父主题: Flink Join样例程序