从零开始构建Flink开发项目-Scala版

栏目: Scala · 发布时间: 6年前

内容简介:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/90166338

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/90166338

今天要做一个Flink的测试,因此需要创建一个简单的Flink项目,于是找到了下面这种方式来创建一个Flink启动项目。

通过运行下面的命令来创建一个项目

curl https://flink.apache.org/q/quickstart-scala.sh | bash

也可以根据 quickstart-scala.sh 文件中的内容,使用maven命令来生成自己的项目,比如:

mvn archetype:generate                              \
  -DarchetypeGroupId=org.apache.flink               \
  -DarchetypeArtifactId=flink-quickstart-scala      \
  -DarchetypeVersion=1.8.0                          \
  -DgroupId=my.flink.quickstart                     \
  -DartifactId=quickstart                           \
  -Dversion=0.1                                     \
  -Dpackage=my.flink.quickstart                     \
  -DinteractiveMode=false

工程创建后,查看一下工程目录结构,如下:

$ tree quickstart
quickstart
├── pom.xml
└── src
    └── main
        ├── resources
           └── log4j.properties
        └── scala
            └── my
                └── flink
                    └── quickstart
                        ├── BatchJob.scala
                        └── StreamingJob.scala

在开始正式编译运行之前,需要根据自己环境的scala的版本,修改一下 pom.xml 文件,我环境中的 scala 版本是 2.12.2,因此我做了下面的修改

修改
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.12</scala.version>

        <scala.binary.version>2.12</scala.binary.version>
        <scala.version>2.12.2</scala.version>

下面使用一个例子来测试一下工程,在 src/main/scala/my/flink/quickstart 目录下创建一个 WordCount.scala 文件,内容如下:

package my.flink.quickstart

import org.apache.flink.api.java.utils.ParameterTool
import org.apache.flink.api.scala._


object WordCount {

  def main(args: Array[String]) {
    if (args.length != 1) {
      println("Please give input parameter.")
      System.exit(1)
    }
    val env = ExecutionEnvironment.getExecutionEnvironment
    val text = env.readTextFile(args(0))
    val counts = text.flatMap { _.toLowerCase.split("\\W+") filter { _.nonEmpty } }
      .map { (_, 1) }
      .groupBy(0)
      .sum(1)
    counts.print()
  }
}

编译打包

$ cd quickstart
$ mvn clean package

运行 WordCount 程序

$ ${FLINK_HOME}/bin/flink run -c my.flink.quickstart.WordCount target/quickstart-0.1.jar ./

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

XSS跨站脚本攻击剖析与防御

XSS跨站脚本攻击剖析与防御

邱永华 / 人民邮电出版社 / 2013-9-1 / 49.00元

《XSS跨站脚本攻击剖析与防御》是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击都不容忽视。第3章 XSS测试和利用工具,介绍了一些常见的XSS测试工具。第4......一起来看看 《XSS跨站脚本攻击剖析与防御》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具