StreamExecutionEnvironment} import org.apache.flink.api.scala._ object SourceApp { def main(args: Array[String]): Unit = { val env = StreamExecutionEnvironment.getExecutionEnvironment //测试使用 env.addSource(new AccessSource).setParallelism(3).print() env.execute(this.getClass.getSimpleName...
flinkKafka.setStartFromLatest(); DataStream<String> sendStream = env.addSource(flinkKafka) .setParallelism(sendParallel) ; //数据通过自定义的Log2RedisProcessFunction类过滤并写入到redis SingleOutputStreamOperator<String> Filterstream = sendStream .process(new Log2RedisProcessFunction()) .setParallelism(...
//创建一个kafka生产者FlinkKafkaProducer<String>myProducer=newFlinkKafkaProducer<String>("transformed-data-stream",newProducerStringSerializationSchema("transformed-data-stream"),properties,FlinkKafkaProducer.Semantic.EXACTLY_ONCE);// serialization schema//将数据流导入到生产者中stream.addSink(myProducer); 但...
val kafkaDS: DataStream[String] = env.addSource( new FlinkKafkaConsumer011[String]( "test1", new SimpleStringSchema(), properties ) ) kafkaDS.print("测试:") env.execute("kafkaSource") } } 在这个里面,要注意的是消费offset的方式,3个参数的区别: 如果存在已经提交的offest时,不管设置为earliest ...
增大分区后发现数据倾斜严重,因为kafka分区为3,但是并行度为6因此cep算子的6个subtask数据倾斜严重,因此在添加source端执行reblance方法,强制轮询方式分配数据 可以看出来这里数据相比以前均匀很多 Cep配置 并行度,kafka分区的double cep时间窗口:30s sink:2个sink到kafka ...
接下来我们需要下载flink,kafka,mysql, zookeeper, 我直接下载了tar或tgz包,然后解压。 下载好flink之后,然后启动一下,比如我下载了flink-1.9.1-bin-scala_2.11.tgz,然后解压一下。 tar-zxvf flink-1.9.1-bin-scala_2.11.tgz cd flink-1.9.1./bin/start-cluster.sh ...
(2)Source端并行度的设置 数据源端是 Kafka,Source的并行度设置为Kafka对应Topic的分区数。如果已经...
kafkaStream... 代码比较简单,仅仅是构建一个FlinkKafkaConsumer,然后调用env.addSource()方法就可以了,封装的很好。 那我们首先来看FlinkKafkaConsumer的构建方法: public FlinkKafkaConsumer(String topic, DeserializationSchema<T> valueDeserializer, Properties props) { ...
socketTextStream 创建基于 Socket 的 source,从该 socket 中 以文本的形式读取数据 writeToSocket将结果写出到Socket env.socketTextStream("localhost",9999); kafkaDStream.writeToSocket("localhost",9999,newSimpleStringSchema()); 1 2 基于内存 Collections、Iterators 的 Source ...
发现仍然存在反压问题,排除sink写入kafka速度过慢问题,因原来写es存在延迟因此改为kafka,因此这一次先排除这个问题。降低cep时间时间窗口大小,由3分钟-》1分钟-》20s 反压出现的时间越来越靠后,大体问题定位在cep算子相关,并且此时每次checkpoint的时间在增大,尽管state的大小相同但是时间成倍增大,故修改checkpoint相关配置...