Flinkを使ってプログラムを書くには、プロジェクト内にプログラム言語に対応したFlinkライブラリを含む必要があります。
最も簡単な方法はクイックスタートスクリプトの一つを使うことです: Javaのため、あるいはScalaのためのいずれか。それらはテンプレート(Maven原型)から空のプロジェクトを生成します。これは全てのことをセットアップします。プロジェクトを手動で生成するために、典型を使って以下を呼ぶことでプロジェクトを生成することができます:
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.3-SNAPSHOT
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-scala \
-DarchetypeVersion=1.3-SNAPSHOT
典型は、安定リリースおよびプレビューバージョン(-SNAPSHOT
)に関して動作します。
既存のMavenプロジェクトに対してFlinkを追加したい場合は、以下のエントリをプロジェクトのpom.xmlファイル内のdependencies セクションに追加してください。
<!-- Use this dependency if you are using the DataStream API -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.10</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<!-- Use this dependency if you are using the DataSet API -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.10</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<!-- Use this dependency if you are using the DataStream API -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.10</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<!-- Use this dependency if you are using the DataSet API -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala_2.10</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-clients_2.10</artifactId>
<version>1.3-SNAPSHOT</version>
</dependency>
重要: Scala API と連携する場合は、以下の二つのうちの一つをインポートする必要があります:
import org.apache.flink.api.scala._
あるいは
import org.apache.flink.api.scala.createTypeInformation
Flinkはプログラム内で使われているタイプを解析し、それらのためにシリアライザとコンパレイタを生成するためです。それらのimportのいずれかを持つことで、Flinkオペレータのための型の情報を生成する明示的なコンバージョンを有効にします。
If you would rather use SBT, see here.
Scala 2.10 バイナリは Scala 2.11 バイナリと互換性がないため、両方のScalaバージョンをサポートするために複数のアーティファクトを提供します。
0.10のラインから始まり、2.10および2.11の両方のための全てのFlinkモジュールをクロスビルドします。Scala 2.11のFlink上でプログラムを実行したい場合は、依存セクションのFlinkモジュールのartifactId
の値に _2.11
サフィクスを追加する必要があります。
Scala 2.11でビルドされたFlinkを探している場合は、構築ガイドを調べてください。
Hadoopと一緒にFlinkを使う場合、依存のバージョンがFlinkと一緒に使いたいと思うHadoop(あるいはもっと厳密に言えばHDFS)のバージョンに依存して変わるかも知れません。利用可能なバージョンについては ダウンロード ページを参照し、 独自のHadoopのバージョンとリンクする方法の説明を参照してください。
最新のSNAPSHOTバージョンのコードに対してリンクするためには、このガイドに従ってください。
The flink-clients dependency is only necessary to invoke the Flink program locally (for example to run it standalone for testing and debugging). プログラムをJARファイルとしてエクスポートするだけで、クラスタ上で実行する場合は、依存をスキップすることができます。