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
  • 相关阅读:
    基于网页的暖通空调监控方案
    基于SVG+AJAX的网页数据监控
    基于WebGL的三维的物联网平台技术
    Tomcat部署多个Springboot项目报错 InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
    MYSQL 快速备份大数据量
    防止过度工程-[拒绝完美主义]
    ES6学习
    Linux系统上java调用C++ so库文件
    第二十四篇 -- Cache学习
    第二十八篇 -- 学习第五十一天打卡20190819
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/14884355.html
Copyright © 2011-2022 走看看