-
[Bigquery] 라벨이란DB/Bigquery 2024. 2. 21. 00:14
빅쿼리의 라벨을 사용하면 데이터셋, 테이블, 뷰에 라벨을 추가하여 리소스를 체계화 할 수 있습니다. 라벨은 key-value 쌍으로 구성합니다. 라벨을 지정하면 검색에 용이하며 용도, 환경, 부서 등을 기준으로 그룹화할 수 있습니다.
라벨 요구 사항
다음은 라벨을 구성하는데 필요한 사항입니다.
- 각 리소스에 라벨을 최대 64개까지 사용 가능
- 라벨은 키-값 쌍으로 이뤄짐
- 키는 필수값이며 1~63자까지 입력 가능
- 값은 선택 값이며 0~63자까지 입력 가능
- 키와 값은 한글, 소문자, 숫자, 밑줄, 대시만 사용 가능
- 키는 단일 리소스에서 고유해야함
- 여러 리소스에 같은 키를 사용할 수 있음
값이 없는 라벨
키의 값이 비어 있는 라벨을 태그라고도 부릅니다. 정책 태그와 형태가 유사해 보이지만 태그와는 기능이 완전히 다릅니다. 값이 없는 새 라벨을 만들거나 기존 라벨 키에서 값을 삭제할 수 있습니다. 값이 없는 라벨은 키-값 형식이 필요하지 않은 경우에 유용할 수 있습니다.
라벨 사용 예시
- 팀 또는 비용 센터 라벨:
team:marketing
,team:analytics
,team:de
- 구성요소 라벨:
component:redis
,component:ingest
,component:dashboard
- 환경 또는 단계 라벨:
environment:production
,environment:test
- 삭제 예정 라벨:
deprecated:
라벨을 생성할 때는 최대한 그룹화하여 사용하는 것이 좋습니다. 너무 세부적으로 나누거나 값이 자주 변경되는 경우, 효과적으로 필터링 할 수 없습니다.
라벨 추가
라벨은 빅쿼리 콘솔, sql, 터미널 bq 명령어로 생성할 수 있습니다.
빅쿼리 콘솔
테이블 세부정보 수정을 눌러 다음과 같이 추가할 수 있습니다.
빅쿼리 콘솔 - 테이블 세부정보 수정 테이블 세부정보 sql
create or replace table `프로젝트.데이터셋.테이블명` OPTIONS ( labels = [('키_테스트', '값_테스트')] ) as SELECT * FROM `복사하고자 하는 테이블`
라벨 보기
라벨은 다음과 같은 옵션에서 확인할 수 있습니다.
이 중, sql만 확인해본다면 데이터셋의 경우,
INFORMATION_SCHEMA.SCHEMATA_OPTIONS
에서 확인할 수 있고INFORMATION_SCHEMA.TABLE_OPTIONS
에서 테이블의 라벨을 확인할 수 있습니다.아래는
INFORMATION_SCHEMA.TABLE_OPTIONS
를 사용해 위에서 등록한 테이블의 라벨을 조회하는 쿼리 예시입니다.SELECT table_schema, table_name, option_name, option_type, option_value FROM `프로젝트.데이터셋.INFORMATION_SCHEMA.TABLE_OPTIONS` WHERE option_name = 'labels'
라벨로 필터링하여 조회
조회 또한 빅쿼리 콘솔 및 아래 옵션으로 필터링하여 조회할 수 있습니다.
콘솔에서 필터링을 하고자 한다면 빅쿼리 콘솔 검색창에서
key
또는key:value
으로 검색을 진행하면 됩니다.다음 예시는 빅쿼리 콘솔에서 라벨로 필터링 하는 예시입니다.
라벨과 태그의 차이
라벨은 리소스를 체계화하고 필터링하는 부분에 초점이 맞춰져 있어서 정책을 세밀하게 제어를 할 수 없습니다. 이러한 기능은 태그(정책 태그)로 가능한데 태그를 사용하면 리소스에 정책을 제어하여 태그 여부에 따라 정책을 조건부로 허용 또는 거부할 수 있습니다.
요약
- 라벨을 사용하면 리소스를 체계화할 수 있고 필터링에 용이함
- 값이 없는 라벨을 태그라고도 부르는데 이는 정책태그가 아니므로 값이 없는 라벨 이라고 부르는 것이 혼동을 방지
- 현재(2024.02.21) key:value 쌍으로 라벨을 검색하려 할 때, 키나 값에 한글이 들어간다면 검색이 정상 동작하지 않음
레퍼런스
https://cloud.google.com/bigquery/docs/labels-intro?hl=ko
https://cloud.google.com/bigquery/docs/adding-labels?hl=ko
https://cloud.google.com/bigquery/docs/viewing-labels?hl=ko#console
https://cloud.google.com/bigquery/docs/filtering-labels?hl=ko