6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ZOZOAdvent Calendar 2022

Day 22

BigQueryでタイムトラベル機能を使用した過去データの復元

Last updated at Posted at 2022-12-21

はじめに

BigQueryのタイムトラベル機能についての紹介です。
以下のようなケースで利用できます。

  • 間違ってテーブルを削除、上書きしてしまった
  • 調査等でテーブルの過去のデータを参照したいが洗い替えられており分からない

※注意点として、現時点では7日前までしか遡ることができません。
 タイムトラベル期間を過ぎているとエラーメッセージが表示されます。

使い方

BigQueryのCloud Shellで以下のコマンドを実行

bq cp プロジェクト名:データセット名.テーブル名@Unix エポック時刻からの経過時間( ミリ秒) コピー先のプロジェクト名:データセット名.テーブル名

Unix エポック時刻からの経過時間は、以下のサイトのツールで計算した値を入力

もしくは、以下のようなSQLでも取得可能です

SELECT UNIX_MILLIS(TIMESTAMP('2022-12-01 12:00:00', 'Asia/Tokyo'));

実行例

2022/12/01 12:00:00時点のtarget_tableをtarget_table_restoredとして復活(コピー)させる

bq cp my_project:my_dataset.target_table@1669863600000 my_project:my_dataset.target_table_restored

現在から1時間前のデータが欲しい場合

bq cp my_project:my_dataset.target_table@-3600000 my_project:my_dataset.target_table_restored

「○○時間前」のような指定をする場合は「-」をつける

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?