Google BigQuery はロケーションをまたいだクエリが書けない

表題の件でハマったので共有しておきます。

当社では、とある名刺管理サービス (ってそんなに数はないですが…) とCRMシステムからAPIで取得したデータを定期的にBigQueryに放り込んでいます。CData Sync というソリューションを使っており超絶便利なのですが、これはまた別の機会に。

で、双方のデータを join して分析しようとしたわけです。ところが、join するクエリを書いて実行しようとすると「そのデータセットは***リージョンには無いよん」的なエラーが出て先に進めない。クエリの文法的には間違いはない。

うーん、何だろうこれは…と思ってふと気づくと、それぞれのデータセットのロケーションが、名刺管理が asia-northeast1 (東京) になっていて、CRMが US になっていました。たぶんデータセットを作成するときによく考えずに選んだのでは…自分の適当さに自己嫌悪。

他にもいくつかデータセットがあるのですが、大半がもともとデフォルトだった US で作成してしまっていたので、東京にあるデータセットは一度ツブして US に作り直し、US で統一しました。本格的に使い出す前に気づいて良かった…。

まーレイテンシとか考えると東京を使ったほうが良いのでしょうね。今から BigQuery 始める方はご注意くださいませ。