zoukankan      html  css  js  c++  java
  • idea搭建flink环境

    1.打开idea,选择new project,跳转至如下界面:

    2.单击next 下一步,输入项目名称,单击finish完成

    3.在项目main项目下新建scala目录,并新建文件,文件名称为 hello.scala

     

    4.新建文件之后,进入helllo.scala文件,会弹出添加sdk,添加自己版本的scala就可以。完成之后可以新建添加如下代码,测试Java和scala之间的互相调用。

     

    5. 在maven项目下引入如下配置:

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <encoding>UTF-8</encoding>
        <scala.version>2.11.12</scala.version>
        <scala.binary.version>2.11</scala.binary.version>
        <flink.version>1.6.1</flink.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-scala_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
            <version>${flink.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    6.新建一个flink测试:

    package it.bigdata.flink.study
    
    import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}
    import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
    
    import org.apache.flink.streaming.api.scala._
    
    //流处理 word count
    object SteamWordCount {
      def main(args: Array[String]): Unit = {
        //创建流处理的执行环境
        val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
        env.setParallelism(8)
    
        //接受一个socket文本流
        val inputDataStream: DataStream[String] = env.socketTextStream("10.18.35.155", 777)
    //        进行转换处理统计
            inputDataStream
              .flatMap(_.split(" "))
              .filter(_.nonEmpty)
              .map((_,1))
              .keyBy(0)
              .sum(1)
              .print()
        env.execute("word count")
      }
    }

    6.1问题一

    若出现 StreamExecutionEnvironment 类没有发现时,将此处,改为compile

    6.2问题二

    若还报错,java.lang.ClassNotFoundException: org.apache.flink.runtime.state.StateBackend

    打开edit configuration ,在此处勾选即可

    7. 提前进入服务器,使用nc -lk 777,然后运行第一个flink,运行效果如下

    author@nohert
  • 相关阅读:
    每日踩坑 2018-01-09 WebAPI会如何面对URL中的空串string参数?
    每日踩坑 2018-12-25 【Unable to convert MySQL date/time value to System.DateTime】异常
    面向对象设计原则 单一职责原则(Single responsibility principle)
    C# EF Attach 与 Entry
    每日踩坑 2018-11-26 MVC Razor ActionLink 生成的URL中多生成了一个参数 ?length=n
    工具 在 Nuget 发布自己的包
    LoadRunner中 host-mapping的Capture Level说明
    使用loadrunner录制脚本的思路和注意要点
    LR两种录制模式的区别
    LoadRunner脚本参数化之自动关联和手动关联
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/14884355.html
Copyright © 2011-2022 走看看