私は、特定の列の値が複製された行を削除するbigqueryのDAYパーティションテーブルを持っています(私はそのような値を最後にタイムスタンプ列で並べ替えたい)。現在、bigquery DML言語はパーティション表をサポートしていないため(他の制限があります)、元のビューをフィルタリングして一時表を作成し、元の表を削除してからコピーを実行する必要があります。一時テーブルを元の名前に変更し、一時テーブルを削除します。分割されたテーブルをフィルタリングする
SELECT * EXCEPT(row_number) FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY partition_col order by time_col desc) row_number FROM my_partioned_table ) WHERE row_number = 1
しかし、どのように、私はこのアプローチにパーティション情報を保存しない:私はこのようなものでこれを行うことができますか?
完全なテーブルをコピーすると、分割情報は保持されますが、パーティショニングも保持するテーブルのフィルタ付きビューを効果的に作成するにはどうすればよいですか?