bq 명령줄 도구 참조
이 문서에서는 BigQuery 명령줄 도구인 bq
의 구문, 명령어, 플래그, 인수를 설명합니다.
BigQuery에 익숙하지만 특정 bq 명령줄 도구 명령어를 사용하는 방법을 알고 싶은 사용자를 대상으로 작성되었습니다.
일반적인 bq 명령줄 도구 사용 방법에 대한 설명은 bq 명령줄 도구 사용을 참조하세요.
개요
bq 명령줄 도구는 다음 형식을 사용합니다.
bq COMMAND [FLAGS] [ARGUMENTS]
일부 플래그는 여러 bq 명령줄 도구 명령어와 함께 사용할 수 있습니다. 이러한 플래그는 전역 플래그 섹션에 설명되어 있습니다.
다른 플래그는 명령어별로 다르며 특정 bq 명령줄 도구 명령어에서만 사용할 수 있습니다. 명령어별 플래그는 명령어 섹션에 설명되어 있습니다.
부울 플래그
일부 bq 명령줄 도구 플래그는 불리언이며, 플래그 값을 true
또는 false
로 설정할 수 있습니다.
bq 명령줄 도구는 불리언 플래그를 설정할 때 다음 형식을 허용합니다.
값 | 형식 | 예 |
---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
이 문서에서는 불리언 플래그에 --FLAGNAME=VALUE
형식을 사용합니다.
모든 불리언 플래그는 선택사항입니다. 불리언 플래그가 없으면 BigQuery는 플래그의 기본값을 사용합니다.
플래그 값 지정
플래그 값을 지정하면 등호 표시(=
)는 선택사항입니다. 예를 들어 다음 두 명령어는 동일합니다.
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
이 문서에서는 명확성을 위해 등호를 사용합니다.
온라인 도움말
다음과 같이 bq 명령줄 도구에서 문서를 확인할 수 있습니다.
설명 | 도움말 명령어 형식 | 예 |
---|---|---|
예시가 있는 전체 명령어 목록 | bq help |
bq help |
전역 플래그 설명 | bq --help |
bq --help |
특정 명령어 설명 | bq help COMMAND |
bq help mk |
리소스 사양
리소스 지정 형식은 컨텍스트에 따라 다릅니다. 프로젝트와 데이터 세트 사이의 구분 기호는 경우에 따라 콜론(:
)이거나 마침표(.
)입니다. 다음 표에서는 여러 컨텍스트에서 BigQuery 테이블을 지정하는 방법을 설명합니다.
컨텍스트 | 형식 | 예 |
---|---|---|
bq 명령줄 도구 | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
GoogleSQL 쿼리 | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
Legacy SQL 쿼리 | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
프로젝트를 지정하지 않으면 BigQuery가 현재 프로젝트를 사용합니다. 예를 들어 현재 프로젝트가 myProject
이면 BigQuery는 myDataset.myTable
을 myProject:myDataset.myTable
(또는 myProject.myDataset.myTable
)로 해석합니다.
일부 리소스 식별자는 역따옴표(`
)를 사용하여 묶어야 합니다.
리소스 식별자가 문자 또는 밑줄로 시작하고 문자, 숫자, 밑줄로만 이루어진 경우 역따옴표를 사용할 필요가 없습니다. 하지만 리소스 식별자에 다른 유형의 문자 또는 예약된 키워드가 포함된 경우 식별자(또는 특수문자 또는 예약된 키워드가 포함된 부분)를 역따옴표로 묶어야 합니다. 자세한 내용은 식별자를 참조하세요.
전역 플래그
해당하는 경우 bq
명령어에 다음 플래그를 사용할 수 있습니다.
--api=ENDPOINT
- 호출할 API 엔드포인트를 지정합니다. 기본값은
https://www.googleapis.com
입니다. --api_version=VERSION
- 사용할 API 버전을 지정합니다. 기본값은
v2
입니다. --apilog=FILE
모든 API 요청 및 응답을
FILE
로 지정된 파일에 로깅합니다. 가능한 값은 다음과 같습니다.- 파일 경로 - 지정된 파일에 로깅
stdout
- 표준 출력에 로깅stderr
- 표준 오류 로깅false
- API 요청 및 응답이 로깅되지 않음(기본값)
--bigqueryrc=PATH
bq 명령줄 도구 구성 파일의 경로를 지정합니다.
--bigqueryrc
플래그를 지정하지 않으면 명령어가BIGQUERYRC
환경 변수를 사용합니다. 환경 변수가 설정되어 있지 않으면$HOME/.bigqueryrc
가 사용됩니다. 이 파일이 없으면~/.bigqueryrc
가 사용됩니다. 자세한 내용은 명령줄 플래그 기본값 설정을 참조하세요.--ca_certificates_file=PATH
Certificate Authority Service(CA) 파일의 위치를 지정합니다.
--dataset_id=DATASET_ID
명령어에 사용할 기본 데이터 세트를 지정합니다. 이 플래그는 적용할 수 없는 경우 무시됩니다.
PROJECT:DATASET
또는DATASET
형식을 사용하여DATASET_ID
인수를 지정할 수 있습니다.PROJECT
부분이 누락되면 기본 프로젝트가 사용됩니다.--project_id
플래그를 지정하여 기본 프로젝트 설정을 재정의할 수 있습니다.--debug_mode={true|false}
true
로 설정하면 Python 예외에 대한 추적을 표시합니다. 기본값은false
입니다.--disable_ssl_validation={true|false}
true
로 설정하면 HTTPS 인증서 유효성 검사가 사용 설정됩니다. 기본값은false
입니다.--discovery_file=PATH
검색을 위해 읽을 JSON 파일을 지정합니다.
--enable_gdrive={true|false}
false
로 설정하면 Google Drive 범위가 없는 새 OAuth 토큰을 요청합니다. 기본값은true
입니다. 드라이브 범위가 있는 새 OAuth 토큰을 요청합니다.--fingerprint_job_id={true|false}
작업 구성의 디지털 지문에서 파생된 작업 ID를 사용하려면
true
로 설정합니다. 이렇게 하면 같은 작업이 실수로 여러 번 실행되는 것을 방지할 수 있습니다. 기본값은false
입니다.--format=FORMAT
명령어의 출력 형식을 지정합니다. 다음 중 한 가지 값을 사용합니다.
pretty
: 형식이 지정된 테이블 출력sparse
: 더 단순한 테이블 출력prettyjson
: 읽기 쉬운 JSON 형식json
: 최대한 압축한 JSONcsv
: 헤더가 있는 CSV 형식
pretty
,sparse
,prettyjson
은 인간이 읽을 수 있도록 작성되었습니다.json
및csv
는 다른 프로그램에서 사용하는 것입니다.none
이 지정되면 명령어가 출력을 생성하지 않습니다.--format
플래그가 없으면 명령어를 기준으로 적절한 출력 형식이 선택됩니다.--headless={true|false}
사용자 상호작용 없이
bq
세션을 실행하려면true
로 설정합니다. 예를 들어debug_mode
는 디버거에 침입하지 않으며 정보 인쇄 빈도가 줄어듭니다. 기본값은false
입니다.--httplib2_debuglevel=DEBUG_LEVEL
HTTP 디버깅 정보를 표시할지 여부를 지정합니다.
DEBUG_LEVEL
이0
보다 클 경우 이 명령어는 오류 메시지 외에도 HTTP 서버 요청 및 응답을 stderr에 로깅합니다.DEBUG_LEVEL
이 0보다 작거나--httplib2_debuglevel
플래그가 사용되지 않으면 오류 메시지만 제공됩니다.예를 들면 다음과 같습니다.
--httplib2_debuglevel=1
--job_id=JOB_ID
새 작업의 작업 식별자를 지정합니다. 이 플래그는 작업을 생성하는 명령어인
cp
,extract
,load
,query
에만 적용됩니다.--job_id
플래그를 사용하지 않으면 명령어는 고유한 작업 식별자를 생성합니다. 자세한 내용은 프로그래매틱 방식으로 작업 실행을 참조하세요.--job_property=KEY:VALUE
작업 구성의 속성 필드에 포함되는 키-값 쌍입니다. 이 플래그를 반복하면 속성을 추가로 지정할 수 있습니다.
--location=LOCATION
리전 또는 멀티 리전 위치에 해당하는 문자열입니다. 위치 플래그는
--jobs
플래그를 사용하여 작업 정보를 표시하는 경우bq cancel
명령어와bq show
명령어에 필요합니다. 위치 플래그는 다음 명령어에서 선택사항입니다.query
cp
load
extract
partition
update
wait
--dataset
,--reservation
,--capacity_commitment
또는--reservation_assignment
플래그를 사용하는 경우mk
--reservation
,--capacity_commitment
또는--reservation_assignment
플래그를 사용하는 경우ls
다른 모든 명령어는
--location
플래그를 무시합니다.--max_rows_per_request=MAX_ROWS
읽을 때마다 반환되는 최대 행 수를 지정하는 정수입니다.
--project_id=PROJECT
명령어에 사용할 프로젝트를 지정합니다.
--proxy_address=PROXY
Google Cloud에 연결하는 데 사용할 프록시 호스트의 이름 또는 IP 주소를 지정합니다.
--proxy_password=PASSWORD
프록시 호스트로 인증할 때 사용할 암호를 지정합니다.
--proxy_port=PORT
프록시 호스트에 연결하는 데 사용할 포트 번호를 지정합니다.
--proxy_username=USERNAME
프록시 호스트로 인증할 때 사용할 사용자 이름을 지정합니다.
--quiet={true|false}
또는-q={true|false}
작업이 실행되는 동안 상태 업데이트를 숨기려면
true
로 설정합니다. 기본값은false
입니다.--synchronous_mode={true|false}
또는-sync={true|false}
작업을 만들고 성공적인 완료 상태를 오류 코드로 즉시 반환하려면
false
로 설정합니다.true
로 설정하면 명령어는 작업이 완료될 때까지 기다린 후에 반환되고 작업 완료 상태를 오류 코드로 반환합니다. 기본값은true
입니다.--trace=token:TOKEN
API 요청에 포함할 추적 토큰을 지정합니다.
--use_regional_endpoints={true|false}
미리보기에서: 리전 엔드포인트에 연결하려면
--use_regional_endpoints
플래그를true
로 설정하고--location
플래그를 연결하려는 리전으로 설정합니다. 기본값은false
입니다.
지원 중단된 전역 플래그
파일에서 bq 명령줄 도구 플래그를 지정하기 위한 다음 전역 플래그는 지원 중단되었습니다. 파일에서 플래그를 지정하려면 --bigqueryrc
플래그를 사용합니다.
--flagfile=PATH
이 플래그를 지정하면 제공된 파일의 플래그 정의가 bq 명령줄 도구에 삽입됩니다. 기본값은 ''
입니다. 자세한 내용은 명령줄 플래그 기본값 설정을 참조하세요.
명령어
다음 섹션에서는 bq 명령줄 도구 명령어와 명령어별 플래그 및 인수를 설명합니다.
bq add-iam-policy-binding
bq add-iam-policy-binding
명령어를 사용하여 테이블 또는 뷰의 Identity and Access Management(IAM) 정책을 검색하고 한 번에 정책에 binding을 추가합니다.
이 명령어는 다음 3단계 프로세스를 대체합니다.
bq get-iam-policy
명령어를 사용하여 JSON 형식의 정책 파일 검색- 정책 파일 수정
bq set-iam-policy
명령어를 사용하여 정책을 새 binding으로 업데이트
개요
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
예
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
플래그 및 인수
bq add-iam-policy-binding
명령어는 다음 플래그와 인수를 사용합니다.
--member=MEMBER_TYPE:MEMBER
필수 항목.
--member
플래그를 사용하여 IAM 정책 binding의 구성원 부분을 지정합니다.--role
플래그와 함께--member
플래그가 필요합니다.--member
와--role
플래그의 한 조합은 하나의 binding과 같습니다.MEMBER_TYPE
값은 IAM 정책 binding의 구성원 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.user
serviceAccount
group
domain
MEMBER
값은 IAM 정책 binding에서 구성원의 이메일 주소 또는 도메인을 지정합니다.--role=ROLE
필수 항목. IAM 정책 binding의 역할 부분을 지정합니다.
--member
플래그와 함께--role
플래그가 필요합니다.--member
와--role
플래그의 한 조합은 하나의 binding과 같습니다.--table={true|false}
RESOURCE
인수가 테이블 또는 뷰 식별자가 아닌 경우 오류를 반환하려면--table
플래그를true
로 설정합니다. 기본값은false
입니다. 이 플래그는 다른 명령어와의 일관성을 위해 지원됩니다.RESOURCE
정책을 추가할 테이블 또는 뷰입니다.
자세한 내용은 IAM 정책 참조를 확인하세요.
bq cancel
bq cancel
명령어를 사용하여 BigQuery 작업을 취소합니다.
개요
bq [--synchronous_mode=false] cancel JOB_ID
예시
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
플래그 및 인수
bq cancel
명령어는 다음 플래그와 인수를 사용합니다.
--synchronous_mode=false
bq cancel
명령어가 완료될 때까지 기다리지 않으려면 전역--synchronous_mode
플래그를false
로 설정합니다. 기본값은true
입니다.JOB_ID
- 취소할 작업입니다.
bq cancel
명령어 사용에 대한 자세한 내용은 작업 관리를 참조하세요.
bq cp
다음 태스크에 bq cp
명령어를 사용합니다.
개요
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
예
bq cp myDataset.myTable myDataset.myTableCopy
플래그 및 인수
bq cp
명령어는 다음 플래그와 인수를 사용합니다.
--append_table={true|false}
또는-a={true|false}
기존 테이블에 테이블을 추가하려면
true
로 설정합니다. 기본값은false
입니다.--append_table=true
및--clone=true
플래그 설정을 동시에 사용할 수는 없습니다.--clone={true|false}
테이블 클론을 만들려면
true
로 설정합니다. 기본 테이블은 표준 테이블, 테이블 클론 또는 테이블 스냅샷일 수 있습니다. 대상 테이블은 테이블 클론입니다. 기본값은false
입니다.--clone=true
와--snapshot=true
중에서 어느 것도 지정되지 않으면 대상 테이블은 기본 테이블과 동일한 테이블 유형입니다.--append_table=true
및--clone=true
플래그 설정을 동시에 사용할 수는 없습니다.--destination_kms_key=KEY
대상 테이블 데이터를 암호화하기 위한 Cloud KMS 키 리소스 ID를 지정합니다.
예를 들면 다음과 같습니다.
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDS
테이블 스냅샷이 만료되기까지 걸리는 시간(초)입니다. 포함하지 않으면 테이블 스냅샷 만료 시간이 새 테이블 스냅샷이 포함된 데이터 세트의 기본 만료 시간으로 설정됩니다.
--snapshot
플래그와 함께 사용합니다.--force={true|false}
또는-f={true|false}
대상 테이블이 있는 경우 메시지를 표시하지 않고 이를 덮어쓰려면
true
로 설정합니다. 기본값은false
입니다. 대상 테이블이 존재하는 경우 명령어는 덮어쓰기 전에 확인 메시지를 표시합니다.--no_clobber={true|false}
또는-n={true|false}
대상 테이블이 있는 경우 이를 덮어쓰지 않으려면
true
로 설정합니다. 기본값은false
입니다. 대상 테이블이 있는 경우 덮어씁니다.--restore={true|false}
이 플래그는 지원 중단되었습니다. 테이블 스냅샷에서 쓰기 가능한 테이블을 만들려면
bq cp
명령어나bq cp --clone
명령어를 사용합니다.--snapshot={true|false}
SOURCE_TABLE
인수에 지정된 테이블의 테이블 스냅샷을 만들려면true
로 설정합니다. 기본 테이블은 표준 테이블, 테이블 클론 또는 다른 테이블 스냅샷일 수 있습니다. 기본값은false
입니다.--clone=true
와--snapshot=true
중에서 어느 것도 지정되지 않으면 대상 테이블은 기본 테이블과 동일한 테이블 유형입니다.--no_clobber
플래그가 필요합니다.SOURCE_TABLE
복사하려는 테이블입니다.
DESTINATION_TABLE
복사를 실행할 테이블입니다.
cp
명령어 사용에 대한 자세한 내용은 다음을 참조하세요.
bq extract
테이블 데이터를 Cloud Storage로 내보내려면 bq extract
명령어를 사용합니다.
개요
bq extract [FLAGS] RESOURCE DESTINATION
예시
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
플래그 및 인수
bq extract
명령어는 다음 플래그와 인수를 사용합니다.
--compression=COMPRESSION_TYPE
내보낸 파일에 사용할 압축 유형을 지정합니다. 가능한 값은 다음과 같습니다.
GZIP
DEFLATE
SNAPPY
NONE
기본값은
NONE
입니다.각 압축 유형에 지원되는 형식에 대한 자세한 내용은 내보내기 형식 및 압축 유형을 참조하세요.
--destination_format=FORMAT
내보내는 데이터의 형식을 지정합니다. 가능한 값은 다음과 같습니다.
CSV
NEWLINE_DELIMITED_JSON
AVRO
PARQUET
기본값은
CSV
입니다.--field_delimiter=DELIMITER
CSV 내보내기의 경우 출력 파일에서 열 사이의 경계를 표시하는 문자를 지정합니다. CSV 파일의 구분 기호는 ISO-8859-1 단일 바이트의 어떤 문자도 될 수 있습니다.
\t
또는tab
을 사용하여 탭 구분 기호를 지정할 수 있습니다.--print_header={true|false}
헤더가 있는 형식의 헤더 행 인쇄를 나타내지 않으려면
false
로 설정합니다. 기본값은true
입니다. 헤더 행이 포함됩니다.RESOURCE
내보내기를 실행할 테이블입니다.
DESTINATION
내보낸 데이터를 수신하는 스토리지 위치입니다.
bq extract
명령어 사용에 대한 자세한 내용은 테이블 데이터 내보내기를 참조하세요.
bq get-iam-policy
bq get-iam-policy
명령어를 사용하여 리소스의 IAM 정책을 검색하고 stdout
에 출력합니다. 리소스는 테이블 또는 뷰일 수 있습니다. 정책은 JSON 형식입니다.
개요
bq get-iam-policy [FLAGS] RESOURCE
예
bq get-iam-policy myDataset.myTable
플래그 및 인수
bq get-iam-policy
명령어는 다음 플래그와 인수를 사용합니다.
--table={true|false}
또는--t={true|false}
RESOURCE
가 테이블 또는 뷰 식별자가 아닌 경우 오류를 반환하려면--table
플래그를true
로 설정합니다. 기본값은false
입니다. 이 플래그는 다른 명령어와의 일관성을 위해 지원됩니다.RESOURCE
- 정책을 가져올 테이블 또는 뷰입니다.
bq get-iam-policy
명령어에 대한 자세한 내용은 IAM으로 리소스 액세스 제어를 참조하세요.
bq head
bq head
명령어를 사용하여 테이블의 지정된 행과 열을 표시합니다.
기본적으로 처음 100개 행의 모든 열이 표시됩니다.
개요
bq head [FLAGS] [TABLE]
예
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
플래그 및 인수
bq head
명령어는 다음 플래그와 인수를 사용합니다.
--job=JOB or -j=JOB
- 쿼리 작업 결과를 읽으려면 유효한 작업 ID와 함께 이 플래그를 지정합니다.
--max_rows=MAX or -n=MAX
- 테이블 데이터를 표시할 때 인쇄할 행의 최대 개수를 나타내는 정수입니다. 기본값은
100
입니다. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- 테이블 데이터를 표시할 때 반환할 필드의 하위 집합(중첩된 필드 및 반복된 필드 포함)을 지정하는 쉼표로 구분된 목록입니다. 이 플래그를 지정하지 않으면 모든 열이 반환됩니다.
--start_row=START_ROW or -s=START_ROW
- 테이블 데이터를 표시하기 전에 건너뛸 행의 개수를 지정하는 정수입니다. 기본값은
0
입니다. 테이블 데이터는 첫 번째 행에서 시작됩니다. --table={true|false}
또는-t={true|false}
- 명령어 인수가 테이블 또는 뷰가 아닌 경우 오류를 반환하려면
true
로 설정합니다. 기본값은false
입니다. 이 플래그는 다른 명령어와의 일관성을 위해 지원됩니다. TABLE
- 데이터를 검색하려는 테이블입니다.
bq head
명령어 사용에 대한 자세한 내용은 테이블 데이터 관리를 참조하세요.
bq help
bq help
명령어를 사용하여 도구 내에 bq 명령줄 도구 문서를 표시합니다.
개요
bq help [COMMAND]
플래그 및 인수
bq help
명령어는 다음 플래그와 인수를 사용합니다.
COMMAND
- 온라인 도움말을 보려는 특정 bq 명령줄 도구 명령어를 지정합니다.
bq insert
bq insert
명령어를 사용하여 스트리밍 삽입을 사용하는 파일에서 줄바꿈으로 구분된 JSON 형식의 데이터 행을 테이블에 삽입합니다. 데이터 유형은 대상 테이블의 열 유형과 일치하도록 변환됩니다. 이 명령어는 테스트 목적으로만 사용됩니다. BigQuery로 데이터를 스트리밍하려면 insertAll
API 메서드를 사용합니다.
개요
bq insert [FLAGS] TABLE FILE
예시
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
플래그 및 인수
bq insert
명령어는 다음 플래그와 인수를 사용합니다.
--ignore_unknown_values={true|false}
또는-i={true|false}
true
로 설정하면 BigQuery는 테이블 스키마와 일치하지 않는 키-값 쌍을 무시하고 스키마와 일치하는 데이터가 있는 행을 삽입합니다.false
로 설정하면 테이블 스키마와 일치하지 않는 데이터가 있는 행은 삽입되지 않습니다. 기본값은false
입니다.--skip_invalid_rows={true|false}
또는-s={true|false}
true
로 설정하면 BigQuery는 유효하지 않은 행이 있어도 유효한 행 삽입을 시도합니다.false
로 설정하면 유효하지 않은 행이 있으면 명령어가 실패합니다. 기본값은false
입니다.--template_suffix=SUFFIX or -x=SUFFIX
- 이 플래그를 지정하면 대상 테이블 TABLE이 기본 템플릿으로 처리되고 행은
{destination}{templateSuffix}
라는 인스턴스 테이블에 삽입됩니다. BigQuery는 기본 템플릿의 스키마를 사용하여 인스턴스 테이블을 만듭니다. TABLE
- 데이터를 삽입할 테이블입니다.
FILE
- 삽입하려는 데이터가 포함된 파일입니다.
bq insert
명령어 사용에 대한 자세한 내용은 BigQuery로 데이터 스트리밍을 참조하세요.
bq load
bq load
명령어를 사용하여 테이블에 데이터를 로드합니다.
개요
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
예
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
플래그 및 인수
bq load
명령어는 다음 플래그와 인수를 사용합니다.
--allow_jagged_rows={true|false}
- CSV 데이터에서 후행 선택 열이 누락된 것을 허용하려면
true
로 설정합니다. --preserve_ascii_control_characters={true|false}
- CSV 데이터에서 포함된 ASCII 제어 문자를 허용하려면
true
로 설정합니다. --allow_quoted_newlines={true|false}
- CSV 데이터에 따옴표가 있는 줄바꿈을 허용하려면
true
로 설정합니다. --autodetect={true|false}
- CSV 및 JSON 데이터에 스키마 자동 감지를 사용 설정하려면
true
로 설정합니다. 기본값은false
입니다.--autodetect
가false
이면서--schema
플래그를 사용하여 지정된 스키마가 없고 대상 테이블이 있으면 대상 테이블의 스키마가 사용됩니다. --clustering_fields=COLUMNS
- 테이블 클러스터링에 사용할 필드를 지정하는 최대 4개의 열 이름이 포함된 쉼표로 구분된 목록입니다.
--destination_kms_key=KEY
- 대상 테이블 데이터를 암호화하기 위한 Cloud KMS 키 리소스 ID를 지정합니다.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE
- 데이터에 사용되는 문자 인코딩입니다. 다음 중 한 가지 값을 사용합니다.
ISO-8859-1
(Latin-1이라고도 함)UTF-8
--field_delimiter=DELIMITER or -F=DELIMITER
- 데이터에서 열 사이의 경계를 표시하는 문자를 지정합니다.
CSV 파일의 구분 기호는 ISO-8859-1 단일 바이트의 어떤 문자도 될 수 있습니다.
\t
또는tab
을 사용하여 탭 구분 기호를 지정할 수 있습니다. --ignore_unknown_values={true|false}
- CSV 및 JSON 파일에 대해
true
로 설정된 경우 테이블 스키마와 일치하지 않는 추가 열 값이 있는 행이 로드되지만 추가 열은 무시됩니다. Avro, Parquet, ORC 파일에 대해true
로 설정된 경우 테이블 스키마에 없는 파일 스키마의 필드가 무시되고 로드되지 않습니다. --json_extension=JSON_TYPE
로드할 JSON 파일의 유형을 지정합니다. JSON 파일에만 적용됩니다. 가능한 값은 다음과 같습니다.
GEOJSON
- 줄바꿈으로 구분된 GeoJSON 파일입니다.
이 플래그를 사용하려면
--source_format
플래그를NEWLINE_DELIMITED_JSON
으로 설정해야 합니다.자세한 내용은 줄바꿈으로 구분된 GeoJSON 파일 로드를 참조하세요.
--max_bad_records=MAX
전체 작업이 실패하기 전에 허용되는 불량 레코드의 최대 개수를 지정하는 정수입니다. 기본값은
0
입니다.--max_bad_records
값과 관계없이 모든 유형에 오류가 최대 5개까지 반환됩니다. 이 플래그는 CSV, JSON, Google Sheets 데이터 로드에만 적용됩니다.--null_marker=STRING
CSV 데이터에서
NULL
값을 나타내는 선택적 커스텀 문자열입니다.--projection_fields=PROPERTY_NAMES
--source_format
을DATASTORE_BACKUP
으로 설정하면 이 플래그는 Datastore 내보내기에서 로드할 항목 속성을 나타냅니다. 쉼표로 구분된 목록에 속성 이름을 지정합니다. 속성 이름은 대소문자를 구분하며 최상위 속성을 참조해야 합니다. 이 플래그는 Firestore 내보내기에도 사용될 수 있습니다.--quote=CHARACTER
CSV 데이터의 필드를 묶을 따옴표 문자를 지정합니다.
CHARACTER
인수는 1바이트 문자일 수 있습니다. 기본값은 큰따옴표("
)입니다. 따옴표가 없도록 지정하려면 빈 문자열""
을 사용합니다.--replace={true|false}
새 데이터가 로드될 때 기존 데이터와 스키마를 삭제하려면
true
로 설정합니다.--destination_kms_key
플래그를 지정하지 않으면 모든 Cloud KMS 키도 삭제됩니다. 기본값은false
입니다.JobConfigurationLoad.writeDisposition
의WRITE_TRUNCATE
값과 동일합니다.--schema={SCHEMA_FILE|SCHEMA
}로컬 JSON 스키마 파일의 경로 또는
FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식 등의 쉼표로 구분된 열 정의 목록 등을 지정합니다. 스키마 파일을 사용하는 경우 파일에 확장자를 포함하지 마세요.예를 들면 다음과 같습니다.
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
지정된 스키마가 없고
--autodetect
가false
이면서 대상 테이블이 있으면 대상 테이블의 스키마가 사용됩니다.--schema_update_option=OPTION
로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 다음 중 한 가지 값을 사용합니다.
ALLOW_FIELD_ADDITION
: 새 필드를 추가하도록 허용ALLOW_FIELD_RELAXATION
:REQUIRED
필드를NULLABLE
로 완화하도록 허용
여러 스키마 업데이트 옵션을 지정하려면 이 플래그를 반복합니다.
--skip_leading_rows=NUMBER_OF_ROWS
소스 파일의 시작 부분에서 건너뛸 행 수를 지정하는 정수입니다. 기본값은
0
입니다.--file_set_spec_type=FILE_SET_SPEC_TYPE
소스 URI를 해석하는 방법을 지정합니다.
FILE_SYSTEM_MATCH
: 객체 스토어의 파일을 나열하여 소스 URI를 확장합니다. FileSetSpecType이 설정되지 않은 경우의 기본 동작입니다.NEW_LINE_DELIMITED_MANIFEST
: 제공된 URI가 줄바꿈으로 구분된 매니페스트 파일을 나타내며 이 파일에는 URI가 한 줄에 하나씩 있습니다. 매니페스트 파일에서 와일드 카드 URI가 지원되지 않으며 모든 참조된 데이터 파일은 매니페스트와 동일한 버킷에 있어야 합니다.
예를 들어 소스 URI가
"gs://bucket/path/file"
이고file_set_spec_type
이FILE_SYSTEM_MATCH
인 경우 이 파일이 데이터 파일로 직접 사용됩니다.file_set_spec_type
이NEW_LINE_DELIMITED_MANIFEST
면 파일의 각 줄이 데이터 파일을 가리키는 URI로 해석됩니다.--source_format=FORMAT
소스 데이터의 형식입니다. 다음 중 한 가지 값을 사용합니다.
CSV
NEWLINE_DELIMITED_JSON
AVRO
DATASTORE_BACKUP
(Filestore에 이 값 사용)PARQUET
ORC
--time_partitioning_expiration=SECONDS
시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_field=COLUMN_NAME
시간 기준 파티션을 만드는 방법을 결정하는 필드를 지정합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.
--time_partitioning_type=INTERVAL
테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 다음 중 한 가지 값을 사용합니다.
DAY
HOUR
MONTH
YEAR
시간 기준 파티션 나누기의 기본 파티션 유형은
DAY
입니다.--use_avro_logical_types={true|false}
--source_format
플래그가AVRO
로 설정된 경우 이 플래그를true
로 설정하여INTEGER
와 같은 원시 유형만 사용하지 않고 논리 유형을TIMESTAMP
와 같은 해당 유형으로 변환합니다.--decimal_target_types=DECIMAL_TYPE
Decimal
논리 유형을 변환하는 방법을 결정합니다.JobConfigurationLoad.decimalTargetTypes
와 같습니다. 이 플래그를 반복하면 타겟 유형을 여러 개 지정할 수 있습니다.--parquet_enum_as_string={true|false}
--source_format
플래그가PARQUET
로 설정되어 있고 BigQuery가 ParquetENUM
논리 유형을STRING
값으로 추론하려면 이 플래그를true
로 설정합니다. 기본값은false
입니다.--parquet_enable_list_inference={true|false}
--source_format
플래그가PARQUET
로 설정된 경우 이 플래그는 ParquetLIST
논리 유형에 스키마 추론을 사용할지 여부를 나타냅니다.--reference_file_schema_uri=URI
외부 테이블을 만들기 위한 예상 테이블 스키마를 사용하여 참조 파일 경로를 지정합니다.
ExternalDataConfiguration.referenceFileSchemaUri
와 같습니다. 이 플래그는 Avro, ORC, PARQUET 형식으로 사용 설정됩니다.DESTINATION_TABLE
데이터를 로드할 테이블입니다.
SOURCE_DATA
로드할 데이터가 포함된 파일의 Cloud Storage URI입니다.
SCHEMA
대상 테이블의 스키마입니다.
bq load
명령어를 사용하여 Cloud Storage에서 데이터를 로드하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- Avro 데이터 로드
- CSV 데이터 로드
- JSON 데이터 로드
- ORC 데이터 로드
- Parquet 데이터 로드
- Datastore 내보내기에서 데이터 로드
- Firestore 내보내기에서 데이터 로드
bq load
명령어를 사용하여 로컬 소스에서 데이터를 로드하는 방법에 대한 자세한 내용은 다음을 참조하세요.
bq ls
컬렉션의 객체를 나열하려면 bq ls
명령어를 사용합니다.
개요
bq ls [FLAGS] [RESOURCE]
예
bq ls myDataset
플래그 및 인수
bq ls
명령어는 다음 플래그와 인수를 사용합니다.
--all={true|false}
또는-a={true|false}
- 모든 결과를 표시하려면
true
로 설정하세요. 모든 사용자 또는 모든 데이터 세트의 작업(숨겨진 작업 포함)을 표시됩니다. 전송 구성 또는 전송 실행을 나열할 때는 이 플래그가 필요하지 않습니다. 기본값은false
입니다. --capacity_commitment={true|false}
용량 약정을 나열하려면
true
로 설정하고--location
플래그를 사용해서 위치를 지정합니다. 자세한 내용은 구매한 약정 보기를 참조하세요.예:
bq ls --capacity_commitment=true --location='us'
--datasets={true|false}
또는-d={true|false}
데이터 세트를 나열하려면
true
로 설정합니다. 기본값은false
입니다.--filter="FILTER"
나열된 리소스를
FILTER
인수와 일치하도록 필터링합니다.데이터 세트의 경우
FILTER
는labels.KEY:VALUE
형식에서 공백으로 구분되는 하나 이상의 트리플로 구성됩니다. 두 개 이상의 트리플이 제공되는 경우, 이 명령어는 모든 트리플과 일치하는 데이터 세트만 반환합니다(예:OR
가 아닌AND
논리 연산자를 사용하는 명령어). 둘 이상의 트리플을 지정하려면FILTER
값을 따옴표로 묶어야 합니다.데이터 세트 라벨을 기준으로 필터링하려면 데이터 세트에 적용한 키와 값을 사용합니다.
예를 들면 다음과 같습니다.
--filter "labels.department:marketing labels.team:sales"
전송 구성의 경우
dataSourceIds
를 키로 사용하고 다음 데이터 소스 중 하나를 값으로 사용합니다.
amazon_s3
- Amazon S3 데이터 전송azure_blob_storage
- Azure Blob Storage 데이터 전송dcm_dt
- Campaign Manager 데이터 전송google_cloud_storage
- Cloud Storage 데이터 전송cross_region_copy
- 데이터 세트 사본dfp_dt
- Google Ad Manager 데이터 전송adwords
- Google Ads 데이터 전송google_ads
- Google Ads 데이터 전송(미리보기)merchant_center
- Google 판매자 센터 데이터 전송play
- Google Play 데이터 전송scheduled_query
- 예약된 쿼리 데이터 전송doubleclick_search
- Search Ads 360 데이터 전송youtube_channel
- YouTube 채널 데이터 전송youtube_content_owner
- YouTube 콘텐츠 소유자 데이터 전송redshift
- Amazon Redshift 마이그레이션on_premises
- Teradata 마이그레이션
예를 들면 다음과 같습니다.
--filter labels.dataSourceIds:dcm_dt
전송 실행의 경우 states
를 키로 사용하고 다음 전송 상태 중 하나를 값으로 사용합니다.
+ SUCCEEDED
+ FAILED
+ PENDING
+ RUNNING
+ CANCELLED
For example:
<pre>
--filter labels.states:FAILED
</pre>
작업의 경우 필터 플래그가 지원되지 않습니다.
--jobs={true|false}
또는-j={true|false}
- 작업을 나열하려면
true
로 설정합니다. 기본값은false
입니다. 기본적으로 결과는 100,000개로 제한됩니다. --max_creation_time=MAX_CREATION_TIME_MS
- 밀리초 단위의 유닉스 시간 타임스탬프를 나타내는 정수입니다.
이 플래그를
--jobs
플래그와 함께 지정하면 타임스탬프 이전에 생성된 작업만 나열됩니다. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- 결과의 최대 수를 나타내는 정수입니다. 기본값은 50이고 최댓값은 1,000입니다. 작업이 1,000개 이상인 경우
page_token
플래그를 사용하여 페이지로 나누기를 사용하는 모든 작업을 나열할 수 있습니다. - --
min_creation_time=MIN_CREATION_TIME_MS
- 밀리초 단위의 유닉스 시간 타임스탬프를 나타내는 정수입니다. 이 플래그를
--jobs
플래그와 함께 지정하면 타임스탬프 이후에 생성된 작업만 나열됩니다. --message_type=messageTypes:MESSAGE_TYPE
특정 유형의 전송 실행 로그 메시지만 나열하려면
messageTypes:MESSAGE_TYPE
을 지정합니다. 가능한 값은 다음과 같습니다.INFO
WARNING
ERROR
--models={true|false}
또는-m={true|false}
BigQuery ML 모델을 나열하려면
true
로 설정합니다. 기본값은false
입니다.--page_token=TOKEN
또는-k=TOKEN
지정된 페이지 토큰부터 시작하는 항목을 나열합니다.
--projects={true|false}
또는-p={true|false}
모든 프로젝트를 표시하려면
true
로 설정합니다. 기본값은false
입니다.--reservation={true|false}
특정 프로젝트 및 위치의 모든 예약을 나열하려면
true
로 설정합니다. 기본값은false
입니다.--project_id
및--location
플래그와 함께 사용합니다.예를 들면 다음과 같습니다.
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}
지정된 프로젝트 및 위치의 모든 예약 할당을 나열하려면
true
로 설정합니다. 기본값은false
입니다.--project_id
및--location
플래그와 함께 사용합니다.--routines={true|false}
지정된 데이터 세트의 모든 루틴을 나열하려면
true
로 설정합니다. 기본값은false
입니다. 루틴에는 영구 사용자 정의 함수, 테이블 함수(미리보기), 저장 프로시저가 있습니다.--row_access_policies
지정하면 테이블의 모든 행 수준 액세스 정책이 나열됩니다. 행 수준 액세스 정책은 행 수준 보안에 사용됩니다.
dataset.table
형식으로 테이블 이름을 제공해야 합니다.--run_attempt=RUN_ATTEMPT
--transfer_run
플래그와 함께 사용합니다. 지정된 전송 실행의 모든 실행 시도를 나열하려면RUN_ATTEMPT_UNSPECIFIED
로 설정합니다. 최근 실행 시도만 나열하려면LATEST
로 설정합니다. 기본값은LATEST
입니다.--transfer_config={true|false}
지정된 프로젝트와 위치의 전송 구성을 나열하려면
true
로 설정합니다.--transfer_location
및--project_id
플래그와 함께 사용합니다. 기본값은false
입니다.--transfer_location=LOCATION
지정된 위치의 전송 구성을 나열합니다. 전송이 생성되면 전송 위치를 설정합니다.
--transfer_log={true|false}
--transfer_run
플래그와 함께 사용합니다. 지정된 전송 실행의 전송 로그 메시지를 나열하려면true
로 설정합니다. 기본값은false
입니다.--transfer_run={true|false}
지정된 전송 구성의 전송 실행을 나열합니다.
예를 들면 다음과 같습니다.
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCE
객체를 나열할 컬렉션입니다. 이러한 리소스는 데이터 세트, 프로젝트, 예약 또는 전송 구성일 수 있습니다.
bq ls
명령어 사용에 대한 자세한 내용은 다음을 참조하세요.
bq mk
bq mk
명령어를 사용하여 BigQuery 리소스를 만듭니다.
개요
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
플래그 및 인수
bq mk
명령어는 만들려는 리소스 유형을 지정하는 유형 플래그와 리소스 유형에 따라 달라지는 추가 플래그를 사용합니다.
TYPE_FLAG
: 다음 플래그 중 하나를 true
로 설정합니다.
선택에 따라 만들 리소스 유형이 지정됩니다.
--capacity_commitment
: 용량 약정을 구입합니다.--connection
: 연결을 만듭니다.--dataset
또는-d
: 데이터 세트를 만듭니다.--materialized_view
: 구체화된 뷰를 만듭니다.--reservation
: 예약을 만듭니다.--reservation_assignment
. 폴더, 프로젝트, 조직을 예약에 할당합니다.--table
또는-t
: 테이블을 만듭니다.--transfer_config
: 전송 구성을 만듭니다.--transfer_run
: 특정 기간에 대해 전송 실행을 만듭니다.--view
: 뷰를 만듭니다.
bq mk
명령어는 모든 유형의 리소스에 다음 플래그를 지원합니다.
--force={true|false}
또는-f={true|false}
- 동일한 이름의 리소스가 이미 있는 경우 오류를 무시하려면
true
로 설정합니다. 리소스가 이미 있는 경우 종료 코드는 0이지만 이 플래그를true
으로 설정해도bq mk
명령어가 리소스를 덮어쓰지는 않습니다. 기본값은false
입니다.
bq mk
명령어는 다음 섹션에 설명된 대로 만든 리소스 유형에 따라 추가 플래그를 지원합니다.
bq mk --capacity_commitment
용량 약정을 구매하려면 --capacity_commitment
를 true
로 설정하고 다음 플래그를 사용합니다.
--location=LOCATION
- 약정의 위치를 지정합니다.
--plan=PLAN_TYPE
약정 요금제 유형을 지정합니다. 다음 값 중 하나여야 합니다.
ANNUAL
THREE_YEAR
기존 정액제를 사용하는 고객은 다음 값 중 하나를 사용할 수도 있습니다.
FLEX
MONTHLY
ANNUAL
--renewal_plan=RENEWAL_TYPE
갱신 요금제 유형을 지정합니다.
ANNUAL
또는THREE_YEAR
약정 요금제에 필요합니다. 다음 중 하나여야 합니다.ANNUAL
THREE_YEAR
NONE
기존 정액제를 사용하는 고객은 다음 값 중 하나를 사용할 수도 있습니다.
FLEX
MONTHLY
ANNUAL
--project_id=PROJECT_ID
슬롯을 관리하는 프로젝트를 지정합니다.
--slots=NUMBER_OF_BASELINE_SLOTS
구입할 기준 슬롯 수를 지정합니다.
--edition=EDITION
용량 약정과 연결된 버전입니다. 다음 중 하나여야 합니다.
ENTERPRISE
ENTERPRISE_PLUS
자세한 내용은 슬롯 구매를 참조하세요.
bq mk --connection
연결을 만듭니다. 지원되는 플래그는 다음과 같습니다.
--connection_type=CONNECTION_TYPE
- 연결 유형입니다(예: Cloud SQL 연결의 경우
CLOUD_SQL
). --properties=PROPERTIES
JSON 형식의 연결별 매개변수입니다.
instanceId
,database
,type
을 지정해야 합니다.Spanner 연결을 만들고 Data Boost를 사용하려면
"useParallelism":true
및"useDataBoost":true
쌍을 포함합니다.--connection_credential=CONNECTION_CREDENTIAL
연결의 사용자 인증 정보입니다(JSON 형식).
username
및password
를 지정해야 합니다.--project_id=PROJECT_ID
연결이 속한 프로젝트의 ID를 지정합니다.
--location=LOCATION
연결이 저장될 위치를 지정합니다.
--display_name=DISPLAY_NAME
선택사항으로, 연결의 별칭을 지정합니다.
--description=DESCRIPTION
선택사항으로, 연결의 설명을 지정합니다.
--iam_role_id=ROLE_ID
AWS BigQuery Omni의 경우 리소스에 대한 액세스를 허용하는 IAM 역할을 지정합니다.
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME"
형식을 사용합니다. 이때 각 항목의 의미는 다음과 같습니다.- AWS_ACCOUNT_ID는 연결의 AWS IAM 사용자 ID 번호입니다.
- POLICY_NAME은 정책 이름입니다.
예:
"arn:aws:iam::0123456789AB:policy/s3-read-role"
--tenant_id=TENANT_ID
Azure BigQuery Omni의 경우 Azure Storage 계정이 포함된 Azure 디렉터리의 테넌트 ID를 지정합니다.
CONNECTION_ID
선택사항으로, 연결의 연결 ID를 지정합니다. 연결 ID가 제공되지 않으면 고유 ID가 자동으로 생성됩니다. 연결 ID에는 문자, 숫자, 밑줄을 포함할 수 있습니다.
자세한 내용은 연결 만들기를 참조하세요.
bq mk --dataset
데이터 세트를 만듭니다. 지원되는 플래그는 다음과 같습니다.
--add_tags=TAGS
- 새 데이터 세트에 연결할 태그를 쉼표로 구분하여 지정합니다. 예를 들면
556741164180/env:prod,myProject/department:sales
입니다. 각 태그에는 네임스페이스화된 키 이름 및 값 짧은 이름이 있어야 합니다. --default_kms_key=KEY
- 테이블 생성 또는 쿼리 중에 명시적 키가 제공되지 않은 경우 데이터 세트의 테이블 데이터를 암호화하기 위한 기본 Cloud KMS 키 리소스 ID를 지정합니다.
--default_partition_expiration=SECONDS
- 데이터 세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다.
이 속성을 설정하면 해당 값은 데이터 세트 수준 기본 테이블 만료 시간이 존재하는 경우 이를 재정의합니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때
--time_partitioning_expiration
플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터 세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다. --default_table_expiration=SECONDS
- 데이터 세트에 새로 생성된 테이블의 기본 수명을 초 단위로 지정하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다.
--description=DESCRIPTION
- 데이터 세트에 관한 설명을 지정합니다.
--external_source=EXTERNAL_SOURCE
- 제휴 데이터 세트를 만들 때 외부 데이터 소스를 지정합니다.
--label=KEY:VALUE
- 데이터 세트의 라벨을 지정합니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--location=LOCATION
또는--data_location=LOCATION
- 데이터 세트의 위치를 지정합니다.
--location
플래그를 우선적으로 사용합니다.--data_location
플래그는 기존 플래그입니다. --max_time_travel_hours=HOURS
- 데이터 세트의 시간 이동 창(시간)을 지정합니다.
--max_time_travel_hours
값은 24(48, 72, 96, 120, 144, 168)의 배수로 표현된 48(2일)에서 168(7일) 사이의 정수여야 합니다. 이 플래그를 지정하지 않으면 168시간이 기본값입니다. --storage_billing_model=BILLING_MODEL
데이터 세트에 대한 스토리지 청구 모델을 지정합니다.
--storage_billing_model
값을PHYSICAL
로 설정하여 스토리지 요금을 계산할 때 물리적 바이트를 사용하거나LOGICAL
로 설정하여 논리 바이트를 사용합니다. 기본값은LOGICAL
입니다.데이터 세트의 청구 모델을 변경하면 변경사항이 적용되는 데 24시간 정도 걸립니다.
데이터 세트의 스토리지 청구 모델을 변경한 후에는 스토리지 청구 모델을 다시 변경할 수 있으려면 14일을 기다려야 합니다.
자세한 내용은 데이터 세트 만들기를 참조하세요.
bq mk --materialized_view
구체화된 뷰를 만듭니다. 지원되는 플래그는 다음과 같습니다.
--enable_refresh={true|false}
- 구체화된 뷰의 자동 새로고침을 사용 중지하려면
false
로 설정합니다. 구체화된 뷰를 만들 때의 기본값은true
입니다. --refresh_interval_ms=MILLISECONDS
- 구체화된 뷰의 새로고침 간격을 밀리초 단위의 숫자로 지정합니다. 이 플래그를 지정하지 않으면 새로고침이 사용 설정된 구체화된 뷰의 기본 새로고침 간격은 1,800,000밀리초, 즉 30분입니다.
자세한 내용은 구체화된 뷰 만들기 및 사용을 참조하세요.
bq mk --reservation
전용 슬롯으로 예약을 만듭니다. 지원되는 플래그는 다음과 같습니다.
--target_job_concurrency=CONCURRENCY
- 동시에 실행되는 대상 쿼리 수를 지정합니다. 기본값은 0입니다. 즉, 예약 크기에 따라 동시 실행이 자동으로 계산됩니다. 자세한 내용은 쿼리 큐 사용을 참조하세요.
--ignore_idle_slots={true|false}
- 이 예약에서 실행되는 작업이 예약에 할당된 슬롯만 사용하도록 제한하려면
true
로 설정합니다. 기본값은false
입니다. 이 예약의 작업은 다른 예약의 유휴 슬롯 또는 어떤 예약에도 할당되지 않은 슬롯을 사용할 수 있습니다. 자세한 내용은 유휴 슬롯을 참조하세요. --location=LOCATION
- 예약의 위치를 지정합니다.
--project_id=PROJECT_ID
- 예약을 소유하는 프로젝트를 지정합니다.
--slots=NUMBER_OF_BASELINE_SLOTS
- 이 예약에 할당할 기준 슬롯 수를 지정합니다.
--edition=EDITION
- 용량 약정과 연결된 버전입니다. 다음 중 하나여야 합니다.
STANDARD
ENTERPRISE
ENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS
- : 예약에 할당된 자동 확장 슬롯 수입니다. 최대 예약 크기 값에서 기준 슬롯 수를 뺀 값과 동일합니다.
--edition
플래그에서만 사용할 수 있습니다.
자세한 내용은 전용 슬롯이 있는 예약 만들기를 참조하세요.
bq mk --reservation_assignment
프로젝트, 폴더, 조직을 예약에 할당합니다. 지원되는 플래그는 다음과 같습니다.
--assignee_id=ASSIGNEE_ID
- 폴더, 조직, 프로젝트의 ID입니다.
--assignee_type=ASSIGNEE_TYPE
- 예약에 할당할 항목 유형을 지정합니다. 다음 필드 중 하나는 사용해야 합니다.
FOLDER
ORGANIZATION
PROJECT
--job_type=JOB_TYPE
- 예약에 할당할 작업 유형을 지정합니다. 다음 필드 중 하나는 사용해야 합니다.
QUERY
PIPELINE
ML_EXTERNAL
BACKGROUND
--location=LOCATION
- 예약의 위치를 지정합니다.
--project_id=PROJECT_ID
- 예약을 소유하는 프로젝트를 지정합니다.
--reservation_id=RESERVATION_ID
- 예약의 ID를 지정합니다.
자세한 내용은 예약 할당 작업을 참조하세요.
bq mk --table
테이블을 만듭니다. 지원되는 플래그는 다음과 같습니다.
--add_tags=TAGS
- 새 테이블에 연결할 태그를 쉼표로 구분하여 지정합니다. 예를 들면
556741164180/env:prod,myProject/department:sales
입니다. 각 태그에는 네임스페이스화된 키 이름 및 값 짧은 이름이 있어야 합니다. --clustering_fields=COLUMNS
- 테이블 클러스터링에 사용할 필드를 지정하는 최대 4개의 열 이름이 포함된 쉼표로 구분된 목록입니다. 파티션 나누기를 지정하면 테이블이 파티션으로 나누어진 후 각 파티션이 제공된 열을 통해 클러스터링됩니다.
--description=DESCRIPTION
- 테이블에 대한 설명을 지정합니다.
--destination_kms_key=KEY
- 대상 테이블 데이터를 암호화하기 위한 Cloud KMS 키 리소스 ID를 지정합니다.
--expiration=SECONDS
- 테이블 수명을 지정합니다.
--expiration
플래그를 지정하지 않으면 BigQuery에서 데이터 세트의 기본 테이블 수명으로 테이블을 만들거나 테이블이 만료되지 않습니다. --external_table_definition=STRING
외부 테이블을 만들기 위한 테이블 정의를 지정합니다.
Cloud Storage 및 Google Drive 외부 테이블의 경우:
-
--external_table_definition={PATH_TO_FILE|DEFINITION}
- 이 값은 테이블 정의(
PATH_TO_FILE
)가 포함된 파일의 경로이거나 인라인 테이블 정의(DEFINITION
)일 수 있습니다.
DEFINITION
필드의 형식은SCHEMA@FORMAT=URI
입니다.SCHEMA
값의 형식은FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식 등 쉼표로 구분된 열 정의 목록입니다. 데이터 형식이 자체 설명(예: Avro)이거나 스키마 자동 감지를 사용하는 경우SCHEMA
값을 생략할 수 있습니다.FORMAT
값은 다음 중 하나의 데이터 형식을 지정합니다.AVRO
CSV
DATASTORE_BACKUP
(Filestore에 이 값 사용)ICEBERG
NEWLINE_DELIMITED_JSON
ORC
PARQUET
테이블 정의 파일을 지정하는 경우 확장자를 제공하지 마세요.
예를 들면 다음과 같습니다.
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
Bigtable 외부 테이블, AWS 및 Azure 기반의 BigLake 테이블의 경우:
--external_table_definition=PATH_TO_FILE
- 이 값은 테이블 정의가 포함된 파일의 경로여야 합니다.
Cloud Storage 기반 BigLake 테이블의 경우:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME
:FORMAT
값은 다음 중 하나의 데이터 형식을 지정합니다.AVRO
CSV
NEWLINE_DELIMITED_JSON
ICEBERG
ORC
PARQUET
BUCKET_PATH
는 BigLake 테이블 데이터가 포함된 Cloud Storage의 파일 한 개 이상의 경로입니다. 다음 형식으로BUCKET_PATH
를 지정할 수 있습니다.- 단일 파일의 경우:
gs://bucket_name/[folder_name/]file_name
- 단일 버킷에 있는 여러 파일의 경우:
gs://bucket_name/[folder_name/]*
여러 버킷에 있는 여러 파일의 경우:
gs://mybucket1/*,gs://mybucket2/folder5/*
와일드 카드를 사용하여 BigLake 테이블에 포함된 파일을 제한할 수 있습니다. 예를 들어 버킷에 여러 유형의 데이터가 포함된 경우
gs://bucket_name/*.parquet
를 지정하여 테이블에 PARQUET 파일만 사용하도록 할 수 있습니다. 와일드 카드를 사용하는 방법에 대한 자세한 내용은 URI 와일드 카드를 참조하세요.
- 단일 파일의 경우:
REGION
값은 연결이 포함된 리전 또는 멀티 리전을 지정합니다.CONNECTION_NAME
값은 이 외부 테이블과 함께 사용할 클라우드 리소스 연결의 이름을 지정합니다. 연결은 Cloud Storage에서 데이터를 읽는 데 사용되는 서비스 계정을 결정합니다.
객체 테이블의 경우:
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME
:BUCKET_PATH
는 객체 테이블이 나타내는 객체가gs://bucket_name/[folder_name/]*
형식으로 포함된 Cloud Storage 버킷의 경로입니다. 여러 경로를 제공하여 여러 개의 버킷을 지정할 수 있습니다(예:gs://mybucket1/*,gs://mybucket2/folder5/*
).와일드 카드를 사용하여 객체 테이블에 포함된 객체를 제한할 수 있습니다. 예를 들어 버킷에 여러 유형의 구조화되지 않은 데이터가 있는 경우
gs://bucket_name/*.pdf
를 지정하여 PDF 객체에 대해서만 객체 테이블을 만들 수 있습니다. 와일드 카드를 사용하는 방법에 대한 자세한 내용은 URI 와일드 카드를 참조하세요.REGION
값은 연결이 포함된 리전 또는 멀티 리전을 지정합니다.CONNECTION_NAME
값은 이 외부 테이블과 함께 사용할 클라우드 리소스 연결의 이름을 지정합니다. 연결은 Cloud Storage에서 데이터를 읽는 데 사용되는 서비스 계정을 결정합니다.
-
--file_set_spec_type=FILE_SET_SPEC_TYPE
소스 URI를 해석하는 방법을 지정합니다.
FILE_SYSTEM_MATCH
: 객체 스토어의 파일을 나열하여 소스 URI를 확장합니다. FileSetSpecType이 설정되지 않은 경우의 기본 동작입니다.NEW_LINE_DELIMITED_MANIFEST
: 제공된 URI가 줄바꿈으로 구분된 매니페스트 파일을 나타내며 이 파일에는 URI가 한 줄에 하나씩 있습니다. 매니페스트 파일에서 와일드 카드 URI가 지원되지 않으며 모든 참조된 데이터 파일은 매니페스트와 동일한 버킷에 있어야 합니다.
예를 들어 소스 URI가
"gs://bucket/path/file"
이고file_set_spec_type
이FILE_SYSTEM_MATCH
인 경우 이 파일이 데이터 파일로 직접 사용됩니다.file_set_spec_type
이NEW_LINE_DELIMITED_MANIFEST
면 파일의 각 줄이 데이터 파일을 가리키는 URI로 해석됩니다.--reference_file_schema_uri=URI
외부 테이블을 만들기 위한 예상 테이블 스키마를 사용하여 참조 파일 경로를 지정합니다.
ExternalDataConfiguration.referenceFileSchemaUri
와 같습니다. 이 플래그는 Avro, ORC, PARQUET 형식으로 사용 설정됩니다.--label=KEY:VALUE
테이블의 라벨을 지정합니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--max_staleness=INTERVAL
캐시된 메타데이터가 테이블에 대한 작업에서 사용되는지 여부와 작업이 사용하기 위해 캐시된 메타데이터가 작업에서 사용되려면 얼마나 최신이어야 하는지를 지정합니다.
BigLake 테이블 및 객체 테이블에 적용할 수 있습니다.
메타데이터 캐싱을 사용 중지하려면 0을 지정합니다. 전역 기간은 기본 설정이며,
메타데이터 캐싱을 사용 설정하려면
INTERVAL
데이터 유형 문서에 설명된Y-M D H:M:S
형식을 사용하여 30분에서 7일 사이의 간격 값을 지정합니다. 예를 들어 4시간 비활성 간격의 경우0-0 0 4:0:0
를 지정합니다. 이 값을 사용하면 지난 4시간 이내에 새로고침된 경우 테이블에 대한 작업이 캐시된 메타데이터를 사용합니다. 캐시된 메타데이터가 이보다 오래된 경우 작업이 대신 Cloud Storage에서 메타데이터를 검색하도록 되돌아갑니다.--object_metadata=STRING
객체 테이블을 만들 때 이 플래그 값을
SIMPLE
로 설정합니다.객체 테이블을 만들 때만 필요합니다.
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
다음과 같이 정수 범위 파티션의 옵션을 지정합니다.
column_name
은 정수 범위 파티션을 만드는 데 사용되는 열입니다.start
는 파티션 나누기 범위의 시작(해당 값 포함)입니다.end
는 파티션 나누기 범위의 끝(해당 값 포함)입니다.interval
은 파티션 내 각 범위의 너비입니다.
예를 들면 다음과 같습니다.
--range_partitioning=customer_id,0,10000,100
--require_partition_filter={true|false}
제공된 테이블에 대한 쿼리에 파티션 필터를 사용하려면
true
로 설정합니다. 이 플래그는 파티션을 나눈 테이블에만 적용됩니다. 기본값은false
입니다.--schema={SCHEMA_FILE|SCHEMA
}로컬 JSON 스키마 파일의 경로 또는
FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식 등의 쉼표로 구분된 열 정의 목록 등을 지정합니다. 스키마 파일을 사용하는 경우 파일에 확장자를 포함하지 마세요.예를 들면 다음과 같습니다.
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDS
시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_field=COLUMN_NAME
시간 기준 파티션을 만드는 방법을 결정하는 데 사용되는 필드를 지정합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.
--time_partitioning_type=INTERVAL
테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 다음 중 한 가지 값을 사용합니다.
DAY
HOUR
MONTH
YEAR
--use_avro_logical_types={true|false}
--external_table_definition
플래그의FORMAT
부분이AVRO
로 설정된 경우 이 플래그는 논리 유형을INTEGER
와 같은 원시 유형만 사용하는 대신TIMESTAMP
와 같은 해당 유형으로 논리 유형을 변환할지 여부를 지정합니다.--parquet_enable_list_inference={true|false}
--external_table_definition
플래그의FORMAT
부분이PARQUET
로 설정된 경우 이 플래그는 ParquetLIST
논리 유형에 스키마 추론을 사용할지 여부를 지정합니다.--parquet_enum_as_string={true|false}
--external_table_definition
플래그의FORMAT
부분이PARQUET
로 설정된 경우 이 플래그는 ParquetENUM
논리 유형을STRING
값으로 추론할지 여부를 지정합니다.
자세한 내용은 테이블 만들기 및 사용을 참조하세요.
bq mk --transfer_config
전송 구성을 만듭니다. 지원되는 플래그는 다음과 같습니다.
--data_source=DATA_SOURCE
- 데이터 소스를 지정합니다. 전송 구성을 만들 때 필요합니다. 다음 중 한 가지 값을 사용합니다.
amazon_s3
- Amazon S3 데이터 전송azure_blob_storage
- Azure Blob Storage 데이터 전송dcm_dt
- Campaign Manager 데이터 전송google_cloud_storage
- Cloud Storage 데이터 전송cross_region_copy
- 데이터 세트 사본dfp_dt
- Google Ad Manager 데이터 전송adwords
- Google Ads 데이터 전송google_ads
- Google Ads 데이터 전송(미리보기)merchant_center
- Google 판매자 센터 데이터 전송play
- Google Play 데이터 전송scheduled_query
- 예약된 쿼리 데이터 전송doubleclick_search
- Search Ads 360 데이터 전송youtube_channel
- YouTube 채널 데이터 전송youtube_content_owner
- YouTube 콘텐츠 소유자 데이터 전송redshift
- Amazon Redshift 마이그레이션on_premises
- Teradata 마이그레이션
--display_name=DISPLAY_NAME
- 전송 구성의 표시 이름을 지정합니다.
--no_auto_scheduling={true|false}
- 이 구성의 데이터 전송 실행 자동 예약을 사용 중지합니다.
기본값은
false
입니다. --params={"PARAMETER":"VALUE"}
또는-p={"PARAMETER":"VALUE"}
- JSON 형식으로 전송 구성의 매개변수를 지정합니다. 매개변수는 데이터 소스에 따라 다릅니다.
--refresh_window_days=DAYS
- 전송 구성의 새로고침 기간을 일 단위로 지정하는 정수입니다. 기본값은
0
입니다. --service_account_name=SERVICE_ACCOUNT
- 전송 구성에 대해 사용자 인증 정보로 사용할 서비스 계정을 지정합니다.
--target_dataset=DATASET
- 전송 구성의 대상 데이터 세트를 지정합니다.
--table_filter=TABLES
google_ads
데이터 소스에만 사용됩니다.TABLES
매개변수는 전송에 포함할 쉼표로 구분된 테이블 목록입니다. 테이블을 제외하려면 하이픈(-
)을 프리픽스로 추가합니다. 기본값에는 전송의 모든 테이블이 포함됩니다.
BigQuery Data Transfer Service에서 bq mk
명령어를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- Amazon S3 전송 설정
- Campaign Manager 전송 설정
- Cloud Storage 전송 설정
- Google Ad Manager 전송 설정
- Google Ads 전송 설정
- Google 판매자 센터 전송 설정(베타)
- Google Play 전송 설정
- Search Ads 360 전송 설정(베타)
- YouTube 채널 전송 설정
- YouTube 콘텐츠 소유자 전송 설정
- Amazon Redshift에서 데이터 마이그레이션
- Teradata에서 데이터 마이그레이션
bq mk --transfer_run
지정된 데이터 전송 구성을 사용하여 지정된 시간이나 시간 범위에서 데이터 전송 실행을 만듭니다.
개요
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
지원되는 플래그는 다음과 같습니다.
--run_time=RUN_TIME
- 데이터 전송 실행을 예약할 시간을 지정하는 타임스탬프입니다.
--start_time=START_TIME
- 데이터 전송 실행 범위의 시작 시간을 지정하는 타임스탬프입니다.
--end_time=END_TIME
- 데이터 전송 실행 범위의 종료 시간을 지정하는 타임스탬프입니다.
타임스탬프 형식은 RFC3339 UTC 'Zulu'입니다.
CONFIG
인수는 기존 데이터 전송 구성을 지정합니다.
예시
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
뷰를 만듭니다. 지원되는 플래그는 다음과 같습니다.
--add_tags=TAGS
- 새 뷰에 연결할 태그를 쉼표로 구분하여 지정합니다. 예를 들면
556741164180/env:prod,myProject/department:sales
입니다. 각 태그에는 네임스페이스화된 키 이름 및 값 짧은 이름이 있어야 합니다. --description=DESCRIPTION
- 뷰에 대한 설명을 지정합니다.
--expiration=SECONDS
- 뷰 수명을 지정합니다.
SECONDS
가0
이면 뷰가 만료되지 않습니다.--expiration
플래그를 지정하지 않으면 BigQuery에서 데이터 세트의 기본 테이블 수명으로 뷰를 만듭니다. --label=KEY:VALUE
- 뷰의 라벨을 지정합니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--use_legacy_sql={true|false}
- GoogleSQL 쿼리를 사용하여 뷰를 만들려면
false
로 설정합니다. 기본값은true
이며 legacy SQL을 사용합니다. --view_udf_resource=FILE
- 보기의 SQL 쿼리에 사용되는 사용자 정의 함수 리소스로 즉시 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로를 지정합니다. 여러 파일을 지정하려면 이 플래그를 반복합니다.
자세한 내용은 뷰 만들기를 참조하세요.
bq mkdef
bq mkdef
명령어를 사용하여 Cloud Storage 또는 Google Drive에 저장된 데이터에 JSON 형식의 테이블 정의를 만듭니다.
개요
bq mkdef [FLAGS] URI [ > FILE ]
플래그 및 인수
bq mkdef
명령어는 다음 플래그와 인수를 사용합니다.
--autodetect={true|false}
- CSV 및 JSON 데이터에 스키마 자동 감지를 사용할지 여부를 지정합니다. 기본값은
false
입니다. --connection_id=CONNECTION_ID
- 인증에 사용할 연결 리소스의 ID입니다.
--hive_partitioning_mode
BigQuery가 데이터를 읽을 때 파티션 나누기 스키마를 결정하는 방법을 지정합니다. 다음과 같은 모드가 지원됩니다.
AUTO
: 파티션 키 이름과 유형을 자동으로 추론합니다.STRINGS
: 파티션 키 이름을 자동으로 추론합니다. 모든 유형은 문자열로 처리됩니다.CUSTOM
: 소스 URI 프리픽스에 파티션 나누기 스키마를 지정합니다.
기본값은
AUTO
입니다.--hive_partitioning_source_uri_prefix
소스 URI의 공통 프리픽스를 지정합니다. 공통 프리픽스 값은 파티션 키 인코딩 바로 앞에 있는 URI 부분입니다. 모드에
CUSTOM
을 지정한 경우 파티션 나누기 스키마를 추가로 식별해야 합니다.예를 들어 다음과 같은 구조의 파일을 살펴보겠습니다.
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avro
gs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
AUTO
또는STRINGS
모드를 사용하는 경우 다음 값이 허용됩니다.gs://bucket/path_to_table
gs://bucket/path_to_table/
CUSTOM
모드를 사용하는 경우 다음 값이 허용됩니다.gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}
gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}
gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
bq mkdef
명령어 사용에 대한 자세한 내용은 외부 데이터 소스의 테이블 정의 파일 만들기를 참조하세요.
--ignore_unknown_values={true|false}
또는-i={true|false}
- 스키마에 없는 행의 모든 값을 무시할지 지정합니다. 기본값은
false
입니다. --metadata_cache_mode=STRING
테이블의 메타데이터 캐시를 자동으로 또는 수동으로 새로고침할지 지정합니다.
시스템 정의 간격(일반적으로 30~60분)으로 메타데이터 캐시를 새로고침하려면
AUTOMATIC
으로 설정합니다.지정한 일정에 따라 메타데이터 캐시를 새로고침하려면
MANUAL
로 설정합니다. 이 경우BQ.REFRESH_EXTERNAL_METADATA_CACHE
시스템 프로시져를 호출하여 캐시를 새로고침할 수 있습니다.bq mk
명령어로--max_staleness
플래그를 설정하는 경우--metadata_cache_mode
플래그를 설정해야 합니다.--parquet_enable_list_inference={true|false}
source_format
이PARQUET
로 설정된 경우 이 플래그는 ParquetLIST
논리 유형에 스키마 추론을 사용할지 여부를 지정합니다. 기본값은false
입니다.--parquet_enum_as_string={true|false}
source_format
이PARQUET
로 설정된 경우 이 플래그는 ParquetENUM
논리 유형을STRING
값으로 추론할지 지정합니다. 기본값은false
입니다.--file_set_spec_type=FILE_SET_SPEC_TYPE
소스 URI를 해석하는 방법을 지정합니다.
FILE_SYSTEM_MATCH
: 객체 스토어의 파일을 나열하여 소스 URI를 확장합니다. FileSetSpecType이 설정되지 않은 경우의 기본 동작입니다.NEW_LINE_DELIMITED_MANIFEST
: 제공된 URI가 줄바꿈으로 구분된 매니페스트 파일을 나타내며 이 파일에는 URI가 한 줄에 하나씩 있습니다. 매니페스트 파일에서 와일드 카드 URI가 지원되지 않으며 모든 참조된 데이터 파일은 매니페스트와 동일한 버킷에 있어야 합니다.
예를 들어 소스 URI가
"gs://bucket/path/file"
이고file_set_spec_type
이FILE_SYSTEM_MATCH
인 경우 이 파일이 데이터 파일로 직접 사용됩니다.file_set_spec_type
이NEW_LINE_DELIMITED_MANIFEST
면 파일의 각 줄이 데이터 파일을 가리키는 URI로 해석됩니다.--source_format=FORMAT
소스 데이터의 형식을 지정합니다. 다음 중 한 가지 값을 사용합니다.
AVRO
CSV
DATASTORE_BACKUP
(Filestore에 이 값 사용)GOOGLE_SHEETS
NEWLINE_DELIMITED_JSON
ORC
PARQUET
기본값은
CSV
입니다.--use_avro_logical_types={true|false}
--source_format
플래그가AVRO
로 설정된 경우 이 플래그는 논리 유형을INTEGER
와 같은 원시 유형만 사용하지 않고TIMESTAMP
와 같은 해당 유형으로 변환할지 여부를 지정합니다. 기본값은false
입니다.
bq partition
bq partition
명령어를 사용하여 날짜로 파티션 나누기에서 YYYYMMDD
로 끝나는 테이블과 같은 시간 단위 서픽스가 있는 테이블 그룹을 파티션을 나눈 테이블로 변환합니다.
개요
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
플래그 및 인수
bq partition
명령어는 다음 플래그와 인수를 사용합니다.
--no_clobber={true|false}
또는-n={true|false}
- 기존 파티션을 덮어쓰지 않으려면
true
로 설정합니다. 기본값은false
입니다. 파티션이 있으면 덮어쓰게 됩니다. --time_partitioning_expiration=SECONDS
- 시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_type=INTERVAL
파티션 유형을 지정합니다. 다음 표에서는
INTERVAL
플래그에 사용 가능한 값과 각 플래그에 대해 예상 time-unit-suffix 형식을 제공합니다.INTERVAL
접미사 HOUR
YYYYMMDDHH
DAY
YYYYMMDD
MONTH
YYYYMM
YEAR
YYYY
SOURCE_TABLE_BASE_NAME
시간 단위 서픽스가 있는 테이블 그룹의 기본 이름입니다.
PARTITION_TABLE
대상으로 파티션을 나눈 테이블의 이름입니다.
bq partition
명령어 사용에 대한 자세한 내용은 날짜로 샤딩된 테이블을 수집 시간으로 파티션을 나눈 테이블로 변환을 참조하세요.
bq query
bq query
명령어를 사용하여 지정된 SQL 쿼리를 실행하는 쿼리 작업을 만듭니다.
개요
bq query [FLAGS] 'QUERY'
플래그 및 인수
bq query
명령어는 다음 플래그와 인수를 사용합니다.
--allow_large_results={true|false}
- Legacy SQL 쿼리에 큰 대상 테이블 크기를 사용 설정하려면
true
로 설정합니다. 기본값은false
입니다. --append_table={true|false}
- 대상 테이블에 데이터를 추가하려면
true
로 설정합니다. 기본값은false
입니다. --batch={true|false}
- 배치 모드에서 쿼리를 실행하려면
true
로 설정합니다. 기본값은false
입니다. --clustering_fields=COLUMNS
- 쿼리에서 대상 테이블을 클러스터링하는 데 사용할 필드를 지정하는 최대 4개의 열 이름이 쉼표로 구분된 목록입니다. 파티션 나누기를 지정하면 테이블이 파티션으로 나누어진 후 각 파티션이 제공된 열을 통해 클러스터링됩니다.
--connection_property=KEY:VALUE
연결 수준 속성을 지정하여 쿼리 동작을 맞춤설정할 수 있는 키-값 쌍입니다. 이 플래그를 반복하면 속성을 추가로 지정할 수 있습니다.
지원되는 연결 속성은 다음과 같습니다.
dataset_project_id
:@@dataset_project_id
시스템 변수와 마찬가지로 쿼리에 사용되는 데이터 세트의 기본 프로젝트를 나타냅니다.query_label
: 쿼리를 지정된 작업 라벨과 연결합니다. 이를 설정하면 스크립트 또는 세션의 모든 후속 쿼리에 이 라벨이 적용됩니다. 쿼리 라벨 형식 지정 요구사항에 관한 자세한 내용은JobConfiguration
리소스의labels
필드를 참조하세요.service_account
: 쿼리를 실행하는 데 사용할 서비스 계정을 지정합니다. 예를 들면--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com
입니다.session_id
: 쿼리를 지정된 세션과 연결합니다.time_zone
: 쿼리를 실행하는 데 사용할 기본 시간대를 나타냅니다.
--continuous={true|false}
--destination_kms_key=KEY
대상 테이블 데이터를 암호화하기 위한 Cloud KMS 키 리소스 ID를 지정합니다.
--destination_schema={PATH_TO_FILE|SCHEMA}
로컬 JSON 스키마 파일의 경로 또는
FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식의 쉼표로 구분된 열 정의 목록입니다.스키마 변경은 쿼리 실행과 별도의 작업에서 수행됩니다.
--destination_table
플래그를 지정하여 쿼리 결과를 테이블에 쓰고 이후에 쿼리에 예외가 발생하면 스키마 변경사항을 건너뛸 수 있습니다. 이 경우 대상 테이블 스키마를 확인하고 필요한 경우 수동으로 업데이트합니다.--destination_table=TABLE
이 플래그를 지정하면 쿼리 결과가
TABLE
에 저장됩니다.TABLE
을PROJECT
:DATASET
.TABLE
형식으로 지정합니다.PROJECT
를 지정하지 않으면 현재 프로젝트가 가정됩니다.--destination_table
플래그를 지정하지 않으면 쿼리 결과가 임시 테이블에 저장됩니다.예를 들면 다음과 같습니다.
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}
이 플래그를 지정하면 쿼리가 확인되지만 실행되지 않습니다.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
외부 테이블 쿼리의 테이블 이름과 테이블 정의를 지정합니다. 테이블 정의는 로컬 JSON 스키마 파일의 경로 또는 인라인 테이블 정의일 수 있습니다. 인라인 테이블 정의를 제공하는 형식은
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
입니다.SCHEMA
값의 형식은FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식 등 쉼표로 구분된 열 정의 목록입니다. 테이블 정의 파일을 사용하는 경우 확장자를 제공하지 마세요.예를 들면 다음과 같습니다.
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
이 플래그를 반복하면 테이블을 여러 개 쿼리할 수 있습니다.
--flatten_results={true|false}
Legacy SQL 쿼리 결과에서 중첩 필드와 반복 필드를 평면화하지 않으려면
false
로 설정합니다. 기본값은true
입니다.--label=KEY:VALUE
쿼리 작업의 라벨을 지정합니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--max_rows=MAX_ROWS
또는-n=MAX_ROWS
쿼리 결과에서 반환할 행 수를 지정하는 정수입니다. 기본값은
100
입니다.--maximum_bytes_billed=MAX_BYTES
쿼리 요금이 청구되는 바이트 수를 제한합니다. 이 한도를 초과하는 쿼리는 실패하며 요금이 청구되지 않습니다. 이 플래그를 지정하지 않으면 청구되는 바이트가 프로젝트 기본값으로 설정됩니다.
--max_statement_results=VALUE
쿼리 결과에 표시되는 스크립트 문의 최대 개수를 지정하는 정수입니다. 기본값은
100
입니다.--min_completion_ratio=RATIO
[실험용] 쿼리가 반환되기 전에 검사해야 하는 데이터의 최소 비율을 지정하는 0과 1.0 사이의 숫자입니다. 플래그를 지정하지 않으면 기본 서버 값
1.0
이 사용됩니다.--parameter={PATH_TO_FILE|PARAMETER}
쿼리 매개변수 목록이 포함된 JSON 파일 또는
NAME:TYPE:VALUE
형식의 쿼리 매개변수입니다. 이름이 비어 있으면 위치 매개변수가 생성됩니다.TYPE
이 생략된 경우STRING
유형으로 간주됩니다.NULL
은 null 값을 지정합니다. 이 플래그를 반복하면 매개변수를 여러 개 지정할 수 있습니다.예를 들면 다음과 같습니다.
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVAL
--destination_table
플래그와 함께 사용합니다. 대상 테이블의 정수 범위 파티션 나누기 옵션을 지정합니다. 이 값은column_name,start,end,interval
형식으로 쉼표로 구분된 목록이며 각 항목의 의미는 다음과 같습니다.column_name
은 정수 범위 파티션을 만드는 데 사용되는 열입니다.start
는 파티션 나누기 범위의 시작(해당 값 포함)입니다.end
는 파티션 나누기 범위의 끝(해당 값 포함)입니다.interval
은 파티션 내 각 범위의 너비입니다.
예를 들면 다음과 같습니다.
--range_partitioning=customer_id,0,10000,100
--replace={true|false}
대상 테이블을 쿼리 결과로 덮어쓰려면
true
로 설정합니다. 기존 데이터 및 스키마는 삭제됩니다.--destination_kms_key
플래그를 지정하지 않으면 모든 Cloud KMS 키도 삭제됩니다. 기본값은false
입니다.--require_cache={true|false}
이 플래그를 지정하면 결과를 캐시에서 검색할 수 있는 경우에만 쿼리가 실행됩니다.
--require_partition_filter={true|false}
이 플래그를 지정하면 제공된 테이블에 대한 쿼리에 파티션 필터가 필요합니다. 파티션을 나눈 테이블에만 이 플래그를 사용할 수 있습니다.
--rpc={true|false}
REST API
jobs.insert
메서드 대신 RPC 스타일 쿼리 API를 사용하려면true
로 설정합니다. 기본값은false
입니다.--schedule="SCHEDULE"
쿼리를 반복 예약 쿼리로 만듭니다. 쿼리 실행 빈도에 대한 일정이 필요합니다.
예를 들면 다음과 같습니다.
--schedule="every 24 hours"
--schedule="every 3 hours"
예약 구문에 대한 설명은 일정 형식 지정을 참조하세요.
--schema_update_option=OPTION
로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 다음 중 한 가지 값을 사용합니다.
ALLOW_FIELD_ADDITION
: 새 필드를 추가하도록 허용ALLOW_FIELD_RELAXATION
:REQUIRED
필드를NULLABLE
로 완화하도록 허용
여러 스키마 업데이트 옵션을 지정하려면 이 플래그를 반복합니다.
--start_row=ROW_NUMBER
또는-s=ROW_NUMBER
쿼리 결과에서 반환할 첫 번째 행을 지정하는 정수입니다. 기본값은
0
입니다.--target_dataset=DATASET
--schedule
로 지정하면 예약된 쿼리의 대상 데이터 세트가 업데이트됩니다. 쿼리는 DDL 또는 DML이어야 합니다.--time_partitioning_expiration=SECONDS
--destination_table
플래그와 함께 사용합니다. 시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.--time_partitioning_field=COLUMN_NAME
--destination_table
플래그와 함께 사용합니다. 시간 기준 파티션 나누기의 파티션 나누기 열을 지정합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 수집 시간을 기준으로 테이블 파티션이 나눠집니다.--time_partitioning_type=INTERVAL
--destination_table
플래그와 함께 사용합니다. 대상 테이블의 파티션 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.DAY
HOUR
MONTH
YEAR
--udf_resource=FILE
이 플래그는 legacy SQL 쿼리에만 적용됩니다. Cloud Storage URI나 legacy SQL 쿼리에서 사용할 사용자 정의 함수 리소스가 포함된 로컬 파일의 경로를 지정합니다. 여러 파일을 지정하려면 이 플래그를 반복합니다.
--use_cache={true|false}
쿼리 결과 캐싱을 허용하지 않으려면
false
로 설정합니다. 기본값은true
입니다.--use_legacy_sql={true|false}
GoogleSQL 쿼리를 실행하려면
false
로 설정합니다. 기본값은true
입니다. 이 명령어는 legacy SQL을 사용합니다.--job_timeout_ms={string (Int64Value)}
쿼리를 실행할 최대 시간을 밀리초 단위로 지정합니다. 이 시간 제한을 초과하면 BigQuery가 작업을 중지하려고 시도합니다.
QUERY
실행하려는 쿼리입니다. 다음 방법 중 하나를 사용하여 쿼리를 지정할 수 있습니다.
쿼리가 포함된 문자열을 지정합니다.
쿼리 내에 추가 문자열 리터럴을 사용해야 하는 경우 사용 중인 셸(예: Bash 또는 PowerShell)의 따옴표 규칙을 따라야 합니다.
다음 예시는 Bash의 일반적인 접근방식을 보여줍니다. 즉, 큰따옴표를 사용하여 쿼리에서 문자열 리터럴을 나타낸 다음 쿼리 자체를 작은따옴표로 묶습니다.
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
다른 위치에서 쿼리를 복사하는 경우 쿼리의 주석도 삭제해야 합니다.
쿼리가 포함된 SQL 스크립트를 전달합니다. 다음 예시는 Bash 셸에서 SQL 스크립트를 전달하는 방법을 보여줍니다.
bq query --use_legacy_sql=false < query.sql
bq query
명령어 사용에 대한 자세한 내용은 쿼리 실행을 참조하세요.
bq remove-iam-policy-binding
bq remove-iam-policy-binding
명령어를 사용하여 리소스의 IAM 정책을 검색하고 한 번에 정책의 binding을 삭제합니다.
리소스는 테이블 또는 뷰일 수 있습니다.
이 명령어는 다음 3단계 프로세스를 대체합니다.
bq get-iam-policy
명령어를 사용하여 JSON 형식의 정책 파일 검색- 정책 파일 수정
bq set-iam-policy
명령어를 사용하여 binding 없이 정책 업데이트
개요
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
플래그 및 인수
bq remove-iam-policy-binding
명령어는 다음 플래그와 인수를 사용합니다.
--member=MEMBER_TYPE:MEMBER
필수 항목.
--member
플래그를 사용하여 IAM 정책 binding의 구성원 부분을 지정합니다.--role
플래그와 함께--member
플래그가 필요합니다.--member
와--role
플래그의 한 조합은 하나의 binding과 같습니다.MEMBER_TYPE
값은 IAM 정책 binding의 구성원 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.user
serviceAccount
group
domain
MEMBER
값은 IAM 정책 binding에서 구성원의 이메일 주소 또는 도메인을 지정합니다.--role=ROLE
필수 항목. IAM 정책 binding의 역할 부분을 지정합니다.
--member
플래그와 함께--role
플래그가 필요합니다.--member
와--role
플래그의 한 조합은 하나의 binding과 같습니다.--table={true|false}
또는-t={true|false}
선택사항. 테이블 또는 뷰의 IAM 정책에서 binding을 삭제하려면
true
로 설정합니다. 기본값은false
입니다.
RESOURCE
는 정책 binding을 삭제할 테이블 또는 뷰입니다.
자세한 내용은 IAM 정책 참조를 확인하세요.
bq rm
bq rm
명령어를 사용하여 BigQuery 리소스를 삭제합니다.
개요
bq rm [FLAGS] RESOURCE
플래그 및 인수
bq rm
명령어는 다음 플래그와 인수를 사용합니다.
--capacity_commitment={false|true}
- 용량 약정을 삭제하려면
true
로 설정하고--location
플래그를 사용하여 삭제할 약정의 위치를 지정한 후RESOURCE
를 삭제하려는 약정의 ID로 바꿉니다. --dataset={true|false}
또는-d={true|false}
- 데이터 세트를 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --force={true|false}
또는-f={true|false}
- 표시하지 않고 리소스를 삭제하려면
true
로 설정하세요. 기본값은false
입니다. --job={true|false}
또는-j={true|false}
- 작업을 삭제하려면 true로 설정하세요. 기본값은 false입니다.
--model={true|false}
또는-m={true|false}
- BigQuery ML 모델을 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --recursive={true|false}
또는-r{true|false}
- 데이터 세트와 테이블, 테이블 데이터 또는 모델을 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --reservation={true|false}
- 예약을 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --reservation_assignment={true|false}
- 예약 할당을 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --routine={true|false}
- 루틴을 삭제하려면
true
로 설정합니다. 기본값은false
입니다. 루틴은 영구 사용자 정의 함수 ,테이블 함수(미리보기) 또는 저장된 프로시져일 수 있습니다. --table={true|false}
또는-t={true|false}
- 테이블 또는 뷰를 삭제하려면
true
로 설정합니다. 기본값은false
입니다. --transfer_config={true|false}
- 전송 구성을 삭제하려면
true
로 설정하세요. 기본값은false
입니다. RESOURCE
- 삭제하려는 리소스입니다.
bq rm
명령어 사용에 대한 자세한 내용은 다음을 참조하세요.
bq set-iam-policy
bq set-iam-policy
명령어를 사용하여 리소스의 IAM 정책을 지정하거나 업데이트합니다. 리소스는 테이블 또는 뷰일 수 있습니다.
정책을 설정하면 새 정책이 stdout
에 출력됩니다. 정책은 JSON 형식입니다.
업데이트된 정책의 etag
필드는 현재 정책의 etag
값과 일치해야 하며 그렇지 않으면 업데이트가 실패합니다. 이 기능은 동시 업데이트를 방지합니다.
bq get-iam-policy
명령어를 사용하여 리소스의 현재 정책과 etag
값을 가져올 수 있습니다.
개요
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
플래그 및 인수
bq set-iam-policy
명령어는 다음 플래그와 인수를 사용합니다.
--table={true|false}
또는-t={true|false}
- 선택사항입니다. 테이블 또는 뷰의 IAM 정책을 설정하려면
true
로 설정합니다. 기본값은false
입니다.
RESOURCE는 정책을 업데이트할 테이블 또는 뷰입니다.
FILE_NAME은 정책이 포함된 파일의 이름(JSON 형식)입니다.
bq set-iam-policy
명령어에 대한 자세한 내용은 IAM으로 리소스 액세스 제어를 참조하세요.
bq show
bq show
명령어를 사용하여 리소스에 대한 정보를 표시합니다.
개요
bq show [FLAGS] [RESOURCE]
플래그 및 인수
bq show
명령어는 다음 플래그와 인수를 사용합니다.
--assignee_id=ASSIGNEE
--reservation_assignment
플래그와 함께 사용된 경우 폴더, 조직, 프로젝트의 ID를 지정합니다.--assignee_type
플래그를 사용하여 표시할 담당자 유형을 지정합니다.--assignee_type=TYPE
--reservation_assignment
플래그와 함께 사용된 경우 표시할 항목 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.FOLDER
ORGANIZATION
PROJECT
--connection={true|false}
- 연결 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. 자세한 내용은 연결 리소스 보기를 참조하세요. --dataset={true|false}
또는-d={true|false}
- 데이터 세트에 대한 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --encryption_service_account={true|false}
- 프로젝트에 암호화 서비스 계정이 있는 경우 이를 표시하고 존재하지 않는 경우 새로 만들기 위해
true
로 설정합니다. 기본값은false
입니다.--project_id
플래그와 함께 사용합니다. --job={true|false}
또는-j={true|false}
- 작업에 대한 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --job_type=JOB_TYPE
--reservation_assignment
플래그와 함께 사용된 경우 표시하려는 예약 할당의 작업 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.QUERY
PIPELINE
ML_EXTERNAL
--model={true|false}
또는-m={true|false}
- BigQuery ML 모델 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --reservation={true|false}
- 예약 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --reservation_assignment={true|false}
true
로 설정하면 명령어는 지정된 폴더, 조직 또는 프로젝트에 대한 예약 할당을 표시합니다. 명령어는 대상 리소스의 명시적 할당을 표시합니다. 그렇지 않으면 상위 리소스에서 상속된 할당을 표시합니다. 예를 들어 프로젝트는 상위 폴더에서 할당을 상속할 수 있습니다. 이 플래그를 사용하면--job_type
,--assignee_type
,--assignee_id
플래그가 적용됩니다. 기본값은false
입니다.--routine={true|false}
- 루틴 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. 루틴은 영구 사용자 정의 함수 ,테이블 함수(미리보기) 또는 저장된 프로시져일 수 있습니다. --schema={true|false}
- 테이블 스키마만 표시하려면
true
로 설정합니다. 기본값은false
입니다. --transfer_config={true|false}
- 전송 구성에 대한 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --transfer_run={true|false}
- 전송 실행에 대한 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. --view={true|false}
- 뷰에 대한 정보를 표시하려면
true
로 설정합니다. 기본값은false
입니다. RESOURCE
- 정보를 표시할 리소스입니다.
bq show
명령어 사용에 대한 자세한 내용은 다음을 참조하세요.
bq update
bq update
명령어를 사용하여 리소스를 변경합니다.
개요
bq update [FLAGS] [RESOURCE]
플래그 및 인수
bq update
명령어는 다음 플래그와 인수를 사용합니다.
--add_tags=TAGS
- 데이터 세트 및 테이블에서만 사용할 수 있습니다. 리소스에 연결할 태그를 쉼표로 구분하여 지정합니다. 예를 들면
556741164180/env:prod,myProject/department:sales
입니다. 각 태그에는 네임스페이스화된 키 이름 및 값 짧은 이름이 있어야 합니다. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS
- : 예약에 할당된 자동 확장 슬롯 수입니다. 최대 예약 크기 값에서 기준 슬롯 수를 뺀 값과 동일합니다. 예약이 버전으로 생성된 경우에만
--reservation
플래그와 함께 사용할 수 있습니다. --capacity_commitment={true|false}
- 용량 약정을 업데이트하려면
true
로 설정합니다. 이 플래그를--merge
,--plan
,--renewal_plan
,--split
,--slots
플래그와 함께 사용합니다. --clear_all_tags={true|false}
- 데이터 세트 및 테이블에서만 사용할 수 있습니다. 리소스에서 모든 태그를 삭제하려면
true
로 설정하세요. 기본값은false
입니다. --clear_label=KEY:VALUE
- 리소스에서 라벨을 삭제합니다.
KEY:VALUE
형식을 사용하여 삭제할 라벨을 지정합니다. 이 플래그를 반복하면 라벨을 여러 개 삭제할 수 있습니다. --clustering_fields=COLUMNS
- 테이블의 클러스터링 사양을 업데이트합니다. COLUMNS 값은 클러스터링에 사용할 쉼표로 구분된 열 이름 목록입니다. 클러스터링을 삭제하려면 COLUMNS를
""
(빈 문자열)로 설정합니다. 자세한 내용은 클러스터링 사양 수정을 참조하세요. --target_job_concurrency=CONCURRENCY
--reservation
플래그와 함께 사용된 경우 동시에 실행되는 대상 쿼리 수를 지정합니다. 기본값은 0입니다. 즉, 예약 크기에 따라 동시 실행이 자동으로 설정됩니다. 자세한 내용은 쿼리 큐 사용을 참조하세요.--dataset={true|false}
또는-d={true|false}
- 데이터 세트를 업데이트하려면
true
로 설정합니다. 기본값은false
입니다. --default_kms_key=KEY
- 데이터 세트의 테이블 데이터를 암호화하기 위한 기본 Cloud KMS 키 리소스 ID를 지정합니다. 테이블 생성 또는 쿼리에 명시적 키가 제공되지 않으면 기본 키가 사용됩니다.
--default_partition_expiration=SECONDS
데이터 세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 이 플래그에는 최솟값이 없습니다.
파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다. 이 속성을 설정한 경우 데이터 세트 수준의 기본 테이블 만료 시간이 있으면 재정의됩니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때
--time_partitioning_expiration
플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터 세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다. 기존 만료 시간을 삭제하려면0
을 지정합니다.--default_table_expiration=SECONDS
데이터 세트에 새로 생성된 테이블의 기본 수명을 초 단위로 업데이트하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다. 기존 만료 시간을 삭제하려면
0
을 지정합니다.--description=DESCRIPTION
데이터 세트, 테이블, 테이블 스냅샷, 모델 또는 뷰의 설명을 업데이트합니다.
--destination_reservation_id=RESERVATION_ID
--reservation_assignment
플래그와 함께 사용되는 경우 기존 예약 할당을 지정된 예약으로 이동합니다. 값은 대상 예약의 ID입니다. 자세한 내용은 할당을 다른 예약으로 이동을 참조하세요.--display_name=DISPLAY_NAME
전송 구성의 표시 이름을 업데이트합니다.
--etag=ETAG
필터 역할을 하며 리소스에
ETAG
인수에 지정된 문자열과 일치하는 ETag가 있는 경우에만 리소스를 업데이트합니다.--expiration SECONDS
테이블, 모델, 테이블 스냅샷 또는 뷰의 만료 시간을 업데이트하려면 이 플래그를 포함합니다.
SECONDS
를 업데이트 시간부터 만료 시간까지의 초 수로 바꿉니다. 테이블, 모델, 테이블 스냅샷 또는 뷰의 만료 시간을 삭제하려면SECONDS
인수를 0으로 설정합니다.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}
지정된 테이블 정의로 외부 테이블을 업데이트합니다. 테이블 정의는 로컬 JSON 테이블 정의 파일의 경로 또는
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI
형식의 인라인 테이블 정의일 수 있습니다.SCHEMA
값은FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식의 쉼표로 구분된 열 정의 목록입니다. 테이블 정의 파일을 사용하는 경우 확장자를 제공하지 마세요.예를 들면 다음과 같습니다.
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}
--reservation
플래그와 함께 사용합니다. 지정된 예약에서 실행 중인 작업을 해당 예약에 할당된 슬롯만 사용하도록 제한하려면true
로 설정합니다. 기본값은false
입니다. 지정된 예약의 작업은 다른 예약의 유휴 슬롯 또는 어떤 예약에도 할당되지 않은 슬롯을 사용할 수 있습니다. 자세한 내용은 유휴 슬롯을 참조하세요.--max_time_travel_hours=HOURS
데이터 세트의 시간 이동 창(시간)을 지정합니다.
--max_time_travel_hours
값은 24(48, 72, 96, 120, 144, 168)의 배수로 표현된 48(2일)에서 168(7일) 사이의 정수여야 합니다.--merge={true|false}
2개의 용량 약정을 병합하려면
--merge
를true
로 설정합니다.--capacity_commitment
플래그를true
로 설정하고,--location
플래그를 사용하여 병합할 약정의 위치를 지정하고,RESOURCE
를 병합할 두 약정 ID로 바꿉니다(쉼표로 구분). 자세한 내용은 2개 약정 병합을 참조하세요.--model={true|false}
또는-m={true|false}
BigQuery ML 모델의 메타데이터를 업데이트하려면
true
로 설정합니다. 기본값은false
입니다.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}
전송 구성의 매개변수를 업데이트합니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery Data Transfer Service 소개를 참조하세요.
--plan=PLAN
--capacity_commitment
플래그와 함께 사용할 경우 용량 약정을 기간이 더 긴 지정된 약정 요금제로 변환합니다.PLAN
을 다음 중 하나로 바꿉니다.ANNUAL
THREE_YEAR
--refresh_window_days=DAYS
전송 구성의 업데이트된 새로고침 기간을 일 단위로 지정하는 정수입니다.
--remove_tags=TAG_KEYS
데이터 세트 및 테이블에서만 사용할 수 있습니다. 리소스에서 삭제할 태그를 쉼표로 구분하여 지정합니다(예:
556741164180/env,myProject/department
). 각 태그 키에는 네임스페이스화된 키 이름이 있어야 합니다.--renewal_plan=PLAN
--capacity_commitment
플래그와 함께 사용하면 연간 용량 약정에 대해 갱신 요금제를 업데이트합니다.PLAN
을 다음 중 하나로 바꿉니다.ANNUAL
THREE_YEAR
NONE
기존 정액제를 사용하는 고객은 다음 값 중 하나를 사용할 수도 있습니다.
FLEX
MONTHLY
ANNUAL
--reservation={true|false}
예약을 업데이트할지 여부를 지정합니다. 기본값은
false
입니다.--reservation_assignment={true|false}
예약 할당을 업데이트할지 여부를 지정합니다. 기본값은
false
입니다.--schema={SCHEMA_FILE|SCHEMA
}로컬 JSON 스키마 파일의 경로 또는
FIELD:DATA_TYPE, FIELD:DATA_TYPE
형식 등의 쉼표로 구분된 열 정의 목록 등을 지정합니다. 스키마 파일을 사용하는 경우 파일에 확장자를 포함하지 마세요.예를 들면 다음과 같습니다.
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNT
전송 구성에 대해 사용자 인증 정보로 사용할 서비스 계정을 지정합니다.
--set_label=KEY:VALUE
업데이트할 라벨을 지정합니다. 여러 라벨을 업데이트하려면 이 플래그를 반복합니다.
--slots=NUMBER_OF_BASELINE_SLOTS
--capacity_commitment
및--split
플래그와 함께 사용되는 경우 기존 용량 약정에서 새 약정으로 분할할 기준 슬롯 수를 지정합니다.RESOURCE
를 분할할 약정의 ID로 바꿉니다.--reservation
플래그와 함께 사용되는 경우 예약에 있는 슬롯 수를 업데이트합니다.--source=FILE
리소스를 업데이트하는 데 사용되는 페이로드가 포함된 로컬 JSON 파일의 경로입니다. 예를 들어 이 플래그를 사용하여 업데이트된
access
속성이 있는 데이터 세트 리소스가 포함된 JSON 파일을 지정할 수 있습니다. 이 파일은 데이터 세트의 액세스 제어를 덮어쓰는 데 사용됩니다. JSON 파일에는 바이트 순서 표시(BOM)가 포함되면 안 됩니다.--split={true|false}
true
로 설정하고--capacity_commitment
플래그와 함께 사용할 경우 기존 용량 약정을 분할하도록 지정합니다.--location
플래그를 사용해서 분할할 약정의 위치를 지정하고--slots
플래그를 사용해서 분할할 슬롯 수를 지정합니다.RESOURCE
를 분할하려는 약정의 ID로 바꿉니다. 자세한 내용은 약정 분할을 참조하세요.--storage_billing_model=BILLING_MODEL
데이터 세트에 대한 스토리지 청구 모델을 지정합니다.
--storage_billing_model
값을PHYSICAL
로 설정하여 스토리지 요금을 계산할 때 물리적 바이트를 사용하거나LOGICAL
로 설정하여 논리 바이트를 사용합니다.데이터 세트의 청구 모델을 변경하면 변경사항이 적용되는 데 24시간 정도 걸립니다.
데이터 세트의 스토리지 청구 모델을 변경한 후에는 스토리지 청구 모델을 다시 변경할 수 있으려면 14일을 기다려야 합니다.
--table={true|false}
또는-t={true|false}
테이블 업데이트 여부를 지정합니다. 기본값은
false
입니다.--target_dataset=DATASET
이 플래그를 지정하면 전송 구성의 대상 데이터 세트가 업데이트됩니다.
--time_partitioning_expiration=SECONDS
시간 기준 파티션을 삭제할 시간을 초 단위로 업데이트하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_field=COLUMN_NAME
시간 기준 파티션을 만드는 방법을 확인하는 데 사용되는 필드를 업데이트합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.
--time_partitioning_type=INTERVAL
파티션 나누기 유형을 지정합니다. 다음 중 한 가지 값을 사용합니다.
DAY
HOUR
MONTH
YEAR
기존 테이블의 파티션 나누기 유형은 변경할 수 없습니다.
--transfer_config={true|false}
전송 구성 업데이트 여부를 지정합니다. 기본값은
false
입니다.--update_credentials={true|false}
전송 구성 사용자 인증 정보를 업데이트할지 여부를 지정합니다. 기본값은
false
입니다.--use_legacy_sql={true|false}
뷰의 SQL 쿼리를 legacy SQL에서 GoogleSQL로 업데이트하려면
false
로 설정합니다. 기본값은true
입니다. 쿼리는 legacy SQL을 사용합니다.--vertex_ai_model_id=VERTEX_AI_MODEL_ID
지정된 경우 Vertex AI Model Registry에 등록된 BigQuery ML 모델의 모델 ID를 업데이트합니다.
--view=QUERY
이 플래그를 지정하면 뷰의 SQL 쿼리가 업데이트됩니다.
--view_udf_resource=FILE
보기의 SQL 쿼리에서 즉시 사용자 정의 함수 리소스로 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로를 업데이트합니다. 여러 파일을 지정하려면 이 플래그를 반복합니다.
RESOURCE
업데이트할 리소스입니다.
bq update
명령어 사용에 대한 자세한 내용은 다음을 참조하세요.
bq version
bq version
명령어를 사용하여 bq 명령줄 도구의 버전 번호를 표시합니다.
개요
bq version
bq wait
작업이 완료될 때까지 지정된 시간(초) 동안 대기하려면 bq wait
명령어를 사용합니다. 작업이 지정되지 않은 경우 명령어는 현재 작업이 완료될 때까지 기다립니다.
개요
bq wait [FLAGS] [JOB] [SECONDS]
예시
bq wait
bq wait --wait_for_status=RUNNING 12345 100
플래그 및 인수
bq wait
명령어는 다음 플래그와 인수를 사용합니다.
--fail_on_error={true|false}
- 작업이 대기 시간 중에 완료된 경우 작업이 실패하더라도 성공을 반환하려면
false
로 설정합니다. 기본값은true
로, 대기 시간이 경과한 후에 작업이 계속 실행 중이거나 작업이 완료되었지만 실패한 경우 명령어는 오류와 함께 종료됩니다. --wait_for_status=STATUS
이 플래그를 지정하면 종료되기 전에 특정 작업 상태가 대기합니다. 다음 중 한 가지 값을 사용합니다.
PENDING
RUNNING
DONE
기본값은
DONE
입니다.JOB
대기할 작업을 지정합니다.
bq ls --jobs myProject
명령어를 사용하여 작업 식별자를 찾을 수 있습니다.SECONDS
작업이 완료될 때까지 대기할 최대 시간(초)을 지정합니다.
0
을 입력하면 명령어가 작업이 완료되도록 폴링하고 즉시 결과를 반환합니다. 정수 값을 지정하지 않으면 작업이 완료될 때까지 명령어가 대기합니다.