case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

2019-10-01から1ヶ月間の記事一覧

BigQueryのウィンドウ処理

BigQueryウィンドウ処理の備忘録です。 Dataset RANK() LAG/LEAD ROW_NUMBER() Dataset console.cloud.google.com RANK() ベンダーごとの旅客数が多いレコード順にランクを付与します。 SELECT vendor_id, passenger_count, RANK() OVER (PARTITION BY vendo…

Python Client GBQ & GCS

Code library Read From GBQ To Local Upload From Local To GCS Read From GCS Load From GCS To GBQ Code # python_client_gbq_gcs.py github.com library !gcloud auth application-default login !pip install --upgrade google-cloud-bigquery !pip ins…

Dataflowが得意なこと、苦手なこと

Dataflowが得意なこと、苦手なことを考えてみました。 得意なこと バッチ/ストリーミング処理(特にストリーミング処理) サイズの大きいデータを扱うこと サーバ費用を抑えること 苦手なこと 逐次処理 複雑なパイプライン制御(役割が異なる) 得意なこと バッ…

AutoMLでDSの役割がどう変わりそうなのか調べてみた

著名な方の意見を参考にAutoMLでDSの役割がどう変わりそうなのか調べてみました。 AutoMLとは 実施手順 STEP 1 STEP 2 STEP 3 メリット 推定精度が高い 簡単でGCP上で完結する 簡単な分析も可能 デメリット 推定精度が安定しない 費用が高く学習頻度が多い場…

Dataflow Google BigQuery I/O connector:Python

Dataflowを使ってBigQueryからBigQueryに書き込む処理とCloud StorageからBigQueryに書き込む処理をします。 Code options GBQ to GBQ GCS to GBQ beam.apache.org Code github.com options # -*- coding: utf-8 -*- import apache_beam as beam from apache…

Cloud Composerを使いDataflowのパイプライン制御をする方法

Cloud ComposerでDataflowテンプレートを順次キックしていく逐次処理を行います。順番に処理が行われたことを確認するために前のDataflowのテンプレート実行し作られたファイルを参照する処理にしました。 code Composer環境を作る 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テンプレートでカスタムパラメータを追加します。パラメータを静的に定義する方法とテンプレート実行時に動的にパラメータを指定する方法を紹介します。gclodコマンドで実行しますが、Cloud Functonsからテンプレートをキックする方法は以下の記事を…

Cloud Schedulerのパイプライン制御における活用用途について

Cloud Schedulerとは どのような時に使うか? Cloud Composerとの違い パイプライン制御におけるトリガーとしての役割 運用フローを考慮したトリガー選定 Cloud Schedulerとは GCPが管理するフルマネージドでサーバレスなクーロンサービスです。 どのような…

Cloud Composerの活用事例と料金体系について

Cloud Composerの活用事例と料金体系について調べてみました。 Cloud Compoer とは? Cloud Compoer活用事例 メルペイ メルカリ DeNA JapanTaxi エウレカ リブセンス SmartNews BrainPad 料金体系について 所感 Cloud Compoer とは? Cloud ComposerはGCPが…

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

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

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

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

BigQueryマスタ更新のベストプラクティスと見解

こちらの記事でベストプラクティスは以下と紹介されており、実運用を考慮した際、現実的には「Data Loadingを利用して追加」する方法が良いようです。 この方法は1テーブルにレコードを追加し、最新のTIME STAMPを参照するVIEWテーブルを作り参照させる方法…

Dataflowテンプレート作成方法(Python)

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

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

DataflowでPython3系を使って良さそうか調べてみました。 Python3系を使いたい理由 DataflowのPython3系のサポート状況について Apach Beamのissueについて 動作確認 ストリーミング処理は? 結論(個人的な) Python3系を使いたい理由 DataflowはETLツールな…

Cloud Functionsで検知したファイルをBigQueryに書き込む

Cloud FunctionsでバケットにアップしたファイルをBigQueryに書き込む処理をします。 code Cloud Functionsとは 制限事項 Cloud Functionsを試す 事前準備 動作確認 code github.com Cloud Functionsとは イベントを検知し処理を実行するトリガーの役割があ…

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

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

DataprocでJupyterを使ったPySpark実行環境を作る

DataprocのJupyter環境を構築します。個人的にはDatalabよりJupyterの方が使いやすい印象があります。(Datalabを使いこなせてないのはありますがライブラリのインストール方法やDLなど。GCPとの連携もJupyterでもできるのでいいかなって思ってます)。 PySpar…