Slide 1

Slide 1 text

Cloud Composer 2018/07/06 Iino Masaki

Slide 2

Slide 2 text

Cloud Composer とは Cloud Composer とは、マネージドなワークフローオーケストレーションサービスで す。Apache Airflow をベースに構築しており、パイプラインの作成、スケジューリン グ、監視を可能にします。Airflow同様にPythonを使用してジョブ(DAG)を記述しま す。

Slide 3

Slide 3 text

Airflow AirflowとはAirbnbがオー プンソースとして開発した、 ワークフローを記述、実行、 監視するためのツールで す。 グラフ理論がベースになっ ています。

Slide 4

Slide 4 text

Getting Started

Slide 5

Slide 5 text

Getting Started Composer はまだClosed Betaで全体には公開していません。開始するためには GCPConsoleから無料トライアルに応募しましょう。 トライアル申請が通るとGCPConsoleに Composer サービスが追加されます。

Slide 6

Slide 6 text

Getting Started 公式のQuickstartに沿ってさくっとSampleを作成します。 Sampleでは下記処理を実行するDAGを作成します。 1. Cloud Dataproc Clusterを作成 2. Cluster上でHadoop を実行し 単語の出現数をGCSに書き出し 3. Cloud Dataproc Clusterを削除

Slide 7

Slide 7 text

Getting Started まず、公式ドキュメントに記載されているBefore you beginを通してコマンドのインス トールやAPIの有効化を行っておきましょう。 環境変数を束ねたEnviromentを作成します。この処理は実行してから小一時間ほど かかるので、実行してコーヒーでもの飲みながらのんびり待ちましょう。 gcloud beta composer environments run ENVIRONMENT_NAME --zone us-central1-a --machine-type n1-standard-2

Slide 8

Slide 8 text

Getting Started Environment を作成すると右上のキャプ チャの用にComposerサービスに Environment として表示されます。 この際いくつかのサービスでバックエンド 用のプロジェクトが作成されます。 ● GCS:DAGs置き場 ● GKE:Worker, Redis等 ● GAE:管理画面 ● SQL:進捗管理 GAE, SQLは使っている形跡はあります が、Consoleから確認できないためプロ ジェクト外に作成されている可能性もあり ます。

Slide 9

Slide 9 text

Getting Started コマンド経由でquickstart.pyをアップロードします。Environment作成時にできた bucketに直接アップロードしてもOKです。 gcloud beta composer environments storage dags import --environment ENVIRONMENT_NAME --source quickstart.py

Slide 10

Slide 10 text

Getting Started 管理画面にUploadしたDAGが表示され ます。 quickstart.pyに記述したstart_dateが yesterdayになっているため、登録と同時 に実行もされます。

Slide 11

Slide 11 text

Architecture

Slide 12

Slide 12 text

Architecture たぶんこんな構成になっていると思いま す。 管理画面へのアクセスがAppEngineの URLになっているので、GAE経由で管理 画面へプロキシしているのではないでしょ うか。 GKEにsql proxyなるものがあるのでどこ かのCloudSQLに繋がっているのだろうと も思えます。

Slide 13

Slide 13 text

まとめ

Slide 14

Slide 14 text

まとめ ● GCEに自前で建ててた人は乗り換えありかも ● Cloud Memorystoreを使っていないのは少し残念 ● ちょっと値段が高い