Data Catalog를 사용하여 BigQuery 테이블에 태그 지정
이 빠른 시작은 다음 태스크를 완료하는 데 도움이 됩니다.
BigQuery 데이터 세트와 테이블을 만듭니다.
고유한 유형의 태그 필드 5개를 정의하는 스키마로 태그 템플릿을 만듭니다.
string
,double
,boolean
,enumerated
,richtext
입니다.테이블의 Data Catalog 항목을 찾습니다.
Google Cloud 콘솔에서 개요, 데이터 스튜어드, 태그가 포함된 항목의 비즈니스 메타데이터를 만듭니다.
Data Catalog를 사용 설정하면 메타데이터를 사용하여 BigQuery 테이블과 같은 항목을 검색하고 태그를 지정할 수 있습니다. 태그 지정에 사용할 수 있는 메타데이터의 예시로는 공개 및 비공개 태그, 데이터 스튜어드, 서식 있는 텍스트 개요가 있습니다.
시작하기 전에
- 프로젝트를 설정합니다.
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Data Catalog and BigQuery APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
프로젝트에 공개 데이터 항목 추가
Data Catalog 항목에는 BigQuery 데이터 세트 또는 Pub/Sub 주제와 같은 데이터 리소스가 포함됩니다.
프로젝트에 공개 데이터 세트를 추가합니다.
Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.
탐색기 섹션에서 + 데이터 추가를 클릭하고 목록에서 공개 데이터 세트를 선택합니다.
Marketplace 패널에서
New York taxi trips
를 검색하고 관련 검색결과를 클릭합니다.데이터 세트 보기를 클릭합니다.
데이터 세트 및 테이블 만들기
데이터 세트를 만듭니다.
Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.
탐색기 패널에서 데이터 세트를 만들 프로젝트를 선택합니다.
작업 아이콘을 클릭하고 데이터 세트 만들기를 클릭합니다.
데이터 세트 만들기 페이지에서 다음 세부정보를 입력합니다.
- 데이터 세트 ID에
demo_dataset
을 입력합니다. - 데이터 위치로
us (multiple regions in United States)
를 선택합니다. - 테이블 만료 시간을 사용 설정하고 일 수를 지정합니다.
- 암호화의 경우 Google 관리 암호화 키 옵션을 선택한 상태로 둡니다.
데이터 세트 만들기를 클릭합니다.
- 데이터 세트 ID에
공개적으로 액세스할 수 있는 테이블을
demo_dataset
에 복사합니다.Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.
탐색기 창에서
tlc_yellow_trips
테이블을 검색하고(필요한 경우 모든 프로젝트로 검색 확장 클릭) 그 중 하나(예:tlc_yellow_trips_2017
)를 선택합니다. 그런 다음 복사를 클릭합니다.테이블 복사 창에서 다음 정보를 입력합니다.
- 프로젝트 이름 드롭다운 목록에서 프로젝트를 선택합니다.
- 데이터 세트 이름 드롭다운 목록에서
demo_dataset
를 선택합니다. - 테이블 이름에
trips
를 입력한 후 복사를 클릭합니다.
탐색기 창에서
trips
테이블이demo_dataset
에 나열되어 있는지 확인합니다.
다음 섹션에서 테이블에 Data Catalog 태그를 추가합니다.
공개 태그 템플릿을 만들고 항목의 태그 연결
데이터 세트의 테이블에 태그를 첨부하려면 데이터 세트 소유자여야 합니다. 공개 및 비공개 태그에 대한 상세 설명은 공개 및 비공개 태그를 참조하세요.
태그 템플릿에서 태그 필드는 선택사항입니다. Data Catalog 항목에 태그를 연결할 때 필드 값을 제공할 필요가 없습니다. 하지만 템플릿에서 필요에 따라 필드를 정의하는 경우 필드 값을 제공해야 합니다. 값이 제공되지 않으면 오류가 발생합니다.
소문자와 밑줄을 사용하여 필드 이름을 정의할 수 있습니다. 이 예시에서 만든 태그 템플릿 필드는 단지 데모 필드이며 자동으로 업데이트되거나 BigQuery와 동기화되지 않습니다.
Console
Dataplex > 태그 템플릿 페이지로 이동합니다.
태그 템플릿 만들기를 클릭하고 다음 세부정보를 입력합니다.
- 템플릿 이름을
Demo Tag Template
으로 입력합니다. - 기본 위치를 유지합니다.
- 태그 템플릿 공개 상태를 공개로 유지합니다.
필드 추가를 클릭하여 필드 5개를 추가합니다. 다음 표를 사용하고 필드 설명을 비워 둡니다.
필드 표시 이름 필드 ID 필수 입력란 유형 데이터 애셋의 소스 source 예 문자열 애셋의 행 num_rows 아니요 Double Has PII has_pii 아니요 부울 PII 유형 pii_type 아니요 열거형 EMAIL_ADDRESS
,US_SOCIAL_SECURITY_NUMBER
,NONE
값을 추가합니다.컨텍스트 context 아니요 서식 있는 텍스트
- 템플릿 이름을
만들기를 클릭합니다.
템플릿 세부정보 페이지에 태그 템플릿에 대한 모든 정보가 나열됩니다.
demo_dataset
에 태그를 첨부하려면 Dataplex 검색 페이지로 이동합니다.검색창에서
demo_dataset
를 입력합니다. 검색 결과에demo_dataset
데이터 세트와trips
테이블이 표시됩니다.trips
테이블을 클릭합니다. BigQuery 테이블 세부정보 페이지가 열립니다.태그 연결을 클릭합니다.
태그 연결 패널에 다음 세부정보를 입력합니다.
- 대상을
trips
로 선택합니다. - 태그 템플릿을
Demo Tag Template
으로 선택합니다. - 태그 값에 다음 세부정보를 입력합니다.
- 데이터 애셋의 소스:
Copied from tlc_yellow_trips_2017
- 데이터 애셋의 행 수:
113496874
- Has PII:
FALSE
- PII 유형:
NONE
- 데이터 애셋의 소스:
저장을 클릭합니다.
이제 태그 필드가 BigQuery 테이블 세부정보의 태그 섹션에 나열됩니다.
- 대상을
gcloud
아래의 gcloud data-catalog tag-templates create 명령어를 실행하여 다음과 같은 태그 필드 5개가 있는 태그 템플릿을 만듭니다.
-
display_name:
Source of data assetid:
sourcerequired:
TRUEtype:
String -
display_name:
Number of rows in the data assetid:
num_rowsrequired:
FALSEtype:
Double -
display_name:
Has PIIid:
has_piirequired:
FALSEtype:
Boolean -
display_name:
PII typeid:
pii_typerequired:
FALSEtype:
Enumeratedvalues:
- EMAIL_ADDRESS
- US_SOCIAL_SECURITY_NUMBER
- 없음
# ------------------------------- # Create a Tag Template. # ------------------------------- gcloud data-catalog tag-templates create demo_template \ --location=us-central1 \ --display-name="Demo Tag Template" \ --field=id=source,display-name="Source of data asset",type=string,required=TRUE \ --field=id=num_rows,display-name="Number of rows in the data asset",type=double \ --field=id=has_pii,display-name="Has PII",type=bool \ --field=id=pii_type,display-name="PII type",type='enum(EMAIL_ADDRESS|US_SOCIAL_SECURITY_NUMBER|NONE)' # ------------------------------- # Lookup the Data Catalog entry for the table. # ------------------------------- ENTRY_NAME=$(gcloud data-catalog entries lookup '//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET/tables/TABLE' --format="value(name)") # ------------------------------- # Attach a Tag to the table. # ------------------------------- # Create the Tag file. cat > tag_file.json << EOF { "source": "BigQuery", "num_rows": 1000, "has_pii": true, "pii_type": "EMAIL_ADDRESS" } EOF gcloud data-catalog tags create --entry=${ENTRY_NAME} \ --tag-template=demo_template --tag-template-location=us-central1 --tag-file=tag_file.json
Go
이 샘플을 사용해 보기 전에 Data Catalog 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Data Catalog Go API 참고 문서를 참조하세요.
Data Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Data Catalog 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Data Catalog Java API 참고 문서를 참조하세요.
Data Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Data Catalog 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Data Catalog Node.js API 참고 문서를 참조하세요.
Data Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Data Catalog 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Data Catalog Python API 참고 문서를 참조하세요.
Data Catalog에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST 및 명령줄
REST
해당 언어의 Cloud 클라이언트 라이브러리에 액세스할 수 없거나 REST 요청을 사용하여 API를 테스트하려는 경우 다음 예시를 참조하고 Data Catalog REST API 문서를 참조하세요.
1. 태그 템플릿 만들기
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: Google Cloud 프로젝트 ID
HTTP 메서드 및 URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/tagTemplates?tagTemplateId=demo_tag_template
JSON 요청 본문:
{ "displayName":"Demo Tag Template", "fields":{ "source":{ "displayName":"Source of data asset", "isRequired": "true", "type":{ "primitiveType":"STRING" } }, "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" }, { "displayName":"NONE" } ] } } } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "displayName":"Demo Tag Template", "fields":{ "num_rows":{ "displayName":"Number of rows in data asset", "isRequired": "false", "type":{ "primitiveType":"DOUBLE" } }, "has_pii":{ "displayName":"Has PII", "isRequired": "false", "type":{ "primitiveType":"BOOL" } }, "pii_type":{ "displayName":"PII type", "isRequired": "false", "type":{ "enumType":{ "allowedValues":[ { "displayName":"EMAIL_ADDRESS" }, { "displayName":"NONE" }, { "displayName":"US_SOCIAL_SECURITY_NUMBER" } ] } } }, "source":{ "displayName":"Source of data asset", "isRequired":"true", "type":{ "primitiveType":"STRING" } } } }
2. BigQuery 테이블의 Data Catalog entry-id
찾기
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: Google Cloud 프로젝트 ID
HTTP 메서드 및 URL:
GET https://datacatalog.googleapis.com/v1/entries:lookup?linkedResource=//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips
JSON 요청 본문:
Request body is empty.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id", "type": "TABLE", "schema": { "columns": [ { "type": "STRING", "description": "A code indicating the TPEP provider that provided the record. 1= ", "mode": "REQUIRED", "column": "vendor_id" }, ... ] }, "sourceSystemTimestamps": { "createTime": "2019-01-25T01:45:29.959Z", "updateTime": "2019-03-19T23:20:26.540Z" }, "linkedResource": "//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips", "bigqueryTableSpec": { "tableSourceType": "BIGQUERY_TABLE" } }
3. 템플릿에서 태그를 만들고 BigQuery 테이블에 태그를 첨부합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: Google Cloud 프로젝트 ID
- entry-id: 데모 데이터 세트 trips 테이블의 Data Catalog 항목 ID입니다. 이전 단계의 조회 결과로 표시됩니다.
HTTP 메서드 및 URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups/@bigquery/entries/entry-id/tags
JSON 요청 본문:
{ "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "source":{ "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "doubleValue":113496874 }, "has_pii":{ "boolValue":false }, "pii_type":{ "enumValue":{ "displayName":"NONE" } } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id/tags/tag-id", "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template", "fields":{ "pii_type":{ "displayName":"PII type", "enumValue":{ "displayName":"NONE" } }, "has_pii":{ "displayName":"Has PII", "boolValue":false }, "source":{ "displayName":"Source of data asset", "stringValue":"Copied from tlc_yellow_trips_2017" }, "num_rows":{ "displayName":"Number of rows in data asset", "doubleValue":113496874 } }, "templateDisplayName":"Demo Tag Template" }
항목 개요 만들기
Google Cloud 콘솔 내에서 서식 있는 텍스트를 사용하여 Data Catalog 프로젝트의 항목을 설명할 수 있습니다.
trips
테이블 개요를 만들려면 Dataplex 검색 페이지로 이동합니다.검색창에서
demo_dataset
를 입력합니다.검색 결과에
demo_dataset
데이터 세트와trips
테이블이 표시됩니다.trips
테이블을 클릭합니다.BigQuery 테이블 세부정보 페이지가 열립니다.
개요 추가를 클릭하고 텍스트를 입력합니다. 이미지와 서식 있는 텍스트도 추가로 포함할 수 있습니다.
저장을 클릭합니다.
항목의 데이터 스튜어드 추가
Google Cloud 콘솔 내에서 Data Catalog 프로젝트의 항목에 데이터 스튜어드를 하나 이상 추가할 수 있습니다. 데이터 항목의 데이터 스튜어드에게 연락하여 데이터 항목에 대한 추가 정보를 요청할 수 있습니다.
trips
테이블 개요를 만들려면 이전 섹션의 첫 3단계를 반복합니다.스튜어드 수정 아이콘을 클릭하고 이메일 주소를 하나 이상 추가합니다.
Google 이메일 계정이 아닌 사용자를 추가할 수 있습니다.
저장을 클릭합니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
프로젝트 삭제
비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.
프로젝트를 삭제하는 방법은 다음과 같습니다.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
데이터 세트 삭제
필요하면 BigQuery 페이지로 이동합니다.
탐색기 패널에서 만든
demo_dataset
데이터 세트를 검색합니다.작업 옵션을 클릭하고 데이터 세트 삭제를 클릭합니다.
삭제 작업을 확인합니다.
태그 템플릿 삭제
Data Catalog > 템플릿 페이지로 이동합니다.
데모 태그 템플릿을 선택합니다.
행에서
작업 옵션을 클릭하고 이 템플릿 삭제를 클릭합니다.삭제 작업을 확인합니다.
다음 단계
Data Catalog 개요에서 Data Catalog 알아보기
기술 메타데이터 및 비즈니스 메타데이터 알아보기
태그 및 태그 템플릿에서 태그 템플릿, 공개 태그, 비공개 태그에 대해 알아보기
API 및 클라이언트 라이브러리 개요 살펴보기