삭제된 테이블 복원
이 문서에서는 BigQuery에서 삭제된 테이블을 복원 (또는 삭제 취소)하는 방법을 설명합니다. 테이블 만료 시간으로 인한 명시적 삭제 및 암시적 삭제를 포함하여 데이터 세트에 지정된 시간 이동 창 내에 삭제된 테이블을 복원할 수 있습니다. 시간 이동 기간을 구성할 수도 있습니다.
삭제된 전체 데이터 세트 또는 스냅샷을 복원하는 방법에 관한 자세한 내용은 다음 리소스를 참고하세요.
시간 이동 기간은 2~7일입니다. 시간 이동 기간이 지나면 BigQuery에서 삭제된 데이터가 추가로 7일간 자동으로 보관되는 장애 안전 기간을 제공합니다. 장애 안전 기간이 지나면 지원 티켓 열기를 비롯한 그 어떤 방법으로도 테이블을 복원할 수 없습니다.
시작하기 전에
삭제된 테이블을 복원하는 데 필요한 Identity and Access Management (IAM) 권한이 있는지 확인합니다.
필요한 역할
삭제된 테이블을 복원하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 BigQuery 사용자 (roles/bigquery.user
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
테이블 복원
이전 데이터에서 테이블을 복원하면 소스 테이블의 태그가 대상 테이블에 복사되지 않습니다.
@<time>
시간 데코레이터를 사용하여 테이블을 새 테이블에 복사하여 삭제되었지만 아직 시간 이동 창 내의 테이블을 복원할 수 있습니다.
테이블을 복사하려면 bq 명령줄 도구 또는 클라이언트 라이브러리를 사용합니다.
콘솔
Google Cloud 콘솔을 사용하여 테이블 삭제를 취소할 수 없습니다.
bq
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
테이블을 복원하려면 먼저 테이블이 있었던 시점의 UNIX 타임스탬프(밀리초 단위)를 확인합니다. Linux
date
명령어를 사용하여 일반 타임스탬�� 값에서 Unix 타임스탬프를 생성할 수 있습니다.date -d '2023-08-04 16:00:34.456789Z' +%s000
그런 다음
@<time>
시간 이동 데코레이터와 함께bq copy
명령어를 사용하여 테이블 복사 작업을 수행합니다.예를 들어
1418864998000
시점의mydataset.mytable
테이블을 새 테이블인mydataset.newtable
로 복사하려면 다음 명령어를 입력합니다.bq cp mydataset.mytable@1418864998000 mydataset.newtable
(선택사항)
--location
플래그를 지정하고 값을 사용자 위치로 설정합니다.상대 오프셋을 지정할 수도 있습니다. 다음 예시에서는 1시간 전의 테이블 버전을 복사합니다.
bq cp mydataset.mytable@-3600000 mydataset.newtable
자세한 내용은 특정 시점의 테이블 복원을 참조하세요.
Go
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
시간 이동 기간에 허용되는 것보다 나중에 테이블을 복원해야 할 것으로 예상되는 경우, 테이블의 테이블 스냅샷을 만듭니다. 자세한 내용은 테이블 스냅샷 소개를 참조하세요.
다음 단계
- 테이블을 만들고 사용하는 방법을 알아보세요.
- 테이블 관리 방법 알아보기
- 테이블 스키마를 수정하는 방법을 알아보세요.
- 테이블 데이터 작업 알아보기