notebook

都内でWEB系エンジニアやってます。

BigQuery

Cloud LoggingからログデータをBigQueryへExportする

ログからBigQueryにExportできるのは知っていたのでとりあえず使ってみようかと思って触ってみたら思った以上に簡単だった Terraformで設定を定義する Terraformで表すとこんな感じ main.tf data "google_client_config" "current" { } iam.tf locals { logg…

GA3のデータをBigQueryに移す

本ブログで取っているGAの計測データをGA4に切り替えた(並行して数値は取得中) APIをたたくスクリプトを書いて集計してBigQueryに入れてDataPortalから日ごろのアクセスなどを見ているがGA4に完全移行するには過去のPVもやはり見たいよなーと思っていた GA4…

GCPのWorkflowsでBigQueryコネクタを使ってみる

掲題の通りWorkflowsにBigQueryコネクタが来たので使ってみる コネクタについてのドキュメントは下記 BigQuery API Connector Overview | ワークフロー | Google Cloud cloud.google.com 要はWorkflowsから他のGoogleCloud製品にアクセスするための仕組み 今…

BigQueryで重複を排除した最新レコードを取り出す

最近社内の勉強会でなるほどと思ったので試して備忘録として残しておく 色々調べた後だと頻出するイディオムだった感はある… BigQueryで重複を除いて最新状態のデータを出力する方法 データの取り込みもしくは入れ込む際にtimestampカラムを追加する timesta…

BigQuery+Dataportalでインタラクティブフィルタを活用する

プライベートでブログのPVなどを集計していて BigQueryにTwitterのエゴサやGoogleAnalyticsのPVなどを取り込んで、Dataportalから参照してグラフにして定期的に見るようにしている 記事についてのデータ(urlやタグ)はjsonで持っていてこちらもBigQueryに定期…

DataformでAPIからパイプラインを実行する

Dataformで個人プロジェクトのデータ整形を行ってみた そのときにAPIでパイプラインを実行したときのメモ REST API ドキュメントはこちら Use the REST API | Dataform docs.dataform.co まだREST API自体がBetaらしく今の段階ではプロダクション導入とかは…

BigQueryで連続した日付のデータを生成して集計データと突き合わせる

スクリプティングを使ってみたくて題材探してみようと思ったがこのケースならSQL組み合わせるだけで良かった SQL WITH # 歯抜けサンプルデータの用意 sample_data AS( SELECT * FROM UNNEST(ARRAY<STRUCT<d DATE, item STRING, sales INT64>> [ ("2020-10-04", "hoge", 100), ("2020-10-19", "fuga", 5</struct<d>…

BigQueryのMERGE文で削除、更新、追加を同時に行う

MERGE文はUPSERT的な操作をしたいときに取り上げられることが多いイメージだったがもう少し込み入った要件でも活用できそうということで試してみた MERGE文についてのドキュメントは下記 データ操作言語の構文 | BigQuery | Google Cloud cloud.google.com …

BigQuery+Togglで週ごとの作業時間予想をSQLだけで出してみる

この記事はBigQuery Advent Calendar 2020の14日目の記事です もともとTogglのデータをAPIから引っ張ってきてBigQueryに入れているのでそのデータを使って今スプリントの消化時間の着地想定を計算するクエリを書いてみた Toggl Track: Effortless Time-Track…

BigQueryのパーティション(日付と取り込み時間の違いについて)

取り込み時間パーティションと日付 / タイムスタンプ パーティションの違いについて しっかりしたドキュメントがあるのでそっち読むほうが断然良いと思います 実際に触ってみたら分かるがドキュメント読むだけだといまいちピンと来なかったので触りながら把…

BigQueryで特定パーティションへのデータ書き込み

BigQueryのパーティションについてのメモ やりたいこと BigQueryにレポートなどの日次データを持たせているテーブルで特定日付のバッチ処理のみ再実行できるようにしたい パーティション分割について そもそもBigQueryのパーティションには色々種類があるよ…

TogglAPI+BigQuery+DataPortalでお手軽ダッシュボードを作成する

ここ数ヵ月Togglを用いて仕事、プライベートの勉強時間、睡眠時間のトラッキングを続けています Togglにもレポートはあるのですが無料プランだと次の点で不満がありました workspaceをまたいだデータが閲覧できない projectごとのデータをレポート画面で見る…