LoginSignup
1
1

More than 5 years have passed since last update.

Google Cloud Dataflowハンズオンの復習メモ

Last updated at Posted at 2018-05-27

経緯

昨日参加させて頂いたGCPの勉強会で、Dataflowのハンズオンをしていた際、
プロジェクトIDにバケットIDを設定して実行してしまったのが原因か、Dataflowがエラーで止まったままだったので、
復習がてらプロジェクトの作成からDataflowの実行までやり直してみました。

構築

補足

[your_project_id]と[your_backet]にはそれぞれ任意のプロジェクト名(ID)とバケット名を設定

プロジェクト新規作成

プロジェクトの選択から新しいプロジェクトを選択する

スクリーンショット 2018-05-27 10.03.38.png

下記を設定及び選択して、作成を選択する

  • プロジェクト名:[your_project_id]

スクリーンショット 2018-05-27 10.09.39.png

ダッシュボードから作成したプロジェクトを選択する

スクリーンショット 2018-05-27 10.10.17.png

バケット新規作成

ナビゲーションメニューのストレージからStorageを選択し、ブラウザを表示する

スクリーンショット 2018-05-27 10.10.48.png

バケットの作成を選択する

スクリーンショット 2018-05-27 10.12.40.png

下記を設定及び選択して作成を実施する

  • 名前:[your_backet]
  • デフォルトのストレージクラス:Multi-Regional
  • 場所:アジア

スクリーンショット 2018-05-27 10.23.48.png

BigQueryのデータセット作成

ナビゲーションメニューのビッグデータからBigQueryを選択する

スクリーンショット 2018-05-27 10.29.54.png

プロジェクト名の横の三角からCreate new datasetを選択し、下記設定値でOKを選択する

  • Dataset ID:chigasaki_opendata
  • Data location:unspecifled
  • Data expiration:Never

スクリーンショット 2018-05-27 10.47.41.png

実行

ナビゲーションメニューのビッグデータからDataflowを選択する

adc828fa-f6ab-d924-51f6-9a618fac7e24.png.png

Cloud Dataflow APIの有効化

ナビゲーションメニューのAPIとサービスからダッシュボードを選択する

スクリーンショット 2018-05-29 19.10.44.png

APIとサービスを検索からCloud Dataflow APIを検索する

スクリーンショット 2018-05-29 19.11.20.png

Cloud Dataflow APIを有効にする

スクリーンショット 2018-05-29 19.13.06.png

有効になったら、Google Cloud Shellを起動し、コマンドを実行していく

スクリーンショット 2018-05-27 11.05.55のコピー.png

必要資材のコピー

下記コマンドを実行し、ハンズオン用のスキーマとCSV、udfをコピーする

gsutil cp gs://gcpug-shonan-vol27/schema.json gs://[your_backet]/gcs-to-bigquery/bigquery-schema/
gsutil cp gs://gcpug-shonan-vol27/jinkounosuii_3004.csv gs://[your_backet]/gcs-to-bigquery/input/
gsutil cp gs://gcpug-shonan-vol27/udf.js gs://[your_backet]/gcs-to-bigquery/udf/

Dataflowの実行

下記コマンドを実行し、テンプレートエンジンの作成及び実行を実施する

gcloud beta dataflow jobs run text-to-bigquery \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters javascriptTextTransformFunctionName=transform,JSONPath=gs://[your_backet]/gcs-to-bigquery/bigquery-schema/schema.json,javascriptTextTransformGcsPath=gs://[your_backet]/gcs-to-bigquery/udf/udf.js,inputFilePattern=gs://[your_backet]/gcs-to-bigquery/input/jinkounosuii_3004.csv,outputTable='[your_project_id]:chigasaki_opendata.jinkounosuii',bigQueryLoadingTemporaryDirectory=gs://[your_backet]/gcs-to-bigquery/temp \
    --staging-location gs://[your_backet]/gcs-to-bigquery/staging

確認

うごいた。。

スクリーンショット 2018-05-27 11.16.28.png

データも見れる様子。。

スクリーンショット 2018-05-27 12.59.17.png

結果

エラーが解消出来てスッキリしました。
また、他の記事書いてる方はプロジェクトIDとパケット名マスクしてたので真似してみましたが、意味があるのかはちょっと謎です。

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1