私は日付でパーティション化したいデータをいくつか持っており、内部的に定義されたクライアントIDでパーティション化しています。日付パーティションの創造的な使用
現在、このデータを保存するには、日付ごとの表を使用します。それは正常に機能しますが、個々のクライアントIDを照会するのは遅く、コストがかかります。
クライアントIDごとにテーブルを作成し、それらのテーブル内で日付パーティションを使用することを検討しました。ここでの唯一の問題は、1日に何千もの負荷ジョブが発生し、クライアントIDでデータを事前に分割する必要があることです。テーブルあたりの日付のアプローチと -Stick(例えばlog_20170110) 我々は、パーティションの日付として使用-Createダミー日付列、およびにその日付を設定 - :ここで
は私が思いついた可能性のあるソリューションです。 01-01(例:クライアントID 1235の場合、_PARTITIONTIMEを1235-01-01に設定)
このようにすれば、日々データを読み込むことができます。これにより、日付ごとのパーティション分割が可能になり、クライアントIDごとに分割する日付分割機能あなたはこのアプローチに何か間違っていますか? BigQueryを使用すると、200年または5000年のデータを保存できますか?
PS:日付をunixtimeの後にプッシュするスキームを使用することもできます。たとえば、2000に年を追加するか、最後の2桁を月と日にプッシュします。たとえば、1235 => 2012-03- 05。