flink入门代码

flink入门代码

java 复制代码
package com.lyj.sx.flink.wordCount;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;


public class LocalWithWebUI {
    public static void main(String[] args) throws Exception {
         StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration());
         DataStreamSource<String> source = env.socketTextStream("pxj62", 8889);
         SingleOutputStreamOperator<Tuple2<String, Integer>> summed = source.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
            @Override
            public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {
                for (String string : s.split(" ")) {
                    collector.collect(Tuple2.of(string, 1));
                }
            }
        }).keyBy(new KeySelector<Tuple2<String, Integer>, String>() {
            @Override
            public String getKey(Tuple2<String, Integer> s) throws Exception {
                return s.f0;
            }
        }).sum(1);
         summed.print();
         env.execute("pxj");
    }
}
java 复制代码
package com.lyj.sx.flink.wordCount;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;

public class StreamingWordCount {
    public static void main(String[] args) throws  Exception{
         StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
         int parallelism = env.getParallelism();
        System.out.println("parallelism:" + parallelism);
        DataStreamSource<String> source = env.socketTextStream("pxj62", 8881);

        System.out.println("source"+source.getParallelism());
         SingleOutputStreamOperator<Tuple2<String, Integer>> summed = source.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {
            @Override
            public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {
                String[] strings = s.split(" ");
                for (String string : strings) {
                    collector.collect(Tuple2.of(string, 1));
                }
            }
        }).keyBy(new KeySelector<Tuple2<String, Integer>, String>() {
            @Override
            public String getKey(Tuple2<String, Integer> s) throws Exception {
                return s.f0;
            }
        }).sum(1);
         summed.print();
         env.execute("pxj");
    }
}
java 复制代码
package com.lyj.sx.flink.wordCount;

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;


public class StreamingWordCountV3 {
    public static void main(String[] args) throws Exception {
         StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
         DataStreamSource<String> source = env.socketTextStream("pxj62", 8889);
         SingleOutputStreamOperator<Tuple2<String, Integer>> data = source.flatMap(new MyFlatMap());
         SingleOutputStreamOperator<Tuple2<String, Integer>> summed = data.keyBy(0).sum(1);
         summed.print();
         env.execute("pxj");
    }

    public static  class MyFlatMap implements FlatMapFunction<String, Tuple2<String,Integer>> {

        @Override
        public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {
            for (String string : s.split(" ")) {
                collector.collect(Tuple2.of(string,1));
            }
        }
    }
}
java 复制代码
package com.lyj.sx.flink.day02;

import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

public class ReadTextFileDemo {
    public static void main(String[] args) throws Exception {
         StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
         DataStreamSource<String> source = env.readTextFile("data/a.txt");
         source.map(new MapFunction<String, Tuple2<String,Integer>>() {
             Tuple2<String,Integer> s1;

             @Override
             public Tuple2<String, Integer> map(String s) throws Exception {

                 String[] strings = s.split(" ");
                 for (String string : strings) {
                      s1=Tuple2.of(string,1);
                 }
                 return s1;
             }
         }).print();
         env.execute("pxj");

    }
}
java 复制代码
package com.lyj.sx.flink.day02;

import org.apache.flink.configuration.Configuration;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.SourceFunction;

import java.util.Arrays;
import java.util.List;
import java.util.UUID;

public class CustomNoParSource {
    public static void main(String[] args) throws Exception {
         StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration());
         System.out.println("环境执行的并行度:"+env.getParallelism());
         DataStreamSource<String> source = env.addSource(new Mysource2());
        System.out.println("source的并行度为:"+source.getParallelism());
        source.print();
//         env.execute("pxj");
        env.execute();

    }

    private static class Mysource1 implements SourceFunction<String> {
        //启动,并产生数据,产生的数据用SourceContext输出
        @Override
        public void run(SourceContext<String> cx) throws Exception {
             List<String> lists = Arrays.asList("a", "b", "c", "pxj", "sx", "lyj");
            for (String list : lists) {
               cx.collect(list);
            }

        }
        //将Source停掉
        @Override
        public void cancel() {

        }
    }

    private static class Mysource2 implements  SourceFunction<String>{
        private Boolean flag=true;
        @Override
        public void run(SourceContext<String> cx) throws Exception {
            System.out.println("run....");
            while (flag){
                cx.collect(UUID.randomUUID().toString());
            }

        }

        @Override
        public void cancel() {
            System.out.println("cancel");
            flag=false;
        }
    }
}

作者:pxj_sx(潘陈)

日期:2024-04-11 0:26:20

相关推荐
Hello.Reader3 小时前
Flink Kubernetes HA(高可用)实战原理、前置条件、配置项与数据保留机制
贪心算法·flink·kubernetes
浪子小院4 小时前
ModelEngine 智能体全流程开发实战:从 0 到 1 搭建多协作办公助手
大数据·人工智能
AEIC学术交流中心4 小时前
【快速EI检索 | ACM出版】2026年大数据与智能制造国际学术会议(BDIM 2026)
大数据·制造
wending-Y5 小时前
记录一次排查Flink一直重启的问题
大数据·flink
Hello.Reader5 小时前
Flink 对接 Azure Blob Storage / ADLS Gen2:wasb:// 与 abfs://(读写、Checkpoint、插件与认证)
flink·flask·azure
UI设计兰亭妙微5 小时前
医疗大数据平台电子病例界面设计
大数据·界面设计
初恋叫萱萱5 小时前
模型瘦身实战:用 `cann-model-compression-toolkit` 实现高效 INT8 量化
大数据
互联网科技看点6 小时前
孕期科学补铁,保障母婴健康-仁合益康蛋白琥珀酸铁口服溶液成为产妇优选方案
大数据
Dxy12393102166 小时前
深度解析 Elasticsearch:从倒排索引到 DSL 查询的实战突围
大数据·elasticsearch·搜索引擎
Hello.Reader6 小时前
Flink 文件系统通用配置默认文件系统与连接数限制实战
vue.js·flink·npm