case-kの備忘録

日々の備忘録です。最近はGCPやデータ分析系のことを呟きます

Dataflow

Dataflowパイプライン処理の備忘録:Python

Dataflowで使うパイプライン処理の備忘録です。随時更新できればと思います。 options udf branch group by Filter beam.apache.org options # -*- coding: utf-8 -*- import apache_beam as beam # プロジェクトID PROJECTID = 'project id' # オプション設…

Dataflowカスタムオプションの追加方法:Python

Dataflowテンプレートの実行でパラメータ受け取ります。Cloud Functonsでファイル名を取得し、取得したファイル名をDataflowテンプレート実行時に渡します。本記事はテンプレート側のパラメータの受け取り方法を記事にしたものです。テンプレートの実行方法…

Dataflowテンプレート実行方法:Python

GAEなどでDataflowのテンプレートの実行方法です。パラメータは以下のようにして渡します "parameters": { "input": "gs://{}/sample2.csv".format(PROJECTID), "output": "gs://{}/output/sample2_2.csv".format(PROJECTID), }, !pip install google-api-py…

Cloud FunctionsでDataflowテンプレートをキックさせる方法:Python

Cloud FunctionsでGCSのバケットに置かれたファイルを検知し、Dataflowのテンプレートをキックします。パラメータとしてCloud Functionsでファイル名を取得し、Dataflowのテンプレートに引数として渡します。GCSから加工しGBQに取り込むケースなどに使います…

Dataflowテンプレート作成方法

Pythonベースで記述したDataflowのコードをテンプレート化し、実行してみます。テンプレートを作成するためには以下のコードを追記するだけです。コードを実行するとGCS内にテンプレートが作られるので、作成したテンプレートを実行してみます。 gcloud_opti…

DataflowでPython3系を使って良いのか検討してみた

DataflowでPython3系を使って良さそうか調べてみました。 Python3系を使いたい理由 DataflowのPython3系のサポート状況について Apach Beamのissueについて 動作確認 結論(個人的な) Python3系を使いたい理由 DataflowはETLツールなのでデータ加工が主な役割…

Googleが提供するDataflowテンプレートを使う方法

Googleが事前に用意してくれてるDataFlowのテンプレートを使い、GCS上に配置したテキストファイルをDataflowで加工し、BigQueryのテーブルに書き込みます。 Dataflowを実行するための選択肢 Googleの提供するテンプレートを使う Dataflowを実行するための選…

Dataflowを検証「Python2系と3系」

GCPのサーバレスETLツールであるDataflowの検証をしてみました。前に使った時はPython2系しか使えなかったんですが3系のサポートも始めたらしいので期待です。 Dataflowとは Python 2系で実行 Python 3系で実行 Dataflowとは DataFlowはGCPのETLツールでデ…