文档首页/
    
      
      MapReduce服务 MRS/
      
      
        
        
        开发指南(普通版_2.x及之前)/
        
        
        Flink开发指南/
        
        
        开发Flink应用/
        
        
        Stream SQL Join程序/
        
      
      Flink Stream SQL Join应用开发思路
    
  
  
    
        更新时间:2025-10-28 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
Flink Stream SQL 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进行联合查询,并进行打印。
 
   父主题: Stream SQL Join程序