Flink提供了丰富的客户端操作来提交任务,本文在Restful方式上提供扩展,其余四种方式可观看flink-china系列教程-客户端操作的具体分享
Flink从1.7版本开始支持RESTClient提交任务,RESTClient可能很多人不熟悉。使用RESTClient提交任务,换句话说就是Flink可支持API调用方式,提交你编写好的Flink代码,提交到Flink集群运行。本文演示读取kafka数据,使用Springcloud微服务框架调用启动,下面是具体实现步骤。
编写Flink程序
新建Springboot父工程,新建flink-service模块。flink-service新建以下代码,然后打包项目。打包项目的目的是把flink任务执行需要用到jar包,在使用RESTClient提交任务是,一起提交到集群运行。
public class ReadFromsinkKafka {
public static void main(String[] args) throws Exception {
// create execution environment
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "192.168.11.12:9092");
properties.setProperty("group.id", "flinksink");
DataStream<String> stream = env.addSource(new FlinkKafkaConsumer("flinktest",
new SimpleStringSchema(), properties));
stream.map(new MapFunction<String, String>() {
private static final long serialVersionUID = -6867736771747690202L;
@Override
public String map(String value) throws