Scala 项目模板

构建工具

可以使用不同的构建工具来构建Flink项目。 您可使用以下构建工具的项目模板,快速构建Flink项目:

这些模板能够帮助你建立项目的框架和创建初始化的构建文件。

SBT

创建项目

你可以通过以下两种方法之一来构建新项目:

    $ sbt new tillrohrmann/flink-project.g8
    
这将提示您输入几个参数(项目名称,Flink 版本...),然后从 flink 项目模板 创建一个 Flink 项目。 你需要 sbt >= 0.13.13 版本才能执行这个命令。如有必要,您可以按照这个安装指南获取sbt。
    $ bash <(curl https://flink.apache.org/q/sbt-quickstart.sh)
    
这将在指定的项目目录中创建一个 Flink 项目。

构建项目

为了构建您的项目,您只需要执行 sbt clean assembly 命令。 这将在目录 target/scala_your-major-scala-version/ 中创建 fat-jar your-project-name-assembly-0.1-SNAPSHOT.jar

运行项目

您可使用sbt run 命令运行项目。

默认情况下,这将在 sbt 相同的 JVM 中运行您的作业。 为了在不同的 JVM 中运行您的作业,请将以下内容添加到 build.sbt

fork in run := true

IntelliJ

我们建议您使用 IntelliJ 来开发 Flink 作业。 开始时,您必须把新建的项目导入到 IntelliJ 。 您可以通过 File -> New -> Project from Existing Sources... 然后选择项目目录来完成这个操作。 然后 IntelliJ 将自动检测 build.sbt 文件并设置所有内容。

为了运行 Flink 作业,建议选择 mainRunner 模块作为 运行/调试 配置 的类路径。 这将确保在执行时可以使用设置为 provided 的所有依赖项。 您可以通过 Run -> Edit Configurations... 配置 运行/调试 配置 ,然后从 Use classpath of module 的下拉框中选择 mainRunner

Eclipse

为了将新建的项目导入 Eclipse,首先需要为它创建 Eclipse 项目文件。 这些项目文件可以通过 sbteclipse 创建来创建。 将以下行添加到 PROJECT_DIR/project/plugins.sbt 文件中:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

sbt 中使用以下命令来创建 Eclipse 项目文件

> eclipse

现在你可以通过 File -> Import... -> Existing Projects into Workspace 将项目导入到 Eclipse,然后选择项目目录。

Maven

要求

唯一的要求是 Maven 3.0.4 (或更高版本)和 安装 Java 8.x

创建项目

使用以下命令之一来 创建项目

    $ mvn archetype:generate                               \
      -DarchetypeGroupId=org.apache.flink              \
      -DarchetypeArtifactId=flink-quickstart-scala     \
      -DarchetypeVersion=1.6.0
    
这将允许您为新创建的项目命名。它将以交互式的方式询问您 groupId,artifactId 和 package 名称。
    $ curl https://flink.apache.org/q/quickstart-scala.sh | bash -s 1.6.0

检查项目

在您的工作目录中建一个新目录。如果您已经习惯了 curl 方法,该目录称为 quickstart 。除此之外,它还包含你命名的 artifactId

$ tree quickstart/
quickstart/
├── pom.xml
└── src
    └── main
        ├── resources
        │   └── log4j.properties
        └── scala
            └── org
                └── myorg
                    └── quickstart
                        ├── BatchJob.scala
                        └── StreamingJob.scala

示例项目是 Maven 项目,它包含两个类: StreamingJobBatchJobDataStreamDataSet 程序的基本框架程序。 main 方法是程序的入口,既可以用于 IDE 内测试/执行,也可用于部署。

我们建议您 将此项目导入到您的 IDE 中

IntelliJ IDEA 支持 Maven 开箱即用,并为 Scala 提供了开发的插件。 根据我们的经验,IntelliJ 为开发 Flink 应用程序提供了最佳体验。

对于 Eclipse,您需要以下插件,您可以从提供的 Eclipse Update Sites 安装这些插件:

构建项目

如果您想 构建/打包 您的项目,进入到您的项目目录执行命令 ‘mvn clean package’ 。 您将 找到一个 JAR 文件 包含您的应用程序,以及 connectors 和您可能已将其作为依赖项添加到应用程序:target/<artifact-id>-<version>.jar 的库。

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

下一步

编写你的应用!

如果您正在编写流处理程序,并且在寻找灵感来写什么,可以看看 流式处理指南

如果您正在编写批处理程序,并且在寻找灵感来写什么,可以看看 批处理应用示例

有关 API 的完整概述,请查看 DataStream APIDataSet API 章节。

在这里 你可以找到怎么在 IDE 之外的本地集群来运行应用程序。

如果您有任何问题,请发信至我们的 邮箱列表。 我们很乐意提供帮助。

Back to top