Delta Lake は、Databricks のレイクハウスのテーブルの基盤を提供する最適化されたストレージ レイヤーです。
Time Travel
Delta Lake には 「タイムトラベル (Time Travel)」 機能があり、以前のバージョンのデータを簡単に参照・復元できます。手動でデータをコピーする必要がなくなり、更新コマンドで誤った変更を行ってもすぐに元のデータに戻せます。
-- テーブル更新前の状態に戻す
RESTORE TABLE my_table TO VERSION AS OF <バージョン番号>;
-- 下記でも可
RESTORE TABLE my_table TO TIMESTAMP AS OF 'YYYY-MM-DD HH:MM:SS';
-- 過去のデータを参照
SELECT * FROM my_table VERSION AS OF <バージョン番号>;
トランザクションログ
ユーザーが Delta Lake のテーブルを作成すると、そのテーブルのトランザクションログは自動的に “_delta_log” サブディレクトリにjsonファイルとして作成されます。
my_table/_delta_log/00000.json
参考
Databricks SQLリファレンス
https://docs.databricks.com/ja/delta/history.html
Databricks公式-トランザクションログの解析
https://www.databricks.com/jp/blog/2019/08/21/diving-into-delta-lake-unpacking-the-transaction-log.html

コメント