Application Design Center에서 BigQuery 구성

BigQuery는 페타바이트 규모의 비용 효율적인 완전 관리형 분석 데이터 웨어하우스로, 방대한 양의 데이터를 거의 실시간으로 분석할 수 있습니다. 자세한 내용은 BigQuery 소개를 참고하세요.

이 문서에서는 앱 디자인 센터를 사용하여 BigQuery 데이터 세트를 만들 때 구성할 수 있는 구성요소와 매개변수를 설명합니다. 구성 매개변수는 terraform-google-bigquery Terraform 모듈을 기반으로 합니다.

구성요소 연결

다음 표에는 BigQuery 데이터 세트에 연결할 수 있는 구성요소와 그 결과로 발생하는 애플리케이션 및 생성된 Terraform 코드의 업데이트가 포함되어 있습니다.

연결된 구성요소

애플리케이션 업데이트

배경 정보

Compute Engine 인스턴스 템플릿

  • Compute Engine 인스턴스는 BigQuery 데이터 세트에서 데이터를 읽고 쓸 수 있습니다.
  • BigQuery 리소스 메타데이터가 Compute Engine 인스턴스 템플릿에 추가됩니다.
  • roles/bigquery.dataEditor 역할이 Compute Engine 인스턴스 템플릿 서비스 계정에 추가됩니다.
인스턴스 템플릿
서비스 계정
  • 서비스 계정은 Cloud Run과 같은 서비스에서 BigQuery 데이터 세트의 데이터를 읽고 수정하는 데 사용할 수 있습니다.
  • BigQuery roles/bigquery.dataEditor 역할이 서비스 계정에 추가됩니다.
BigQuery IAM 역할 및 권한
Cloud Run
  • Cloud Run 서비스는 BigQuery 데이터 세트와 상호작용할 수 있습니다.
  • BigQuery 리소스 메타데이터가 Cloud Run 환경 변수에 추가됩니다.
  • BigQuery roles/bigquery.dataEditor 역할이 Cloud Run 서비스 계정에 추가됩니다.
Cloud Run이란 무엇인가요?

Pub/Sub

  • Pub/Sub 구독은 BigQuery 데이터 세트에 메시지를 쓸 수 있습니다.
  • BigQuery 데이터 세트 정보가 BigQuery 구독 필드에 추가됩니다.
BigQuery 구독

필수 구성 매개변수

템플릿에 BigQuery 구성요소가 포함된 경우 배포하기 전에 다음 매개변수를 구성해야 합니다.

매개변수 이름

설명 및 제약 조건

배경 정보

데이터 세트 ID

id 데이터 세트 소개

프로젝트 ID

BigQuery 데이터 세트와 테이블을 배포할 프로젝트입니다.

구성요소 구성

선택적 구성 매개변수

다음 매개변수는 선택사항입니다. 고급 매개변수를 표시하려면 구성 영역에서 고급 필드 표시를 선택합니다.

기능

하위 기능

매개변수 이름

설명 및 제약 조건 정보

배경 정보

테이블

테이블 ID

id 표 소개

설명

description 표 소개

표 이름

friendlyName 표 이름 지정

스키마

schema 스키마 지정

클러스터링

클러스터링 클러스터형 테이블 소개

파티션 필터 필요

requirePartitionFilter 파티션 필터 요구사항 설정
시간 파티셔닝

만료 MS

expirationMs 파티션 만료 시간 설정

필드

field 시간 단위 열로 파티션을 나눈 테이블 만들기

유형

type 시간 단위 열로 파티션을 나눈 테이블 만들기
범위 파티셔닝

필드

field 파티션 필터 요구사항 설정

범위 시작

range.start 정수 범위로 파티션 나누기

범위 종료

range.end 정수 범위로 파티션 나누기

범위 간격

range.interval 정수 범위로 파티션 나누기

만료 시간

expirationTime 테이블의 만료 시간 업데이트

삭제 보호

Terraform에서 이 테이블을 삭제하지 못하도록 하려면 체크박스를 선택합니다. 선택하지 않으면 구성요소 수준 삭제 보호 설정이 사용됩니다.

deletion_protection
라벨

labels 테이블 및 뷰에 라벨 추가

labels 테이블 및 뷰에 라벨 추가

데이터 세트 이름

friendlyName 데이터 세트 이름 지정

설명

description 데이터 세트 설명 업데이트

리전

location BigQuery 위치

소멸 시 콘텐츠 삭제

리소스를 소멸할 때 데이터 세트의 모든 테이블을 삭제하도록 선택합니다. 선택하지 않으면 테이블이 있는 경우 리소스 삭제가 실패합니다.

delete_contents_on_destroy

삭제 보호

선택하면 테이블을 삭제하는 terraform apply 또는 terraform destroy가 실패합니다. 선택하지 않으면 테이블을 삭제할 수 있습니다. 각 테이블의 삭제 보호 설정을 사용하여 이 설정을 재정의할 수 있습니다.

deletion_protection

기본 테이블 만료 시간(밀리초)

defaultTableExpirationMs 기본 테이블 만료 시간 업데이트

기본 파티션 만료 MS

defaultPartitionExpirationMs 기본 파티션 만료 시간 업데이트

최대 시간 이동 시간

maxTimeTravelHours 시간 이동 기간 업데이트

스토리지 청구 모델

StorageBillingModel 스토리지 청구 모델

암호화 키

kmsKeyName 저장 데이터 암호화
데이터 세트 라벨

labels 데이터 세트에 라벨 추가

value 데이터 세트에 라벨 추가
리소스 태그

resourceTags 태그 정의 및 식별자

resourceTags 태그 정의 및 식별자
조회수

조회 ID

id 뷰 이름 지정

설명

description 뷰 소개

쿼리

query 뷰의 SQL 쿼리 업데이트

이전 SQL 사용

useLegacySql GoogleSQL로 마이그레이션
라벨

labels 테이블 및 뷰에 라벨 추가

labels 테이블 및 뷰에 라벨 추가
구체화된 뷰

조회 ID

id 뷰 이름 지정

설명

description 구체화된 뷰 소개

쿼리

query 구체화된 뷰 쿼리 지원

새로고침 사용 설정

enableRefresh 구체화된 뷰 새로고침

새로고침 간격(밀리초)

refreshIntervalMs 새로고침 최대 게재빈도 설정

클러스터링

fields[] 클러스터 구체화된 뷰
시간 파티셔닝

만료 MS

expirationMs 파티션 만료 시간 설정

필드

field 시간 단위 열로 파티션을 나눈 테이블 만들기

유형

type 시간 단위 열로 파티션을 나눈 테이블 만들기

파티션 필터 필요

requirePartitionFilter 파티션 필터 요구사항 설정
범위 파티셔닝

필드

field 파티션을 나눈 구체화된 뷰

범위 시작

range.start 정수 범위로 파티션 나누기

범위 종료

range.end 정수 범위로 파티션 나누기

범위 간격

range.interval 정수 범위로 파티션 나누기

만료 시간

expirationTime 뷰의 만료 시간 업데이트

Max Staleness

maxStaleness max_staleness 옵션으로 구체화된 뷰 사용
라벨

labels 테이블 및 뷰에 라벨 추가

labels 테이블 및 뷰에 라벨 추가
외부 테이블

테이블 ID

id 외부 테이블 소개

설명

외부 테이블에 대한 설명입니다. description

자동 감지

autodetect 자동 감지 플래그 사용

압축

압축 압축 데이터 및 압축되지 않은 데이터 로드

알 수 없는 값 무시

ignoreUnknownValues 외부 데이터 소스의 테이블 정의 파일 만들기

Max Bad Records(최대 불량 레코드)

maxBadRecords 외부 데이터 소스의 테이블 정의 파일 만들기

스키마

schema 외부 데이터 소스의 테이블 정의 파일 만들기

소스 형식

sourceFormat 외부 데이터 소스의 테이블 정의 파일 만들기

소스 URI

sourceUris 외부 데이터 소스의 테이블 정의 파일 만들기
CSV 옵션

견적

quote Cloud Storage에서 CSV 데이터 로드

불균일 행 허용

allowJaggedRows Cloud Storage에서 CSV 데이터 로드

따옴표 안에 줄바꿈 허용

allowQuotedNewlines Cloud Storage에서 CSV 데이터 로드

인코딩

인코딩 인코딩

필드 구분 기호

FieldDelimiter 필드 구분 기호

선행 행 건너뛰기

skipLeadingRows CSV 옵션
Google Sheets 옵션

Range(범위)

range Google Drive 외부 테이블 만들기

선행 행 건너뛰기

skipLeadingRows Google Drive 외부 테이블 만들기
하이브 파티션 나누기 옵션

Mode(최빈값)

모드 감지 모드

소스 URI 접두사

sourceUriPrefix 외부에서 파티션을 나눈 데이터 사용

만료 시간

expirationTime 테이블의 만료 시간 업데이트

Max Staleness

maxStaleness 테이블 비활성 관리

삭제 보호

Terraform에서 이 테이블을 삭제하지 못하도록 하려면 체크박스를 선택합니다. 선택하지 않으면 구성요소 수준 삭제 보호 설정이 사용됩니다.

deletion_protection
라벨

labels 테이블 및 뷰에 라벨 추가

labels 테이블 및 뷰에 라벨 추가
루틴

루틴 ID

routineId 루틴 관리

루틴 유형

routineType RoutineType

언어

language 언어

정의 본문

definitionBody 루틴 본문 보기

반환 유형

returnType StandardSqlDataType

설명

루틴에 대한 설명입니다. description
인수

이름

인수의 이름입니다. name

데이터 유형

dataType StandardSqlDataType

인수 종류

argumentKind ArgumentKind

Mode(최빈값)

모드 Mode(최빈값)