명령줄 도구 참조

이 문서는 bq 명령줄 도구의 명령어와 플래그를 자세히 설명합니다. CLI 사용에 대한 자세한 내용은 bq 명령줄 도구 사용을 참조하세요.

전역 플래그

bq 명령줄 도구에서 다음과 같은 전역 플래그를 사용할 수 있습니다.

[DEPRECATED] bq 승인 플래그

bq 승인 플래그는 지원 중단되었습니다. bq 명령줄 도구에 승인을 구성하려면 Cloud SDK 도구 승인을 참조하세요.

--application_default_credential_file
자세한 내용은 서버 간 프로덕션 애플리케이션 인증 설정을 참조하세요. 기본값은 ''입니다.
--credential_file
OAuth 토큰을 저장하는 데 사용되는 파일 이름입니다. 기본값은 $HOME/.bigquery.v2.token입니다.
--service_account
이 서비스 계정 이메일 주소를 승인하는 데 사용합니다. 예를 들면 1234567890@developer.gserviceaccount.com입니다. 기본값은 ''입니다.
--service_account_credential_file
서비스 계정의 사용자 인증 정보 저장소로 사용되는 파일입니다. 서비스 계정을 사용하는 경우 이 플래그를 설정해야 합니다.
--service_account_private_key_file
서비스 계정 비공개 키가 포함된 파일입니다. --service_account 플래그가 지정된 경우 이 플래그는 필수입니다. 기본값은 ''입니다.
--service_account_private_key_password
비공개 키 비밀번호입니다. 이 비밀번호는 키를 만들 때 설정한 키 비밀번호와 일치해야 합니다. 기본값은 notasecret입니다.
--use_gce_service_account
이 플래그를 지정하면 Google Compute Engine 인스턴스에서 실행할 때 저장된 사용자 인증 정보 대신 서비스 계정 사용자 인증 정보를 사용할 수 있습니다. 자세한 내용은 인스턴스의 서비스 계정 만들기 및 사용 설정을 참조하세요. 기본값은 false입니다.

bq 전역 플래그

--api
호출할 API 엔드포인트입니다. 기본값은 https://www.googleapis.com입니다.

--api_version 사용할 API 버전입니다. 기본값은 v2입니다.

--apilog
모든 API 요청 및 응답을 이 플래그에서 지정된 파일에 로깅합니다. stdoutstderr를 사용할 수도 있습니다. 빈 문자열('')을 지정하면 stdout로 이동합니다.
--bigqueryrc
명령줄 도구 구성 파일의 경로입니다. 구성 파일은 플래그의 새로운 기본값을 지정하며, 명령줄에 플래그를 지정하여 재정의될 수 있습니다. --bigqueryrc 플래그를 지정하지 않으면 BIGQUERYRC 환경 변수가 사용됩니다. 이를 지정하지 않으면 경로 ~/.bigqueryrc가 사용됩니다. 기본값은 $HOME/.bigqueryrc입니다.
--ca_certificates_file
CA 인증서 파일 위치입니다. 기본값은 ''입니다.
--dataset_id
요청에 사용할 기본 데이터세트입니다. 이 플래그는 적용할 수 없는 경우 무시됩니다. 값을 project_id:dataset 또는 dataset로 설정할 수 있습니다. project_id가 누락되면 기본 프로젝트가 사용됩니다. 이 설정은 --project_id 플래그를 지정하여 재정의할 수 있습니다. 기본값은 ''입니다.
--debug_mode
Python 예외에 대한 추적을 표시합니다. 기본값은 false입니다.
--disable_ssl_validation
HTTPS 인증서 유효성 검사를 사용 중지합니다. 기본값은 false입니다.
--discovery_file
검색을 위해 읽을 JSON 파일의 파일 이름입니다. 기본값은 ''입니다.
--enable_gdrive
true로 설정하면 GDrive 범위가 있는 새 OAuth 토큰이 요청됩니다. false로 설정하면 GDrive 범위가 없는 새 OAuth 토큰이 요청됩니다.
--fingerprint_job_id
작업 구성의 지문에서 파생된 작업 ID 사용 여부입니다. 이를 사용하면 동일한 작업이 실수로 여러 번 실행되는 것을 방지할 수 있습니다. 기본값은 false입니다.
--flagfile
이 플래그를 지정하면 제공된 파일의 플래그 정의가 명령줄 도구에 삽입됩니다. 기본값은 ''입니다.
--format

명령어의 출력 형식을 지정합니다. 옵션은 다음과 같습니다.

  • pretty: 형식이 지정된 테이블 출력
  • sparse: 더 단순한 테이블 출력
  • prettyjson: 읽기 쉬운 JSON 형식
  • json: 최대한 압축한 JSON
  • csv: 헤더가 있는 CSV 형식

pretty, sparse, prettyjson은 사람이 읽을 수 있도록 작성되었습니다. jsoncsv는 다른 프로그램에 전달하기 위한 용도입니다. none이 지정되면 명령어가 출력을 생성하지 않습니다. --format 플래그가 없으면 명령어를 기준으로 적절한 출력 형식이 선택됩니다.

--headless

사용자 상호작용 없이 bq 세션을 실행할지 여부를 지정합니다. true로 설정하면 상호작용이 사용 중지됩니다. 예를 들어 debug_mode는 디버거에 침입하지 않으며 정보 인쇄 빈도가 줄어듭니다. 기본값은 false입니다.

--job_id

요청에 사용할 고유한 작업 ID입니다. 작업 생성 요청에 지정되지 않으면 작업 ID가 생성됩니다. 이 플래그는 작업을 생성하는 명령어인 cp, extract, load, query에만 적용됩니다. 자세한 내용은 프로그래매틱 방식으로 작업 실행을 참조하세요.

--job_property

작업 구성의 속성 필드에 포함되는 추가 키-값 쌍입니다. 이 플래그를 반복하면 속성을 추가로 지정할 수 있습니다.

--location

리전 또는 멀티 리전 위치에 해당하는 문자열입니다. 위치 플래그는 -j 플래그를 사용하여 작업 정보를 표시하는 경우 cancel 명령어와 show 명령어에 필요합니다. 위치 플래그는 다음 명령어에서 선택사항입니다.

다른 모든 명령어는 --location 플래그를 무시합니다.

--max_rows_per_request

읽을 때마다 반환되는 최대 행 수를 지정하는 정수입니다.

--project_id

요청에 사용할 프로젝트 ID입니다. 기본값은 ''입니다.

--proxy_address

GCP에 연결하는 데 사용할 프록시 호스트의 이름 또는 IP 주소입니다. 기본값은 ''입니다.

--proxy_password

프록시 호스트로 인증할 때 사용할 암호입니다. 기본값은 ''입니다.

--proxy_port

프록시 호스트에 연결하는 데 사용할 포트 번호입니다. 기본값은 ''입니다.

--proxy_username

프록시 호스트로 인증할 때 사용할 사용자 이름입니다. 기본값은 ''입니다.

--quiet 또는 -q

true로 설정하면 작업이 실행되는 동안 상태 업데이트가 무시됩니다. 기본값은 false입니다.

--synchronous_mode 또는 -sync

true로 설정하면 명령어가 완료될 때까지 결과 반환이 되지 않으며 작업 완료 상태가 오류 코드로 사용됩니다. false로 설정하면 작업이 생성되고 성공적인 완료 상태가 오류 코드에 사용됩니다. 기본값은 true입니다.

--trace

token:token으로 지정된 추적 토큰으로 API 요청에 포함됩니다.

명령어별 플래그

bq 명령줄 도구에서 다음과 같은 명령어 플래그를 사용할 수 있습니다.

bq cancel

cancel 명령어는 작업을 취소하는 데 사용됩니다. cancel 명령어에는 명령어별 플래그가 없습니다.

cancel 명령어 사용에 대한 자세한 내용은 작업 관리를 참조하세요.

cancel 명령어는 다음과 같은 전역 플래그를 사용합니다.

--job_id
취소 요청에 사용할 고유한 작업 ID입니다. --job_id 플래그를 사용하지 않고 작업 ID를 지정할 수도 있습니다(예: bq cancel [JOB_ID]).
--synchronous_mode 또는 --sync
이 플래그를 지정하면 명령어가 완료될 때까지 결과 반환이 되지 않습니다. false로 설정하면 명령어가 결과를 즉시 반환합니다. 기본값은 true입니다.

bq cp

cp 명령어는 테이블을 복사하는 데 사용됩니다. cp 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

cp 명령어 사용에 대한 자세한 내용은 테이블 관리를 참조하세요.

--append_table 또는 -a
이 플래그를 지정하면 테이블을 복사하여 기존 테이블에 추가할 수 있습니다. 기본값은 false입니다.
--destination_kms_key
대상 테이블 데이터 암호화에 사용되는 Cloud KMS 키입니다.
--force 또는 -f
이 플래그를 지정하면 대상 테이블이 덮어쓰기되고 메시지가 표시되지 않습니다(대상 테이블이 있는 경우). 기본값은 false입니다.
--no_clobber 또는 -n
이 플래그를 지정하면 대상 테이블이 덮어쓰기되지 않습니다(대상 테이블이 있는 경우). 기본값은 false입니다.

bq extract

extract 명령어는 테이블 데이터를 Cloud Storage로 내보내는 데 사용됩니다.

extract 명령어 사용에 대한 자세한 내용은 테이블 데이터 내보내기를 참조하세요.

extract 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--compression
내보내는 파일에 사용할 압축 유형입니다. 가능한 값은 GZIP(CSV와 JSON만), DEFLATE(Avro만), SNAPPY(Avro만), NONE입니다. 기본값은 NONE입니다.
--destination_format

내보내는 데이터의 형식입니다. 가능한 값은 다음과 같습니다.

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO

기본값은 CSV입니다.

--field_delimiter 또는 -F

CSV 내보내기의 출력 파일에서 열 사이의 경계를 나타내는 문자입니다. \ttab 모두 탭 구분 기호로 사용할 수 있습니다.

--print_header

이 플래그를 지정하면 헤더가 있는 형식의 헤더 행이 인쇄됩니다. 기본값은 true입니다.

bq head

head 명령어는 테이블에 행을 표시합니다.

head 명령어 사용에 대한 자세한 내용은 테이블 데이터 관리를 참조하세요.

head 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--job 또는 -j
쿼리 작업 결과를 읽으려면 유효한 작업 ID와 함께 이 플래그를 지정합니다. 기본값은 false입니다.
--max_rows 또는 -n
테이블 데이터를 표시할 때 인쇄할 행 수를 나타내는 정수입니다. 기본값은 100입니다.
--selected_fields 또는 -c
테이블 데이터를 표시할 때 반환할 필드의 하위 세트(중첩된 필드 및 반복된 필드 포함)를 나타내는 쉼표로 구분된 목록입니다. 이 플래그가 지정되지 않으면 모든 열이 검색됩니다.
--start_row 또는 -s
테이블 데이터를 표시하기 전에 건너뛸 행 수를 나타내는 정수입니다. 기본값은 0입니다(첫 번째 행에서 시작).
--table 또는 -t
테이블의 행을 읽으려면 테이블 ID와 함께 이 플래그를 지정합니다. 기본값은 false입니다.

bq insert

insert 명령어를 사용하면 스트리밍 버퍼를 사용하여 줄바꿈으로 구분된 JSON 형식의 데이터 행을 삽입할 수 있습니다. 이 명령어는 테스트 목적으로만 사용됩니다. BigQuery로 데이터를 스트리밍하려면 insertAll API 메서드를 사용합니다.

자세한 내용은 BigQuery로 데이터 스트리밍을 참조하세요.

insert 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--ignore_unknown_values 또는 -i
이 플래그를 지정하면 테이블 스키마에 없는 행의 모든 값이 무시됩니다.
--skip_invalid_rows 또는 -s
이 플래그를 지정하면 유효하지 않은 행이 있어도 유효한 행 삽입을 시도합니다.
--template_suffix 또는 -x
이 플래그를 지정하면 대상 테이블이 기본 템플릿으로 처리되고 행은 {destination}{templateSuffix}라 하는 인스턴스 테이블에 삽입됩니다. BigQuery는 기본 템플릿의 스키마를 사용하여 인스턴스 테이블을 만듭니다.

bq load

load 명령어는 데이터를 테이블에 로드합니다.

load 명령어를 사용하여 Google Cloud Storage에서 데이터를 로드하는 방법에 대한 자세한 내용은 다음을 참조하세요.

load 명령어를 사용하여 로컬 소스에서 데이터를 로드하는 방법에 대한 자세한 내용은 로컬 데이터 소스에서 BigQuery로 데이터 로드를 참조하세요.

load 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--allow_jagged_rows
이 플래그를 지정하면 CSV 데이터에서 후행 선택 열이 누락될 수 있습니다.
--allow_quoted_newlines
이 플래그를 지정하면 CSV 데이터에서 따옴표가 있는 줄바꿈 문자가 허용됩니다.
--autodetect
이 플래그를 지정하면 CSV 데이터와 JSON 데이터에 스키마 자동 감지가 사용 설정됩니다.
--clustering_fields
최대 4개의 열 이름이 포함된 쉼표로 구분된 목록입니다. 이 플래그는 파티션을 나눈 테이블에만 사용할 수 있습니다.
--destination_kms_key
대상 테이블 데이터의 암호화에 사용할 Cloud KMS 키입니다.
--encoding 또는 -E
데이터에 사용되는 문자 인코딩입니다. 가능한 값은 다음과 같습니다.
  • ISO-8859-1(Latin-1이라고도 함)
  • UTF-8
--field_delimiter 또는 -F
데이터에서 열 사이의 경계를 나타내는 문자입니다. \ttab 모두 탭 구분 기호로 사용할 수 있습니다.
--ignore_unknown_values
지정된 경우, CSV 및 JSON 파일에 대해 스키마와 일치하지 않는 추가 열 값을 포함하는 행이 무시되고 로드되지 않습니다.
--max_bad_records
전체 작업이 실패하기 전에 허용되는 불량 레코드의 최대 수를 지정하는 정수입니다. 기본값은 0입니다. --max_bad_records 값과 상관없이 모든 유형에 오류가 최대 5개까지 반환됩니다.
--null_marker
CSV 데이터에서 NULL 값을 나타내는 선택적 커스텀 문자열입니다.
--projection_fields
--source_formatDATASTORE_BACKUP으로 설정해서 사용하면 Cloud Datastore 내보내기에서 로드할 항목 속성이 쉼표로 구분된 목록으로 표시됩니다. 속성 이름은 대소문자를 구분하며 최상위 속성을 참조해야 합니다. 기본값은 ''입니다. 이 플래그는 Cloud Firestore 내보내기에도 사용될 수 있습니다.
--quote
레코드를 묶는 데 사용할 따옴표입니다. 기본값은 "입니다. 따옴표 문자를 표시하지 않으려면 빈 문자열을 사용합니다.
--replace
이 플래그를 지정하면 새 데이터가 로드될 때 기존 데이터가 지워집니다. 기본값은 false입니다.
--schema
로컬 JSON 스키마 파일의 경로이거나 field:data_type, field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다.
--schema_update_option

로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 가능한 값은 다음과 같습니다.

  • ALLOW_FIELD_ADDITION: 새 필드를 추가하도록 허용
  • ALLOW_FIELD_RELAXATION: REQUIRED 필드를 NULLABLE로 완화하도록 허용

이 플래그를 반복하면 스키마 업데이트 옵션을 여러 개 지정할 수 있습니다.

--skip_leading_rows

소스 파일의 시작 부분에서 건너뛸 행 수를 지정하는 정수입니다.

--source_format

소스 데이터의 형식입니다. 가능한 값은 다음과 같습니다.

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 지정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 현재 하루에 파티션을 한 개씩 생성하는 DAY만 사용할 수 있습니다.

--use_avro_logical_types

: sourceFormatAVRO로 설정된 경우 원시 유형(예: INTEGER)만 사용하지 않고 해당하는 유형(예: TIMESTAMP)으로 논리 유형을 변환할지 여부를 나타냅니다.

bq ls

ls 명령어는 컬렉션의 객체를 나열합니다.

ls 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

ls 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--all 또는 -a
이 플래그를 지정하면 모든 결과, 즉 모든 사용자의 작업 또는 모든 데이터세트의 작업(숨겨진 작업 포함)이 표시됩니다. 전송 구성 또는 전송 실행을 나열할 때는 이 플래그가 필요하지 않습니다.
--datasets 또는 -d
이 플래그를 지정하면 데이터세트가 나열됩니다. 기본값은 false입니다.
--filter

필터 표현식과 일치하는 데이터세트를 나열합니다. 공백으로 구분된 라벨 키 및 값의 목록을 labels.key:value 형식으로 사용합니다. 전송 구성의 경우 dataSourceIds:data_sources 형식의 필터 표현식은 지정된 데이터 소스의 전송 구성을 나열합니다. 가능한 값은 다음과 같습니다.

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google 판매자 센터
  • play: Google Play
  • youtube_channel: YouTube 채널 보고서
  • youtube_content_owner: YouTube 콘텐츠 소유자 보고서

또한 전송 실행의 경우 states:state 형식의 필터 표현식은 지정된 상태와 함께 전송 실행을 나열합니다. 가능한 값은 다음과 같습니다. + SUCCEEDED + FAILED + PENDING + RUNNING + CANCELLED

--jobs 또는 -j

이 플래그를 지정하면 작업이 나열됩니다. 기본값은 false입니다. 기본적으로 결과는 100,000개로 제한됩니다.

--max_creation_time

타임스탬프를 밀리초 단위로 나타내는 정수입니다. 이 플래그를 -j 플래그와 함께 지정하면 타임스탬프 이전에 생성된 작업이 나열됩니다.

--max_results 또는 -n

결과의 최대 수를 나타내는 정수입니다. 기본값은 50개입니다.

--min_creation_time

타임스탬프를 밀리초 단위로 나타내는 정수입니다. 이 플래그를 -j 플래그와 함께 지정하면 타임스탬프 이후에 생성된 작업이 나열됩니다.

--message_type

특정 유형의 전송 실행 로그 메시지를 나열하려면 messageTypes:message_type을 지정합니다. 가능한 값은 다음과 같습니다.

  • INFO
  • WARNING
  • ERROR
--models 또는 -m

이 플래그를 지정하면 BigQuery ML 모델이 나열됩니다.

--page_token 또는 -k

이 플래그를 지정하면 이 페이지 토큰부터 시작하는 항목이 나열됩니다.

--projects 또는 -p

이 플래그를 지정하면 모든 프로젝트가 표시됩니다. 기본값은 false입니다.

--run_attempt

최근 전송 실행만 나열하려면 이 플래그를 LATEST로 설정합니다.

--transfer_config

이 플래그를 지정하면 전송 구성이 나열됩니다. 이 플래그를 사용하면 --transfer_location도 지정해야 합니다. 기본값은 false입니다.

--transfer_location

지정된 위치의 전송 구성을 나열합니다. 전송이 생성되면 전송 위치를 설정합니다.

--transfer_log

이 플래그를 지정하면 지정된 전송 실행의 전송 로그 메시지가 나열됩니다. 기본값은 false입니다.

--transfer_run

이 플래그를 지정하면 전송 실행이 나열됩니다. 기본값은 false입니다.

bq mk

mk 명령은 데이터세트, 테이블, 보기 또는 전송 구성을 생성합니다.

BigQuery에서 mk 명령을 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

BigQuery Data Transfer Service에서 mk 명령어를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

mk 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--clustering_fields
테이블을 클러스터링하는 데 사용되는 쉼표로 구분된 열 이름 목록입니다. 현재 파티션을 나눈 테이블에만 이 플래그를 사용할 수 있습니다. 이 플래그를 지정하면 테이블은 파티션으로 나눠진 후 이들 열을 통해 클러스터링됩니다.
--data_location
(이전) 데이터세트 위치를 지정합니다. 대신 --location 전역 플래그를 사용합니다.
--data_source

전송 구성의 데이터 소스를 지정합니다. 가능한 값은 다음과 같습니다.

  • dcm_dt: Campaign Manager
  • google_cloud_storage: Cloud Storage
  • dfp_dt: Google Ad Manager
  • adwords: Google Ads
  • merchant_center: Google 판매자 센터
  • play: Google Play
  • youtube_channel: YouTube 채널 보고서
  • youtube_content_owner: YouTube 콘텐츠 소유자 보고서

기본값은 ''입니다.

--dataset 또는 -d

이 플래그를 지정하면 데이터세트가 생성됩니다. 기본값은 false입니다.

--default_partition_expiration

데이터세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다. 이 속성을 설정한 경우 데이터세트 수준의 기본 테이블 만료 시간이 있으면 재정의됩니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때 --time_partitioning_expiration 플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다.

--default_table_expiration

데이터세트에 새로 생성된 테이블의 기본 수명을 초 단위로 지정하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다.

--description

데이터세트 또는 테이블의 설명입니다.

--destination_kms_key

테이블 데이터를 암호화하는 데 사용되는 Cloud KMS 키입니다.

--display_name

전송 구성의 표시 이름입니다. 기본값은 ''입니다.

--end_time

전송 실행 범위의 종료 시간을 지정하는 타임스탬프입니다. 타임스탬프 형식은 RFC3339 UTC 'Zulu'입니다.

--expiration

테이블 또는 보기의 만료 시간을 지정하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다.

--external_table_definition

외부 테이블을 만드는 데 사용할 테이블 정의를 지정합니다. 이 값은 인라인 테이블 정의이거나 JSON 테이블 정의가 포함된 파일의 경로입니다. 인라인 정의의 형식은 schema@format=uri입니다.

--force 또는 -f

이 플래그를 지정하면 종료 코드는 0입니다(리소스가 이미 있는 경우). 기본값은 false입니다.

--label

테이블에 설정되는 라벨입니다. 형식은 key:value입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.

--params 또는 -p

JSON 형식 {"parameter":"value"}의 전송 구성 매개변수입니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery Data Transfer Service 소개를 참조하세요.

--refresh_window_days

전송 구성의 새로고침 기간을 일 단위로 지정하는 정수입니다. 기본값은 0입니다.

--require_partition_filter

이 플래그를 지정하면 제공된 테이블에 대한 쿼리에 파티션 필터가 필요한지 여부가 결정됩니다. 이 플래그는 파티션을 나눈 테이블에만 적용됩니다. 기본값은 true입니다.

--schema

로컬 JSON 스키마 파일의 경로이거나 field:data_type,field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다. 기본값은 ''입니다.

--start_time

전송 실행 범위의 시작 시간을 지정하는 타임스탬프입니다. 타임스탬프 형식은 RFC3339 UTC 'Zulu'입니다.

--table 또는 -t

이 플래그를 지정하면 테이블이 생성됩니다. 기본값은 false입니다.

--target_dataset

전송 구성의 대상 데이터세트입니다. 기본값은 ''입니다.

--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 지정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 현재 하루에 파티션을 한 개씩 생성하는 DAY만 사용할 수 있습니다.

--transfer_config

이 플래그를 지정하면 전송 구성이 생성됩니다. 이 플래그를 사용하면 --data_source, --display_name, --target_dataset, --params 매개변수도 지정해야 합니다. --params의 옵션은 특정 data_source에 따라 다릅니다. 기본값은 false입니다.

--transfer_run

이 플래그를 지정하면 시간 범위의 전송 실행이 생성됩니다. 기본값은 false입니다.

--use_legacy_sql

false로 설정하면 표준 SQL 쿼리를 통해 보기가 생성됩니다. 기본값은 true입니다(legacy SQL 사용).

--view

이 플래그를 지정하면 보기를 생성합니다. 기본값은 ''입니다.

--view_udf_resource

보기의 SQL 쿼리에 사용되는 맞춤설정 함수 리소스로 즉시 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로입니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

bq mkdef

mkdef 명령어는 Google Cloud Storage 또는 Google 드라이브에 저장된 데이터에 JSON 형식의 테이블 정의를 만듭니다.

mkdef 명령어 사용에 대한 자세한 내용은 외부 데이터 소스의 테이블 정의 파일 만들기를 참조하세요.

mkdef 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--autodetect
이 플래그를 지정하면 CSV 및 JSON 데이터에 스키마 자동 감지가 사용됩니다.
--ignore_unknown_values 또는 -i
이 플래그를 지정하면 스키마에 없는 행의 모든 값이 무시됩니다.
--source_format
소스 데이터의 형식입니다. 가능한 값은 다음과 같습니다.
  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO
  • DATASTORE_BACKUP
  • GOOGLE_SHEETS 기본값은 CSV입니다.

bq partition

partition 명령어는 날짜로 명명된 테이블(YYYYMMDD로 끝남)을 파티션을 나눈 테이블로 변환하는 데 사용됩니다.

partition 명령어 사용에 대한 자세한 내용은 날짜로 분할된 테이블을 수집 시간으로 파티션을 나눈 테이블로 변환을 참조하세요.

partition 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--no_clobber 또는 -n
이 플래그를 지정하면 기존 파티션이 덮어쓰기되지 않습니다. 기본값은 false입니다.
--time_partitioning_expiration
시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.
--time_partitioning_type
테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 현재 하루에 파티션을 한 개씩 생성하는 DAY만 사용할 수 있습니다.

bq query

query 명령어는 제공된 SQL 쿼리를 실행하는 쿼리 작업을 만듭니다.

query 명령어 사용에 대한 자세한 내용은 대화형 및 일괄 쿼리 실행을 참조하세요.

query 명령어는 다음과 같은 명령어별 플래그를 사용합니다.

--allow_large_results
이 플래그를 지정하면 legacy SQL 쿼리에 큰 대상 테이블 크기를 사용 설정할 수 있습니다.
--append_table
이 플래그를 지정하면 데이터가 대상 테이블에 추가됩니다. 기본값은 false입니다.
--batch
이 플래그를 지정하면 쿼리가 일괄 처리 모드로 실행됩니다. 기본값은 false입니다.
--clustering_fields
이 플래그를 지정하면 쿼리의 대상 테이블이 쉼표로 구분된 열 목록을 통해 클러스터링됩니다. 수집 시간으로 파티션을 나눈 테이블이나 DATE 열 또는 TIMESTAMP 열로 파티션을 나눈 테이블을 만들 때는 이 플래그와 함께 시간으로 파티션 나누기 플래그를 사용해야 합니다. 이 플래그를 지정하면 테이블은 파티션으로 나눠진 후 열을 통해 클러스터링됩니다.
--destination_kms_key
대상 테이블 데이터를 암호화하는 데 사용되는 Cloud KMS 키입니다.
--destination_schema
로컬 JSON 스키마 파일의 경로이거나 field:data_type,field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다. 기본값은 ''입니다.
--destination_table
쿼리 결과를 작성하는 대상 테이블의 이름입니다. 기본값은 ''입니다.
--dry_run
이 플래그를 지정하면 쿼리 유효성이 검사되지만 실행되지 않습니다.
--external_table_definition
외부 테이블 쿼리에 사용되는 테이블 이름과 스키마 정의입니다. 스키마는 로컬 JSON 스키마 파일의 경로 또는 field:data_type,field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다. 테이블 이름과 스키마를 제공하는 형식은 table::path_to_file 또는 table::schema@source_format=cloud_storage_uri입니다. 이 플래그를 반복하면 테이블을 여러 개 쿼리할 수 있습니다.
--flatten_results
이 플래그를 지정하면 legacy SQL 쿼리 결과에서 중첩 필드와 반복 필드가 평면화됩니다. 기본값은 true입니다.
--label
key:value 형식으로 쿼리 작업에 적용할 라벨입니다. 여러 개의 라벨을 지정하려면 이 플래그를 반복합니다.
--max_rows 또는 -n
쿼리 결과에서 반환할 행 수를 지정하는 정수입니다. 기본값은 100입니다.
--maximum_bytes_billed
쿼리에 청구되는 바이트를 제한하는 정수입니다. 이 한도를 초과하는 쿼리는 실패하고 요금은 청구되지 않습니다. 이 플래그를 지정하지 않으면 청구되는 바이트는 프로젝트 기본값으로 설정됩니다.
--min_completion_ratio
[실험용] 쿼리가 반환되기 전에 검사해야 하는 데이터의 최소 비율을 지정하는 0과 1.0 사이의 숫자입니다. 설정하지 않으면 기본 서버 값 1.0이 사용됩니다.
--parameter
쿼리 매개변수 목록이 포함된 JSON 파일이거나 name:type:value 형식의 쿼리 매개변수입니다. 이름이 비어 있으면 위치 매개변수가 생성됩니다. name::value 또는 ::value 형식의 STRING 값을 사용하려면 type을 생략해도 됩니다. NULL은 null 값을 생성합니다. 이 플래그를 반복하면 매개변수를 여러 개 지정할 수 있습니다.
--replace
이 플래그를 지정하면 대상 테이블이 쿼리 결과로 덮어쓰기됩니다. 기본값은 false입니다.
--require_cache
이 플래그를 지정하면 결과를 캐시에서 검색할 수 있는 경우에만 쿼리가 실행됩니다.
--require_partition_filter
이 플래그를 지정하면 제공된 테이블에 대한 쿼리에 파티션 필터가 필요합니다. 파티션을 나눈 테이블에만 이 플래그를 사용할 수 있습니다.
--rpc
이 플래그를 지정하면 REST API jobs.insert 메서드 대신 rpc 스타일 쿼리가 사용됩니다. 기본값은 false입니다.
--schedule
쿼리를 반복 예약 쿼리로 만듭니다. 쿼리 실행 빈도에 대한 일정이 필요합니다. 예를 들면 다음과 같습니다.
  • --schedule='every 24 hours'
  • --schedule='every 3 hours'
--schema_update_option

로드 작업이나 쿼리 작업에서 데이터를 테이블에 추가하거나 테이블 파티션을 덮어쓸 때 대상 테이블의 스키마 업데이트 방법을 지정합니다. 가능한 값은 다음과 같습니다.

  • ALLOW_FIELD_ADDITION: 새 필드를 추가하도록 허용
  • ALLOW_FIELD_RELAXATION: REQUIRED 필드를 NULLABLE로 완화하도록 허용

여러 스키마 업데이트 옵션을 지정하려면 이 플래그를 반복합니다.

--start_row 또는 -s

쿼리 결과에서 반환할 첫 번째 행을 지정하는 정수입니다. 기본값은 0입니다.

--target_dataset

--schedule로 지정하면 예약된 쿼리의 대상 데이터세트를 업데이트합니다. 쿼리는 DDL 또는 DML이어야 합니다.

--time_partitioning_expiration

시간 기준 파티션을 삭제할 시간을 초 단위로 지정하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 지정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기준 파티션 나누기를 사용 설정하고 파티션 유형을 설정합니다. 현재 하루에 파티션을 한 개씩 생성하는 DAY만 사용할 수 있습니다.

--udf_resource

이 플래그는 legacy SQL 쿼리에만 적용됩니다. 이 플래그를 지정하면 플래그는 legacy SQL 쿼리에 사용되는 맞춤설정 함수 리소스로 즉시 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로가 됩니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

--use_cache

이 플래그를 지정하면 쿼리 결과가 캐시됩니다. 기본값은 true입니다.

--use_legacy_sql

false로 설정하면 표준 SQL 쿼리가 실행됩니다. 기본값은 true입니다(이전 SQL 사용).

bq rm

rm 명령어는 데이터세트, 테이블, 보기 또는 전송 구성을 삭제합니다.

rm 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

rm 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--dataset 또는 -d
이 플래그를 지정하면 데이터세트가 삭제됩니다. 기본값은 false입니다.
--force 또는 -f
이 플래그를 지정하면 메시지가 표시되지 않고 테이블, 보기 또는 데이터세트가 삭제됩니다. 기본값은 false입니다.
--model 또는 -m
이 플래그를 지정하면 BigQuery ML 모델이 삭제됩니다.
--recursive 또는 -r
이 플래그를 지정하면 데이터세트와 테이블, 테이블 데이터 또는 모델이 삭제됩니다. 기본값은 false입니다.
--table 또는 -t
이 플래그를 지정하면 테이블이 삭제됩니다. 기본값은 false입니다.
--transfer_config
이 플래그를 지정하면 전송 구성이 삭제됩니다. 기본값은 false입니다.

bq show

show 명령어는 객체에 대한 정보를 표시합니다.

show 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

show 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--dataset 또는 -d
이 플래그를 지정하면 데이터세트에 대한 정보를 표시합니다. 기본값은 false입니다.
--encryption_service_account
이 플래그를 지정하면 사용자의 서비스 계정이 있는 경우 표시가 되고 없는 경우에는 새로 생성됩니다. 기본값은 false입니다.
--job 또는 -j
이 플래그를 지정하면 작업 정보가 표시됩니다. 기본값은 false입니다.
--model 또는 -m
이 플래그를 지정하면 BigQuery ML 모델 정보가 표시됩니다.
--schema
이 플래그를 지정하면 테이블의 스키마만 표시됩니다. 기본값은 false입니다.
--transfer_config
이 플래그를 지정하면 전송 구성 정보가 표시됩니다. 기본값은 false입니다.
--transfer_run
이 플래그를 지정하면 전송 정보가 표시됩니다. 기본값은 false입니다.
--view
이 플래그를 지정하면 보기 정보가 표시됩니다. 기본값은 false입니다.

bq update

update 명령어는 데이터세트, 테이블, 보기, 모델 또는 전송 구성을 업데이트합니다.

update 명령어 사용에 대한 자세한 내용은 다음을 참조하세요.

update 명령어는 다음과 같은 명령별 플래그를 사용합니다.

--clear_label
key: 형식을 사용하여 라벨을 삭제합니다. 이 플래그를 반복하면 라벨을 여러 개 삭제할 수 있습니다.
--dataset 또는 -d
데이터세트를 업데이트합니다. 기본값은 false입니다.
--default_partition_expiration

데이터세트에서 새로 생성된 파티션을 나눈 테이블의 모든 파티션에 기본 만료 시간을 초 단위로 지정하는 정수입니다. 이 플래그에는 최솟값이 없습니다.

파티션 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값으로 설정됩니다. 이 속성을 설정한 경우 데이터세트 수준의 기본 테이블 만료 시간이 있으면 재정의됩니다. 파티션을 나눈 테이블을 만들거나 업데이트할 때 --time_partitioning_expiration 플래그를 지정하면 테이블 수준의 파티션 만료 시간이 데이터세트 수준의 기본 파티션 만료 시간보다 우선 적용됩니다. 기존 만료 시간을 삭제하려면 0을 지정합니다.

--default_table_expiration

데이터세트에 새로 생성된 테이블의 기본 수명을 초 단위로 업데이트하는 정수입니다. 만료 시간은 현재 UTC 시간에 이 값을 더한 값으로 설정됩니다. 기존 만료 시간을 삭제하려면 0을 지정합니다.

--description

데이터세트, 테이블, 모델 또는 보기의 설명을 업데이트합니다.

--display_name

전송 구성의 표시 이름을 업데이트합니다. 기본값은 ''입니다.

--etag

ETag가 일치하는 경우에만 리소스를 업데이트합니다.

--expiration

테이블, 보기 또는 모델의 만료 시간을 초 단위로 업데이트하는 정수입니다. 0을 지정하면 만료 시간이 삭제됩니다.

--external_table_definition

지정된 테이블 정의로 외부 테이블을 업데이트합니다. 스키마는 로컬 JSON 스키마 파일의 경로 또는 field:data_type,field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다. 테이블 이름과 스키마를 제공하는 형식은 table::path_to_file 또는 table::schema@source_format=cloud_storage_uri입니다.

--model 또는 -m

BigQuery ML 모델의 메타데이터를 업데이트합니다.

--params 또는 -p

JSON 형식 {"parameter":"value"}의 전송 구성 매개변수를 업데이트합니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery Data Transfer Service 소개를 참조하세요.

--refresh_window_days

전송 구성의 업데이트된 새로고침 기간을 일 단위로 지정하는 정수입니다.

--schema

로컬 JSON 스키마 파일의 경로이거나 field:data_type,field:data_type 형식의 쉼표로 구분된 열 정의 목록입니다. 기본값은 ''입니다.

--set_label

key:value 형식으로 업데이트할 라벨입니다. 이 플래그를 반복하면 라벨을 여러 개 업데이트할 수 있습니다.

--source

리소스를 업데이트하는 데 사용되는 페이로드가 포함된 로컬 JSON 파일의 경로입니다. 예를 들어 이 플래그를 사용하여 업데이트된 access 속성이 있는 데이터세트 리소스가 포함된 JSON 파일을 지정할 수 있습니다. 이 파일은 데이터세트의 액세스 제어를 덮어쓰는 데 사용됩니다.

--table 또는 -t

이 플래그를 지정하면 테이블이 업데이트됩니다. 기본값은 false입니다.

--target_dataset

이 플래그를 지정하면 전송 구성의 대상 데이터세트가 업데이트됩니다. 기본값은 ''입니다.

--time_partitioning_expiration

시간 기반 파티션을 삭제할 시간을 초 단위로 업데이트하는 정수입니다. 만료 시간은 파티션의 UTC 날짜에 정수 값을 더한 값입니다. 음수는 만료 시간이 없음을 의미합니다.

--time_partitioning_field

시간 기준 파티션을 만드는 방법을 확인하는 데 사용되는 필드를 업데이트합니다. 이 값을 사용하지 않고 시간 기준 파티션 나누기를 사용 설정하면 로드 시간을 기준으로 테이블 파티션이 나눠집니다.

--time_partitioning_type

테이블의 시간 기반 파티션 나누기 유형을 업데이트합니다. 현재 하루에 파티션을 한 개씩 생성하는 DAY만 사용할 수 있습니다.

--transfer_config

이 플래그를 지정하면 전송 구성이 업데이트됩니다. 기본값은 false입니다.

--update_credentials

이 플래그를 지정하면 전송 구성 사용자 인증 정보가 업데이트됩니다. 기본값은 false입니다.

--use_legacy_sql

이 플래그를 false로 설정하면 보기의 SQL 쿼리를 legacy SQL에서 표준 SQL로 업데이트합니다. 기본값은 true입니다(legacy SQL 사용).

--view

이 플래그를 지정하면 보기의 SQL 쿼리가 업데이트됩니다. 기본값은 ''입니다.

--view_udf_resource

보기의 SQL 쿼리에서 즉시 맞춤설정 함수 리소스로 로드되고 평가되는 Cloud Storage URI 또는 로컬 코드 파일의 경로를 업데이트합니다. 이 플래그를 반복하면 파일을 여러 개 지정할 수 있습니다.

bq wait

wait 명령어는 작업이 완료될 때까지 몇 초 동안 대기합니다.

wait 명령어는 --job_id 전역 플래그 및 다음과 같은 명령어별 플래그를 사용합니다.

integer
대기 시간을 지정하는 정수 값입니다(0보다 크거나 같음). 이 값은 플래그가 아니며 명령줄에서 정수를 지정합니다. 0을 입력하면 명령어가 작업이 완료되도록 폴링하고 즉시 결과를 반환합니다. 정수 값을 지정하지 않으면 명령어는 계속 대기합니다.
--fail_on_error
이 플래그를 지정하면 대기 시간이 경과한 후에 작업이 여전히 실행 중이거나 실패로 끝나면 오류와 함께 종료됩니다. 기본값은 true입니다.
--wait_for_status

이 플래그를 지정하면 종료되기 전에 특정 작업 상태가 대기합니다. 가능한 값은 다음과 같습니다.

  • PENDING
  • RUNNING
  • DONE

기본값은 DONE입니다.

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

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

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