안녕하세요. MC에몽입니다.
오늘은 GCP BigQuery Dataset의 Table DATA를 Time Travel을 통해 복구하는 방법에 대해 알아보도록 하겠습니다.
Time Trael은 7일 내로 삭제된 Bigquery Table을 복구할 수 있는 기능입니다.
먼저, 해당 작업을 실행하기 위해서는 다음과 같은 권한이 필요합니다.
- Bigquery Admin (roles/bigquery.admin)
1. 이전에 삭제한 Dataset Name을 가진 Dataset을 생성합니다.
- Dataset을 생성하지 않는 경우, 복구가 불가능하니 주의하시기 바랍니다.
2. 삭제된 Dataset 및 Table Name을 확인합니다.
============================
SELECT *
FROM `region-us`.INFORMATION_SCHEMA.TABLE_STORAGE_TIMELINE
WHERE DELETED = true;
============================
3. Time Travel bq문을 통한 복구 가능한 Data를 확인합니다.
============================
SELECT
concat('bq cp ',table_schema,'.',table_name,'@',UNIX_MILLIS(timestamp),' 삭제된 Dataset Name.',table_name)
FROM
`region-us`.INFORMATION_SCHEMA.TABLE_STORAGE_TIMELINE
WHERE TABLE_SCHEMA = "삭제된 Dataset Name"
AND DELETED = true;
============================
4. 2번에서 확인한 복구를 희망하는 data를 다음 bq문을 통해 복구합니다.
- bp cp [삭제된 Dataset Name].[Table Name]@-[삭제된 시점(m/s)] [Dataset Name].[Table Name]
5. 다음과 같이 결과를 확인한 뒤, 3번에서 만든 Dataset을 삭제합니다.
6. 결과 확인.
이렇게 실수로 삭제하거나, 다시 필요해진 table을 Time Travel을 통해 복구하여 사용할 수 있습니다.
다음시간에는 좀 더 유익한 시간으로 돌아오겠습니다.
See You Later!
참고 문헌
[1] https://cloud.google.com/bigquery/docs/managing-datasets?hl=ko#deleting_a_dataset
[2] https://cloud.google.com/bigquery/docs/time-travel
'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글
[GKE 사용하기] 쿠버네티스 컴포넌트(Kubernetes Component) (0) | 2022.10.12 |
---|---|
[GKE 사용하기] 쿠버네티스 핵심 기능 (0) | 2022.10.06 |
[Google Cloud Platform] BigQuery (1) | 2022.09.30 |
VPC Service Control (1) | 2022.09.26 |
Cloud Composer (0) | 2022.09.22 |
댓글