BigQuery SQL の文字列分割(SPLIT)

split は、プログラマーなら誰もが馴染みのある関数で、最もよく使われる関数の 1 つといえるでしょう。BigQuery にも split がありますが、SQL であるため一般的なプログラミング言語とは使い方がかなり異なります。さらに BigQuery には Standard SQL と Legacy SQL の 2 つがあり、どちらにも split はありますが、使い方はまったく異なります。 ...

2017年9月17日 · 1 分

BigQuery の Google スプレッドシート連携テーブルで Access Denied エラーが出る

BigQuery では、テーブルを Google Drive 上の Google スプレッドシートにリンクさせることができ、スプレッドシートを変更するとテーブルもすぐに追随します。この連携テーブル(Federated Table)を使うと、Access Denied の問題に遭遇することがあります。WebUI でのクエリは問題ないのに、bq コマンドラインツールでクエリすると、次のエラーメッセージが表示されます。 Access Denied: BigQuery BigQuery: No OAuth token with Google Drive scope was found...

2017年9月14日 · 1 分

BigQuery SQL で指定日付から月初日・月末日を取得する

BigQuery で日付(またはタイムスタンプ、DATETIME 型)から月初日を取得したい場合、たとえば “2017-05-24” から “2017-05-01” を得たいときは、Legacy SQL では UTC_USEC_TO_MONTH 関数を、Standard SQL では DATE_TRUNC() 関数を使えます。実は BigQuery には、日付から月初日・時間・週の初めなどを取得するための関数が一式そろっています。 ...

2017年7月29日 · 1 分

BigQuery SQL でランダムに N 行を抽出する

データ分析をしていると、データからランダムに N 行を取り出す(サンプリングする)ことはよくある要件です。データが正しいかどうかを確認するためにサンプルを見る場合もあれば、データが多すぎて処理しきれないため、モデル構築用にサンプルを取る場合もあります。データベース内で SQL を使ってサンプリングするのは実はとても簡単です。ここでは BigQuery Standard SQL で説明しますが、Legacy SQL でも方法は同じです。 ...

2017年7月28日 · 1 分

端午の連休、渋滞にさよなら――宜蘭編

久しぶりの更新になりましたが、ようやく新しい記事を投稿します! 2016 年の端午節の連休、台北の友人の多くはきっと宜蘭を最初の行き先に選ぶのではないでしょうか。車でもバスでも、国道 5 号の雪山トンネルを通れば、うまくいけば約 40 分で宜蘭に着きます。もちろん、こうした連休にそう順調にいかないことは、みなさんご存じですよね……。今日は雪山トンネルの渋滞パターンを分析して、混雑を避けて宜蘭にスムーズに着けるようにしたいと思います! 以下に簡単な技術的な説明と分析の過程をまとめますので、技術の話が苦手な方は結論だけ読んでください! なお、私は今日宜蘭にいて、この記事は実は金車の「伯朗咖啡城堡(ブラウンカフェ城)」で書いています。 ...

2016年6月10日 · 1 分