gcpug / nouhau

Google Cloud Platformのノウハウを共有するRepository
https://gcpug.jp
MIT License
655 stars 23 forks source link

ワイルドカード テーブルを使用した複数テーブルの照会時に、スキーマの差異をどうするか? #9

Open sinmetal opened 6 years ago

sinmetal commented 6 years ago

課題

https://cloud.google.com/bigquery/docs/querying-wildcard-tables 利用時に対象のtableでschemaに差異がある場合、queryが失敗するので、どうにかしたい。 どのtableが欠けているのかも分からないので、結構厳しい。

対処する案

すんなり解決するのは難しい。 いくつかの案を記すが、根性が必要。

案1

対象のcolumnがstructの場合はUDFでstructの中の欠けた値にデフォルト値を入れることで解決できるかもしれない。

案2

tableのschemaをAPIで調べて、欠けているtableを調べて、欠けているtableはviewを作るなどして、対処する。