コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

BigQuery

BigQueryでTIMESTAMPをJSTの文字列に変換する

書き方をいつも忘れてしまうのでメモ的投稿。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) フォーマット JSTは+9時間なので、 Asia/Tokyo のタイムゾーンを使う FORMAT_TIMESTAMP( フォーマッ…

BigQueryで単一のクエリ内で値を定義して定数のように使い回す

いろんなテーブルをまたいで利用するときに似たようなクエリをつくるのでその時のための機能 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) やり方 定数定義のような機構はこの記事を書いている…

BigQueryでJOIN時に各々のテーブルに_TABLE_SUFFIXを適用する方法

イマイチすぐに出てこないのでメモがてら 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) そもそも _TABLE_SUFFIX とは こちらに関しては別記事で書いたのでそちらを参考のこと 書き方 カラム名に…

BigQueryで_TABLE_SUFFIXを適用して複数のテーブルを取る

別のことを書きたかったが前提の話題としてまずは切り出して書く。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) 使い所とやり方 BigQueryには同じテーブルでもテーブル名の末尾に日付をつけて…

BigQueryで実行時の内容をYYYYMMDDで取得する方法

割とかんたんな部類なんだけど、毎度ググってしまうのでメモ的なもので。 前提条件 STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為) やり方 FORMAT_TIMESTAMP("%Y%m%d" ,CURRENT_TIMESTAMP()) 動作原理 CURR…

BigQueryを無料で試したい場合はサンドボックスというものが存在するので活用する

仕事ではなく私事で試したい人への小ネタ 出典 クレジットカードは不要 : クエリを無料で試せる BigQuery サンドボックス | Google Cloud Blog やり方 ヘルプに書いてある BigQuery サンドボックスの使用 | Google Cloud いままでGCPを扱っていないアカウン…

BigQueryで日付分割テーブルを期間で区切って検索対象にする場合は_TABLE_SUFFIXとBETWEENを使う

そういえば書いたことがなかったのでメモとして 前提 分割テーブルとは ここで説明する分割テーブルは以下の内容を指す パーティション分割テーブルはパーティションと呼ばれるセグメントに分割された特殊なテーブルで、データの管理や照会をより簡単に行う…

BigQueryではSELECT結果を他テーブルにInsert / テーブル洗い替えなどができる

知らない人は知らない機能。ちなみにこれはスケジュールドクエリでもできる。 やり方 クエリエディタの「クエリの設定」から表示されるウィンドウで設定できる。 送信先で「クエリ結果の宛先テーブルを設定する」を選ぶと実行後にデータを扱う挙動が加わる …

BigQueryはスプレッドシートをテーブルとして読み込ませることができる

脆いテーブルなので、ご利用は計画的に。 やり方 データセットへのテーブル作成の際に「ドライブ」かつ「スプレッドシート」を選ぶと使うことができる。複数シートがあったり、先頭行からとりたくない場合は範囲指定をする。(下記の場合は TestReport シート…

『#bq_sushi #11 マーケティングでも使える?』に行ってきたよメモ

BiqQueryを有効活用できている気が一ミリもしないので、#bq_sushi #11 マーケティングでも使える? - connpass に行ってきたのでメモ 各発表の感想 最近のアップデート 紹介のあったもの スライドはないので紹介のあって(かつ自分が理解できたもの)だけ 基…

BigQueryのNewUIはクエリを実行する前に対象のバイト数が算出される

表題通り系ネタ どんな感じ出でるか 親切な緑字表記 これが出ると何が嬉しいのか BigQueryは対象のデータ量に対して課金される。そのコストBigQuery の料金いわく $5/TB なので、1TB相当のデータを引き出すと500円ぐらいかかる。 1円あたり2GBという課金額に…

BigQueryで現在から見た先月月初日、先月月末日を求める

非エンジニアからもらったクエリがすごかったので紹介 前提条件 STANDARD SQLです やり方 先月月初日 FORMAT_DATE("%Y%m%d",DATE_TRUNC(DATE_SUB(CURRENT_DATE('Asia/Tokyo'), INTERVAL 1 MONTH), MONTH)) 原理 # 当日東京時間 CURRENT_DATE('Asia/Tokyo') #…

BigQueryで作ったクエリは保存できるし、共有もできる。

BigQueryはSQLだし、手元に違う形でクエリを残しがちだけど、普通にUI上で保存したり共有したりすることができる。 クエリの保存と共有 | BigQuery | Google Cloud プロジェクトで保存すると、同じBigQueryを覗ける人はリンクさえわかれば編集もできる。 編…

BigQuery上でUTCのTIMESTAMPをJSTで比較する

世界基準の時間で入れようという気持ちが働いた結果、UTCでデータレイクに保存されていることがある。 ただ、集計で絞りたいときは大概日本時間なので、そういうときに書き換えるクエリ。方法論は色々あるけど直感的に書ける書き方。 前提条件 STANDARD SQL…