6

私たちは、イベント (1 日あたり最大 1 ギガのイベント) を bigquery に保存するゲーム会社です。クエリのコストを下げるために、イベントは月間およびアプリケーションごとに分割されます。

さて、私たちの問題です。

現在のソリューションは、テーブル スキーマの新しいバージョンにつながる新しいタイプのイベントの追加をサポートしています。このバージョンも表に追加されました。

つまり、 events_app1_v2_201308およびevents_app1_v2_201308

9 月に新しい列タイプのイベントを追加すると、 events_app1_v3_201309も取得されます

関連するテーブル (日付範囲) を見つけて、bigquery のカンマ区切りの FROM 句のように結合するコードを作成しました。

しかし、異なるバージョンのイベント テーブルでユニオンを作成すると、これが機能しないことに気付きました。

これに対処する方法の賢い解決策を持っている人は誰ですか!?

現在、JSON 構造が役立つかどうかを調査しています。現在のソリューションは、フラット カラムです。[タイムスタンプ、イベント ID、値、値、値、...]

https://developers.google.com/bigquery/query-reference#fromから

注: 他の多くの SQL ベースのシステムとは異なり、BigQuery はカンマ構文を使用して、結合ではなくテーブル ユニオンを示します。これは、互換性のある !? を使用して、複数のテーブルに対してクエリを実行できることを意味します。スキーマは次のとおりです。

4

1 に答える 1