라벨 삭제

이 페이지는 BigQuery 리소스에서 라벨을 삭제하는 방법을 설명합니다.

개요

다음과 같은 방법으로 데이터세트, 테이블, 뷰에서 라벨을 삭제할 수 있습니다.

  • GCP Console 또는 기본 웹 UI 사용
  • 명령줄 도구의 bq update 명령어 사용
  • datasets.patch 또는 tables.patch API 메서드 호출
  • 클라이언트 라이브러리 사용

필수 권한

데이터세트 라벨을 삭제하려면 최소한 bigquery.datasets.getbigquery.datasets.update 권한이 부여되어 있어야 합니다. 사전 정의된 다음 Cloud IAM 역할에는 bigquery.datasets.updatebigquery.datasets.get 권한이 포함됩니다.

  • bigquery.dataOwner
  • bigquery.admin

또한 사용자에게 bigquery.datasets.create 권한이 있으면 해당 사용자가 데이터세트를 만들 때 이에 대한 bigquery.dataOwner 액세스 권한이 부여됩니다. bigquery.dataOwner 액세스 권한이 있으면 사용자가 데이터세트와 이 데이터세트의 테이블 및 뷰에서 라벨을 삭제할 수 있습니다.

BigQuery의 Cloud IAM 역할 및 권한에 대한 자세한 내용은 액세스 제어를 참조하세요.

데이터세트 라벨 삭제

데이터세트에서 라벨을 삭제하려면 다음 안내를 따르세요.

Console

  1. GCP Console에서 데이터세트를 선택합니다.

  2. 데이터세트 세부정보 페이지에서 라벨 오른쪽에 있는 연필 아이콘을 클릭합니다.

    라벨 연필

  3. 라벨 수정 대화상자에서 다음을 수행합니다.

    • 제거할 각 라벨의 삭제 아이콘(X)을 클릭합니다.
    • 업데이트를 클릭하여 변경사항을 저장합니다.

기본 UI

  1. 웹 UI에서 데이터세트를 선택합니다.

  2. 데이터세트 세부정보 페이지에서 라벨 오른쪽의 편집을 클릭합니다.

  3. 라벨 수정 대화상자에서 다음을 수행합니다.

    • 제거할 각 라벨의 삭제 아이콘(X)을 클릭합니다.
    • 확인을 클릭합니다.

      라벨 삭제

CLI

데이터세트 라벨을 삭제하려면 bq update 명령어를 clear_label 플래그와 함께 실행합니다. 여러 개의 라벨을 제거하려면 플래그를 반복합니다.

데이터세트가 기본 프로젝트 이외의 프로젝트에 있으면 project_id:dataset 형식으로 데이터세트에 프로젝트 ID를 추가합니다.

bq update \
--clear_label key \
project_id:dataset

각 항목의 의미는 다음과 같습니다.

  • key는 제거할 라벨의 키입니다.
  • project_id는 프로젝트 ID입니다.
  • dataset는 업데이트하는 데이터세트입니다.

예:

mydataset에서 department:shipping 라벨을 제거하려면 bq update 명령어를 --clear_label 플래그와 함께 입력합니다. mydataset는 기본 프로젝트에 있습니다.

    bq update --clear_label department mydataset

myotherprojectmydataset에서 department:shipping 라벨을 제거하려면 bq update 명령어를 --clear_label 플래그와 함께 입력합니다.

    bq update --clear_label department myotherproject:mydataset

데이터세트에서 여러 라벨을 제거하려면 clear_label 플래그를 반복하고 각 라벨의 키를 지정합니다. 예를 들어 기본 프로젝트의 mydataset에서 department:shipping 라벨과 cost_center:logistics 라벨을 제거하려면 다음을 입력합니다.

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset

이러한 각 예시에서 출력은 다음과 같이 표시됩니다.

Dataset 'myproject:mydataset' successfully updated.

API

기존 데이터세트에서 특정 라벨을 삭제하려면 datasets.patch 메서드를 호출하고 라벨의 키 값을 null로 설정하여 데이터세트 리소스labels 속성을 업데이트합니다.

데이터세트에서 모든 라벨을 삭제하려면 datasets.patch 메서드를 호출하고 labels 속성을 삭제합니다.

datasets.update 메서드는 전체 데이터세트 리소스를 바꾸므로 datasets.patch 메서드를 사용하는 것이 좋습니다.

Go

이 샘플을 시도하기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참조 문서를 확인하세요.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
ds := client.Dataset(datasetID)
meta, err := ds.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.DatasetMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := ds.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

이 샘플을 시도하기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참조 문서를 확인하세요.

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_ref = client.dataset('my_dataset')
# dataset = client.get_dataset(dataset_ref)  # API request

# This example dataset starts with one label
assert dataset.labels == {"color": "green"}
# To delete a label from a dataset, set its value to None
dataset.labels["color"] = None

dataset = client.update_dataset(dataset, ["labels"])  # API request

assert dataset.labels == {}

테이블 또는 뷰 라벨 삭제

다음과 같은 방법으로 테이블 또는 뷰 라벨을 삭제할 수 있습니다.

  • GCP Console 또는 기본 BigQuery 웹 UI 사용
  • 명령줄 도구의 bq update 명령어 사용
  • tables.patch API 메서드 호출
    • 뷰는 테이블 리소스와 같이 취급되므로 tables.patch는 뷰와 테이블을 수정하는 데 모두 사용됩니다.
  • 클라이언트 라이브러리 사용

필수 권한

테이블 또는 뷰 라벨을 삭제하려면 최소한 bigquery.tables.updatebigquery.tables.get 권한이 부여되어 있어야 합니다. 사전 정의된 다음 Cloud IAM 역할에는 bigquery.tables.updatebigquery.tables.get 권한이 포함됩니다.

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

또한 사용자에게 bigquery.datasets.create 권한이 있으면 해당 사용자가 데이터세트를 만들 때 이에 대한 bigquery.dataOwner 액세스 권한이 부여됩니다. bigquery.dataOwner 액세스 권한이 있으면 사용자가 데이터세트에서 테이블과 뷰의 라벨을 삭제할 수 있습니다.

BigQuery의 Cloud IAM 역할 및 권한에 대한 자세한 내용은 액세스 제어를 참조하세요.

테이블 또는 뷰 라벨 삭제

테이블 또는 뷰에서 라벨을 삭제하려면 다음 안내를 따르세요.

Console

  1. GCP Console에서 데이터세트를 선택합니다.

  2. 세부정보 탭을 클릭한 후 라벨 오른쪽에 있는 연필 아이콘을 클릭합니다.

    라벨 연필

  3. 라벨 수정 대화상자에서 다음을 수행합니다.

    • 제거할 각 라벨의 삭제 아이콘(X)을 클릭합니다.

      라벨 삭제

    • 업데이트를 클릭하여 변경사항을 저장합니다.

기본 UI

  1. 웹 UI에서 테이블 또는 뷰를 선택합니다.

  2. 세부정보 페이지에서 라벨 오른쪽의 편집을 클릭합니다.

  3. 라벨 수정 대화상자에서 다음을 수행합니다.

    • 제거할 각 라벨의 삭제 아이콘(X)을 클릭합니다.
    • 확인을 클릭합니다.

      라벨 삭제

CLI

테이블 또는 뷰 라벨을 삭제하려면 bq update 명령어를 clear_label 플래그와 함께 실행합니다. 여러 개의 라벨을 제거하려면 플래그를 반복합니다.

테이블 또는 뷰가 기본 프로젝트가 아닌 다른 프로젝트에 있는 경우 프로젝트 ID를 project_id:dataset 형식으로 데이터세트에 추가합니다.

bq update \
--clear_label key \
project_id:dataset.table_or_view

각 항목의 의미는 다음과 같습니다.

  • key는 제거할 라벨의 키입니다.
  • project_id는 프로젝트 ID입니다.
  • dataset는 업데이트하는 데이터세트입니다.
  • table_or_view는 업데이트하는 테이블 또는 뷰의 이름입니다.

예:

mydataset.mytable에서 department:shipping 라벨을 제거하려면 bq update 명령어를 --clear_label 플래그와 함께 입력합니다. mydataset는 기본 프로젝트에 있습니다.

    bq update --clear_label department mydataset.mytable

myotherprojectmydataset.myview에서 department:shipping 라벨을 제거하려면 bq update 명령어를 --clear_label 플래그와 함께 입력합니다.

    bq update --clear_label department myotherproject:mydataset.myview

테이블 또는 뷰에서 여러 라벨을 삭제하려면 clear_label 플래그를 반복하고 각 라벨의 키를 지정합니다. 예를 들어 기본 프로젝트의 mydataset.mytable에서 department:shipping 라벨과 cost_center:logistics 라벨을 제거하려면 다음을 입력합니다.

    bq update \
    --clear_label department \
    --clear_label cost_center \
    mydataset.mytable

이러한 각 예시에서 출력은 다음과 같이 표시됩니다.

Table 'myproject:mydataset.mytable' successfully updated.

API

기존 테이블 또는 뷰에서 특정 라벨을 삭제하려면 tables.patch 메서드를 호출하고 라벨의 키 값을 null로 설정하여 테이블 리소스labels 속성을 업데이트합니다.

테이블 또는 뷰에서 모든 라벨을 삭제하려면 tables.patch 메서드를 호출하고 labels 속성을 삭제합니다.

뷰는 테이블 리소스와 같이 취급되므로 tables.patch 메서드를 사용하여 뷰와 테이블을 모두 수정합니다. 또한 tables.update 메서드는 전체 데이터세트 리소스를 대체하므로 tables.patch 메서드를 사용하는 것이 좋습니다.

Go

이 샘플을 시도하기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참조 문서를 확인하세요.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
tbl := client.Dataset(datasetID).Table(tableID)
meta, err := tbl.Metadata(ctx)
if err != nil {
	return err
}
update := bigquery.TableMetadataToUpdate{}
update.DeleteLabel("color")
if _, err := tbl.Update(ctx, update, meta.ETag); err != nil {
	return err
}

Python

이 샘플을 시도하기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참조 문서를 확인하세요.

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('my_table')
# table = client.get_table(table_ref)  # API request

# This example table starts with one label
assert table.labels == {"color": "green"}
# To delete a label from a table, set its value to None
table.labels["color"] = None

table = client.update_table(table, ["labels"])  # API request

assert table.labels == {}

작업 라벨 삭제

현재 기존 작업의 라벨 삭제는 지원되지 않습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.