zoukankan      html  css  js  c++  java
  • Flink初识

    Flink是什么?

    Flink是一个以Java及Scala作为开发语言的开源大数据项目,代码开源在github上,并使用 maven来编译和构建项目。其核心是用JavaScala编写的分布式流数据流引擎。Flink以数据并行流水线方式执行任意流数据程序。一句话总结是一个流式计算的maven工程。

    开发环境准备?

    1 java环境: jdk 环境变量  2 maven环境 3 编辑器 idea or eclipse

    基础的API ?

    引用官方图片

    如何构建自己的第一个flink项目?

    1) flink官网上有wordCount的例子可以自己下

    2) 自己搭建 先搭建一个maven项目;  

    大体流程:ExecutionEnvironment (环境) ->DataStream or DataSet(接收流) -> fliter(过滤)->map(数据结构转换)---->keyBy(分流)--->window or process(业务代码)--->sink(输出)

    注意:env.execute() 不能忘记,类似于线程的start

      2.1) maven依赖引入

    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-java</artifactId>
    <version>${flink.version}</version>
    </dependency>
    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java_2.11</artifactId>
    <version>${flink.version}</version>
    </dependency>
    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-clients_2.11</artifactId>
    <version>${flink.version}</version>
    </dependency>
    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-core</artifactId>
    <version>${flink.version}</version>
    </dependency>

    2.2)写自己的程序主类,并添加main方法



    2.3)按flink套路来
    准备环境:

    ParameterTool params = ParameterTool.fromArgs(args);
    //环境
    ExecutionEnvironment env = ExecutionEnvironment
    .getExecutionEnvironment();
    env.getConfig().setGlobalJobParameters(params);

    准备环境(读哪里的数据? file kafka ???、):
    读取数据flink提供了jar包如下
    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka-0.11_2.11</artifactId>
    <version>${flink.version}</version>
    <scope> compile</scope>
    </dependency>
    <dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-filesystem_2.11</artifactId>
    <version>${flink.version}</version>
    </dependency>

    接收数据(DataStream or DataSet 有界(固定大小)和无界(一直在增加或者写入)):
    代码:kafka


    file:


    输出: print



    addSink:
     
     
     


     
     
  • 相关阅读:
    LightOJ1074(spfa+dfs标记负环及负环能够到达的点)
    (模板)AC自动机模板
    poj3660(floyd最短路)
    (模板)hdoj2544(最短路--bellman-ford算法&&spfa算法)
    hdoj4099(字典树+高精度)
    poj1056(字符串判断是否存在一个字符串是另一个字符串的前缀)
    hdoj1247(字典树)
    poj3630||hdoj1671(字典树)
    (模板)hdoj1251(字典树模板题)
    poj3348(求凸包面积)
  • 原文地址:https://www.cnblogs.com/zslb/p/11205742.html
Copyright © 2011-2022 走看看