Flink流计算项目搭建【SBT、Maven】

一.构建工具

可以使用不同的构建工具来构建Flink项目。 为了快速入门,Flink为以下构建工具提供了项目模板:

  • SBT
  • Maven
    这些模板将帮助建立项目的框架并创建初始化的构建文件。

二.SBT

1.创建项目
使用SBT模板:sbt new tillrohrmann/flink-project.g8
这里将提示输入几个参数 (项目名称,Flink版本…) 然后从 Flink项目模版创建一个Flink项目。 你的sbt版本需要不小于0.13.13才能执行这个命令。如有必要,你可以参考这个安装包下载获取合适版本的sbt。安装步骤如下:
Flink流计算项目搭建【SBT、Maven】_第1张图片
Flink流计算项目搭建【SBT、Maven】_第2张图片
指定安装目录:
Flink流计算项目搭建【SBT、Maven】_第3张图片
开始安装:
Flink流计算项目搭建【SBT、Maven】_第4张图片
安装中:
Flink流计算项目搭建【SBT、Maven】_第5张图片
安装完成:
Flink流计算项目搭建【SBT、Maven】_第6张图片
配置环境变量:
Flink流计算项目搭建【SBT、Maven】_第7张图片
2.构建项目
只需只需sbt clean assembly命令。这将在target/scala_your-major-scala-version/目录下创建fat-jar your-project-name-assembly-0.1-SNAPSHOT.jar。
3.运行项目
执行sbt run命令运行项目。默认情况下,这将在与运行中相同的JVM中运行作业sbt。为了在不同的JVM中运行作业,要将以下内容添加到build.sbt中:fork in run := true。
4.IntelliJ开发
建议使用 IntelliJ 来开发Flink。 开始,需要将新建的项目导入到 IntelliJ。 通过 File -> New -> Project from Existing Sources… 操作路径,然后选择项目目录。之后 IntelliJ 将自动检测到 build.sbt 文件并设置好所有内容。
为了运行Flink项目,建议选择 mainRunner 模块作为 Run/Debug Configuration 的类路径。 这将确保在作业执行时可以使用所有设置为 provided 的依赖项。 你可以通过 Run -> Edit Configurations… 配置 Run/Debug Configurations,然后从 Use classpath of module 下拉框中选择 mainRunner。

三.Maven

1.环境要求
唯一的要求是安装 Maven 3.0.4 (或更高版本) 和 Java 8.x。
2.创建项目
使用以下命令之一来创建项目:

    $ mvn archetype:generate                               \
      -DarchetypeGroupId=org.apache.flink              \
      -DarchetypeArtifactId=flink-quickstart-scala     \
      -DarchetypeVersion=1.9.0

或者使用快速入门脚本:

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

这将允许为新项目命名。同时以交互式的方式询问项目的groupId,artifactId和package名称。
3.检查项目
项目创建后,工作目录中将多出一个新目录。如果你使用的是 curl 方式创建项目,目录称为 quickstart,如果是另外一种创建方式,目录则称为你指定的 artifactId。
Flink流计算项目搭建【SBT、Maven】_第8张图片
样例项目是一个 Maven 项目, 包含了两个类: StreamingJob 和 BatchJob 是 DataStream 和 DataSet 程序的基本框架程序. main 方法是程序的入口, 既用于 IDE 内的测试/执行,也用于合理部署。

IntelliJ IDEA 支持 Maven 开箱即用,并为Scala开发提供插件。 从我们的经验来看,IntelliJ 提供了最好的Flink应用程序开发体验。
4.构建
要构建/打包项目, 进入到项目目录,并执行命令‘mvn clean package’。生成一个 JAR 文件,其中包含了你的应用程序,以及作为依赖项添加到应用程序的连接器和库:target/-.jar。

注意: 如果你使用其他类而不是 StreamingJob 作为应用程序的主类/入口,我们建议你相应地更改 pom.xml 文件中 mainClass 的设置。这样,Flink 运行应用程序时无需另外指定主类。

你可能感兴趣的:(流计算,大数据,Flink)