Time Travel로 데이터 변경 시점 찾기
Time Travel은 Dataset Preview에서 데이터셋과 Iceberg 테이블의 커밋 버전을 탐색하는 Beta 기능입니다. 과거 데이터와 스키마를 보고 두 버전 사이의 변경이나 특정 행과 값이 바뀐 시점을 찾을 수 있습니다. 개발 중 기능이므로 동작이 변경될 수 있습니다.
타임라인은 Catalog 데이터셋의 커밋된 트랜잭션 또는 Iceberg 테이블의 snapshot을 시간순으로 구성합니다. 각 점은 커밋된 버전 하나입니다.
단일 버전 확인
데이터셋이나 Iceberg 테이블을 Dataset Preview에서 열고 Time Travel 탭을 선택합니다. Single version은 선택한 커밋 버전의 데이터와 스키마를 표시합니다. 타임라인에서 다른 버전으로 이동하면 미리보기도 바뀝니다. 필요한 버전을 로드한 상태에서는 키보드의 왼쪽 및 오른쪽 방향키로 이동할 수 있습니다.
범위 안의 변경 비교
Range는 선택한 기간의 오래된 기준 버전과 더 새로운 버전 사이의 차이를 표시합니다. 행 추가는 Added, 제거는 Removed로 표시합니다. 안정적이고 유일한 Key column을 지정하면 같은 행을 버전 사이에서 대응시켜 행과 셀의 변경을 Modified로 볼 수 있습니다.
키가 없으면 기존 행의 값 변경도 이전 행의 제거와 새 행의 추가로 표시합니다. 범위 안에서 스키마가 바뀌면 추가, 제거 또는 변경된 열도 요약합니다.
같은 SQL을 여러 버전에 적용
단일 버전 화면 오른쪽의 Refine query를 선택하면 미리보기를 만드는 SQL을 볼 수 있습니다. 필요한 행, 열, 정렬이나 집계로 분석 범위를 좁힐 수 있습니다.
질의를 실행한 뒤 타임라인을 이동하면 Time Travel이 질의의 버전 참조를 자동 변경합니다. 같은 분석을 과거와 이후 버전에 적용하기 위해 SQL을 매번 다시 작성할 필요가 없습니다.
Bisect로 변경 버전 탐색
오른쪽 위의 Bisect는 행이 추가되거나 제거된 시점, 셀 값이 변경된 시점을 찾는 기능입니다. 행은 key column으로 찾고, 셀 변경은 대상 열과 찾을 값도 지정합니다. 일치하는 버전을 찾으면 그 버전으로 바로 이동할 수 있습니다.
표의 셀을 우클릭하여 현재 행이나 값을 채운 상태로 bisect를 시작할 수도 있습니다.
Bisect는 현재 페이지에 로드한 버전만 검색합니다. 결과를 전체 보존 이력의 최초 변경이라고 해석하기 전에 로드한 범위를 확인해야 합니다. 또한 적용 중인 보존 정책에 따라 데이터가 사용 가능한 버전만 탐색할 수 있습니다. Time Travel이 삭제한 버전의 데이터를 복구하는 것은 아닙니다.