Scala项目模板
构建工具
Flink项目可以使用不同的构建工具来构建。为了快速启动,Flink为以下构建工具提供了项目模板:
这些模板帮助您设置项目结构并创建初始构建文件。
SBT
创建项目
您可以通过以下两种方法来构建一个新项目:
$ sbt new tillrohrmann/flink-project.g8
这将提示您输入几个参数(项目名称、flink版本……),然后从 flink-project template创建一个flink项目。您需要sbt >= 0.13.13来执行这个命令。如果有必要,您可以按照installation guide 获取它。
$ bash <(curl https://flink.apache.org/q/sbt-quickstart.sh)
这将在specified 项目目录中创建一个Flink项目。
构建项目
为了构建您的项目,您只需发出 sbt clean assembly
命令。这将创建your-project-name-assembly-0.1-SNAPSHOT.jar中的 target/scala_your-major-scala-version/。
运行项目
为了运行您的项目,您必须发出“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
模块作为 Run/Debug Configuration的类路径。这将确保所有设置为 provided 的依赖项在执行时都是可用的。您可以通过Run/Debug Configurations 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
然后选择项目目录。
Maven
需求
唯一的要求是Maven 3.0.4(或更高)和 Java 8.x 安装。
创建项目
使用以下命令之一create a project:
$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-scala \
-DarchetypeVersion=1.7.1
这允许您将新创建的项目命名为。它会交互式地询问groupId、artifactId和包名。
$ curl https://flink.apache.org/q/quickstart-scala.sh | bash -s 1.7.1
检查项目
您的工作目录中将有一个新目录。如果您使用了 curl 方法,则该目录称为 quickstart
。否则,它有您的artifactId
的名称:
$ tree quickstart/
quickstart/
├── pom.xml
└── src
└── main
├── resources
│ └── log4j.properties
└── scala
└── org
└── myorg
└── quickstart
├── BatchJob.scala
└── StreamingJob.scala
示例项目是一个Maven project,其中包含两个类:StreamingJob 和 BatchJob 是 DataStream 和 DataSet 程序的基本框架程序。main 方法是程序的入口点,用于ide内测试/执行和适当的部署。
我们建议您将这个项目导入您的IDE中。
IntelliJ IDEA支持Maven开箱即用,并为Scala开发提供了一个插件。从我们的经验来看,IntelliJ为开发Flink应用程序提供了最好的体验。
对于Eclipse,您需要以下插件,您可以从提供的Eclipse更新站点安装这些插件:
- Eclipse 4.x
- Eclipse 3.8
构建项目
如果您想构建/打包您的项目,请转到您的项目目录并运行 ‘mvn clean package
’ 命令。您将找到一个JAR文件,其中包含您的应用程序,以及您可能作为依赖项添加到应用程序中的连接器和库:target/<artifact-id>-<version>.jar
。
注意: 如果您使用与 StreamingJob 不同的类作为应用程序的主类/入口点,我们建议您更改pom.xml
中的mainClass
设置。相应的xml的文件。这样,Flink就可以从JAR文件运行应用程序,而无需额外指定主类。
下一个步骤
写您的应用程序!
如果您正在编写流应用程序,并且正在寻找编写内容的灵感,请参阅Stream Processing application Tutorial
如果您正在编写批处理应用程序,并且正在寻找编写的灵感,那么可以参考Batch Application Examples
有关APIa的完整概述,请查看DataStream API和DataSet API小节。
Here您可以了解如何在本地集群上运行IDE之外的应用程序。
如果您有任何问题,请访问我们的Mailing List。我们很乐意提供帮助。