クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Google Dataflow入門編 #gcpug #gcpja

Google Dataflowが、GAになりましたので、Google Dataflowを改めて。

cloudservice accountとか、Compute Engine Service Accountとか、新規プロジェクト作成時のみしか自動追加されない。既存プロジェクトに追加する方法が知りたいところ。Service Accountが登録されているなら、credentailsは不要のようだ。

  • maven 3.3.9
  • Java8 1.8.0_66
$git clone https://github.com/GoogleCloudPlatform/DataflowJavaSDK-examples.git

WordCountのサンプルを実行。実行過程で、VM インスタンスが起動します。

$ ../apache-maven-3.3.9/bin/mvn compile exec:java -Dexec.mainClass=com.google.cloud.dataflow.examples.WordCount &nbsp;-Dexec.args="--runner=BlockingDataflowPipelineRunner --project=<project name> --stagingLocation=gs://<GCS bucket>/staging/"

dataflowのコードテンプレートを生成は以下で行えます。

mvn archetype:generate \
 -DarchetypeArtifactId=google-cloud-dataflow-java-archetypes-starter \
 -DarchetypeGroupId=com.google.cloud.dataflo

Cloud Pub/Sub(PubSubIO)からデータを取得、処理を行い、BigQuery IO(BigQueryIO)でGoogle BigQueryに書き込むのもできてしまいます。

google dataflow は、現在のところ、preemptible VMに対応していません。preemptible VMはDataflowのようなジョブの使い方にはマッチすると思われるので今後のサポートに期待したい。

マシンタイプは、DataflowPipelineOptionsでディスクサイズ、Workerのサイズ、マシンタイプのカスタマイズは可能です。

オプションについては、https://cloud.google.com/dataflow/pipelines/specifying-exec-params

eclipse用のDataflow pluginも用意されているので、eclipse上からDataflowアプリケーションを実行させることも可能です。ローカル実行も。

https://cloud.google.com/dataflow/getting-started-eclipse?hl=ja

 

コメントは受け付けていません。