data fileの更新を管理 • meta data fileをポイント metadata Layer Metadata file •テーブルとスナップショット履歴情報 Manifest list •あるスナップショットを構成するmanifest fileのリスト Manifest file •実データのパスと統計情報 data Layer Data file •実データ(avro / orc / parquet)
= catalog.loadTable(“third“); // create a new catalog TX CatalogTransaction catalogTx = catalog.createTransaction(“SNAPSHOT“); // use Catalog API to load a table and perform changes Catalog txCatalog = catalogTx.asCatalog(); // table metadata is only updated within the catalog TX but not visible outside of it txCatalog.loadTable(“first“).newFastAppend().appendFile(“FILE_A“).appendFile(“FILE_B“).commit(); txCatalog.loadTable(“second“).newDelete().deleteFile(“FILE_C“).commit(); txCatalog.loadTable(“second“).newFastAppend().appendFile(“FILE_B“).appendFile(“FILE_C“).commit(); txCatalog.loadTable(“third“).newDelete().deleteFile(“FILE_A“).commit(); txCatalog.loadTable(“third“).newAppend().appendFile(“FILE_D“).commit(); // before committing the catalog TX, catalog.loadTable(X) should still see the original state catalogTx.commitTransaction(); // now catalog.loadTable(X) should see all changes that have been done above こんな感じのことが出来るようになる