1. 基本概念
Flink是一款分布式的计算引擎,它可以用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果;也可以用来做一些基于事件的应用。
kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
kafka名词解释:
producer:生产者。
consumer:消费者。
topic: 消息以topic为类别记录,Kafka将消息种子(Feed)分门别类,每一类的消息称之为一个主题(Topic)。
broker:以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker;消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。
2. 实现思路
实现流处理流程,对应核心要点描述如下:
1 读取配置文件生成配置JobConfig对象,设置Properties对象属性;
JobConfig conf = JobConfig.getInstance();
if (conf == null)
throw new ConfigurationException("配置项不能为空!");
Properties props = new Properties();
props.put("bootstrap.servers", conf.getKafkaCluster());
props.put("group.id", conf.getGroupId());
2 获取上下文环境StreamExecutionEnvironment对象与设置并行数;
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecut