2017-08-09 9 views
0

BigQueryバッチパイプラインの場合、テンプレート作成時にBigQueryジョブIDが設定されるため、テンプレートは1回のみ実行できます。私はApacheビームv2.0.0を使用していて、テンプレートを複数回実行することができません。この制限のためにビームを頭で使用できますか?はいの場合、私が知りたいと思うものは頭の梁です。また、Apache Beamプログラムでテンプレートの実行を複数回サポートするために必要な正確な変更は何ですか?シンクとしてBigQueryを使用してテンプレートを複数回実行する

Mavenの依存関係:

<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-jms</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-examples-java</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-examples-java8</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-common-fn-api</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-build-tools</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-core</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-extensions-google-cloud-platform-core</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-extensions-join-library</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-extensions-protobuf</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-extensions-sorter</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-amqp</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-jdbc</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-kafka</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-kinesis</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-mongodb</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-mqtt</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-java-io-solr</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-runners-core-construction-java</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-runners-core-java</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-runners-direct-java</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-runners-google-cloud-dataflow-java</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.beam</groupId> 
    <artifactId>beam-sdks-common-runner-api</artifactId> 
    <version>2.2.0-SNAPSHOT</version> 
</dependency> 

答えて

1

これが問題BEAM-2058です。 Beam github repositoryの最新コードを使用する場合は修正する必要があります。 Beamの新しいバージョンをビルドし、それを使用するためにpom.xmlを更新する以外の何かをする必要はありません。

または、準備中のビームの2.1.0リリースを待ちます。

+0

お返事ありがとうございます。私はgithubリポジトリにあるpom.xmlファイルに基づいてpom.xmlファイルを更新しましたが、同じ問題に直面しています。 githubリポジトリでは、複数のコードコンポーネントが異なるフォルダの下に表示されます。 DataFlowプログラムで使用できるように最新のコードの正確なパスを教えてください。また、テンプレート実行の問題を解決するために私のDFプログラムに(GitHubコードから)追加する必要があるスニペットを正確に教えてください。 申し訳ありません私はgithubに新しいです。 –

+0

Githubの内容に基づいてコードを修正する必要はありません。代わりに、githubリポジトリをクローンし、Mavenを使用してインストールする必要があります。これにより、あなたのコードで2.2.0-SNAPSHOTバージョンが利用可能になります。次に、作成したBeamの2.2.0-SNAPSHOTバージョンを参照するようにpom.xmlを更新して使用します。 –

+0

[Beam contribution guide](https://beam.apache.org/contribute/contribution-guide/#one-time-setup)では、GithubコードリポジトリからBeamをビルドするために必要な手順についても説明しています。最新のバージョンをインストールするために必要な手順。これを実行したら、作成した新しいバージョンを使用する以外に、プロジェクトを変更する必要はありません。 –

関連する問題