bq 명령줄 도구 참조

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

전역 플래그

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

--api

호출할 API 끝점입니다. 기본값은 https://www.googleapis.com입니다.

--api_version

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

--apilog

모든 API 요청 및 응답을 이 플래그로 지정된 파일에 기록합니다. stdoutstderr를 사용할 수도 있습니다. 빈 문자열('')을 지정하면 stdout로 리디렉션됩니다.

--application_default_credential_file

자세한 내용은 서버 간 프로덕션 애플리케이션 인증 설정을 참조하세요. 기본값은 ''입니다.

--bigqueryrc

명령줄 도구의 구성 파일에 대한 경로입니다. 구성 파일은 플래그의 새로운 기본값을 지정하며, 명령줄에 플래그를 지정하여 재정의할 수 있습니다. --bigqueryrc 플래그가 지정되지 않으면 BIGQUERYRC 환경 변수가 사용됩니다. 이를 지정하지 않으면 경로 ~/.bigqueryrc가 사용됩니다. 기본값은 $HOME/.bigqueryrc입니다.

--ca_certificates_file

CA 인증서 파일의 위치입니다. 기본값은 ''입니다.

--credential_file

OAuth 토큰을 저장하는 데 사용되는 파일 이름입니다. 기본값은 $HOME/.bigquery.v2.token입니다.

--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입니다.

--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에만 적용됩니다. 자세한 내용은 작업 ID 생성을 참조하세요.

--job_property

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

--location

지역 또는 다중 지역 위치에 해당하는 문자열입니다. 위치 플래그는 다음 명령어에 의해 지원됩니다. 다른 모든 명령어는 --location 플래그를 무시합니다.

데이터세트가 US 또는 EU 다중 지역 위치에서 생성된 경우 이러한 명령어에서 --location 플래그는 선택사항입니다.

--max_rows_per_request

읽기당 반환되는 최대 행 수를 지정하는 정수입니다.

--project_id

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

--proxy_address

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

--proxy_password

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

--proxy_port

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

--proxy_username

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

--quiet 또는 -q

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

--service_account

이 서비스 계정 이메일 주소를 승인을 위해 사용합니다. 예: 1234567890@developer.gserviceaccount.com. 기본값은 ''입니다.

--service_account_credential_file

서비스 계정의 자격증명 저장소로 사용되는 파일입니다. 서비스 계정을 사용하는 경우 이 플래그를 설정해야 합니다.

--service_account_private_key_file

서비스 계정 비공개 키가 포함된 파일입니다. --service_account 플래그가 지정된 경우 이 플래그는 필수입니다. 기본값은 ''입니다.

--service_account_private_key_password

비공개 키 암호입니다. 이 암호는 키를 만들 때 키에 설정한 암호와 일치해야 합니다. 기본값은 notasecret입니다.

--synchronous_mode 또는 -sync

true로 설정하면 결과를 반환하기 전에 명령어가 완료되기를 기다리고, 작업 완료 상태를 오류 코드로 사용합니다. false로 설정하면 작업이 생성되고 성공적인 완료 상태가 오류 코드에 사용됩니다. 기본값은 true입니다.

--trace

token:[TOKEN]으로 지정되어 API 요청에 포함되는 추적 토큰입니다.

--use_gce_service_account

Google Compute Engine에서 실행할 때 저장된 사용자 인증 정보 대신 서비스 계정 사용자 인증 정보를 사용하려면 이 플래그를 지정합니다. 자세한 내용은 인스턴스의 서비스 계정 만들기 및 사용 설정을 참조하세요. 기본값은 false입니다.

명령어별 플래그

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 명령어는 테이블 데이터를 Google Cloud Storage로 내보내는 데 사용됩니다.

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

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

--compression

내보내는 파일에 사용할 압축 유형입니다. 가능한 값은 GZIPNONE입니다. 기본값은 NONE입니다.

--destination_format

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

  • CSV
  • NEWLINE_DELIMITED_JSON
  • AVRO

기본값은 CSV입니다.

--field_delimiter 또는 -F

출력 파일의 열 사이의 경계를 나타내는 문자입니다. \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 데이터에 스키마 자동 감지가 사용됩니다.

--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입니다.

--null_marker

CSV 데이터의 NULL 값을 나타내는 선택적 사용자 설정 문자열입니다.

--projection_fields

DATASTORE_BACKUP으로 설정된 --source_format과 함께 사용할 경우 Cloud Datastore 백업에서 로드할 항목 속성을 나타냅니다. 속성 이름은 대소문자를 구분하며 최상위 속성을 참조해야 합니다. 기본값은 ''입니다. (쉼표로 구분된 목록)

--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(시험용)

--time_partitioning_expiration

시간 기반의 파티션을 삭제할 시간(초 단위)을 지정하는 정수입니다. 만료 시간은 생성 시간에 만료 값을 더한 값입니다. 음수는 만료가 없음을 나타냅니다.

--time_partitioning_field

시간 기반의 파티션을 만드는 방법을 결정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기반의 파티션 나누기가 설정된 경우, 로드 시간에 따라 테이블의 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기반의 파티션 나누기를 설정하고 파티션 유형을 설정합니다. 현재 가능한 유일한 값은 하루에 하나의 파티션을 생성하는 DAY입니다.

bq ls

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

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

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

--all 또는 -a

이 플래그를 지정하면 모든 결과, 즉 모든 사용자의 작업 또는 모든 데이터세트의 작업(숨겨진 작업 포함)을 표시합니다. 전송 구성 또는 전송 실행을 나열할 때는 이 플래그가 필요하지 않습니다.

--datasets 또는 -d

이 플래그를 지정하면 데이터세트를 나열합니다. 기본값은 false입니다.

--filter

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

  • adwords
  • dcm_dt(DoubleClick Campaign Manager)
  • dfp_dt(DoubleClick for Publishers)
  • youtube_channel
  • youtube_content_owner

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

--jobs 또는 -j

이 플래그를 지정하면 작업을 나열합니다. 기본값은 false입니다.

--max_results 또는 -n

결과의 최대 수를 나타내는 정수입니다.

--message_type

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

  • INFO
  • WARNING
  • ERROR

--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 데이터 전송 서비스에서 mk 명령어를 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

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

--data_location

(이전) 데이터세트의 위치를 지정합니다. 대신 --location 전역 플래그를 사용하세요.

--data_source

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

  • adwords
  • dcm_dt(DoubleClick Campaign Manager)
  • dfp_dt(DoubleClick for Publishers)
  • youtube_channel
  • youtube_content_owner

기본값은 ''입니다.

--dataset 또는 -d

이 플래그를 지정하면 데이터세트를 만듭니다. 기본값은 false입니다.

--default_table_expiration

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

--description

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

--destination_kms_key

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

--display_name

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

--end_time

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

--expiration

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

--external_table_definition

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

--force 또는 -f

이 플래그를 지정하면 already exists 오류를 무시하고 메시지를 표시하지 않고 테이블을 덮어씁니다. 기본값은 false입니다.

--label

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

--params 또는 -p

JSON 형식 {"[PARAMETER]":"[VALUE]"}의 전송 구성을 위한 매개변수입니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery 데이터 전송 서비스 소개를 참조하세요.

--refresh_window_days

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

--schema

로컬 JSON 스키마 파일의 경로 또는 [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE] 형식의 쉼표로 구분된 열 정의의 목록입니다. 기본값은 ''입니다.

--start_time

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

--table 또는 -t

이 플래그를 지정하면 테이블을 만듭니다. 기본값은 false입니다.

--target_dataset

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

--time_partitioning_expiration

시간 기반의 파티션을 삭제할 시간(초 단위)을 지정하는 정수입니다. 만료 시간은 생성 시간에 만료 값을 더한 값입니다. 음수는 만료가 없음을 나타냅니다.

--time_partitioning_field

시간 기반의 파티션을 만드는 방법을 결정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기반의 파티션 나누기가 설정된 경우, 로드 시간에 따라 테이블의 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기반의 파티션 나누기를 설정하고 파티션 유형을 설정합니다. 현재 가능한 유일한 값은 하루에 하나의 파티션을 생성하는 DAY입니다.

--transfer_config

이 플래그를 지정하면 전송 구성을 만듭니다.

--transfer_run

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

--use_legacy_sql

false로 설정하면 표준 SQL 쿼리를 사용하여 보기를 만듭니다. 기본값은 true입니다(이전 SQL 사용).

--view

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

--view_udf_resource

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

bq mkdef

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

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

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

--autodetect

이 플래그를 지정하면 CSV 및 JSON 데이터에 스키마 자동 감지가 사용됩니다.

--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

시간 기반의 파티션을 삭제할 시간(초 단위)을 지정하는 정수입니다. 만료 시간은 생성 시간에 만료 값을 더한 값입니다. 음수는 만료가 없음을 나타냅니다.

--time_partitioning_type

테이블에 시간 기반의 파티션 나누기를 설정하고 파티션 유형을 설정합니다. 현재 가능한 유일한 값은 하루에 하나의 파티션을 생성하는 DAY입니다.

bq query

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

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

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

--allow_large_results

이 플래그를 지정하면 이전 SQL 쿼리에 큰 대상 테이블 크기를 사용할 수 있습니다.

--append_table

이 플래그를 지정하면 대상 테이블에 데이터를 추가합니다. 기본값은 false입니다.

--batch

이 플래그를 지정하면 쿼리를 배치 모드로 실행합니다. 기본값은 false입니다.

--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

이 플래그를 지정하면 이전 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

이 플래그를 지정하면 결과를 캐시에서 검색할 수 있는 경우에만 쿼리를 실행합니다.

--rpc

이 플래그를 지정하면 REST API jobs.insert 메소드 대신 rpc 스타일 쿼리를 사용합니다. 기본값은 false입니다.

--schema_update_option

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

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

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

--start_row 또는 -s

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

--time_partitioning_expiration

시간 기반의 파티션을 삭제할 시간(초 단위)을 지정하는 정수입니다. 만료 시간은 생성 시간에 만료 값을 더한 값입니다. 음수는 만료가 없음을 나타냅니다.

--time_partitioning_field

시간 기반의 파티션을 만드는 방법을 결정하는 데 사용되는 필드입니다. 이 값을 사용하지 않고 시간 기반의 파티션 나누기가 설정된 경우, 로드 시간에 따라 테이블의 파티션이 나눠집니다.

--time_partitioning_type

테이블에 시간 기반의 파티션 나누기를 설정하고 파티션 유형을 설정합니다. 현재 가능한 유일한 값은 하루에 하나의 파티션을 생성하는 DAY입니다.

--udf_resource

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입니다.

--recursive 또는 -r

이 플래그를 지정하면 데이터세트와 테이블(그리고 테이블 데이터)을 삭제합니다. 기본값은 false입니다.

--table 또는 -t

이 플래그를 지정하면 테이블을 삭제합니다. 기본값은 false입니다.

--transfer_config

이 플래그를 지정하면 전송 구성을 삭제합니다. 기본값은 false입니다.

bq show

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

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

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

--dataset 또는 -d

이 플래그를 지정하면 데이터세트에 대한 정보를 표시합니다. 기본값은 false입니다.

--encryption_service_account

이 플래그를 지정하면 사용자의 서비스 계정이 있는 경우 이를 표시하거나, 없는 경우 새로 만듭니다. 기본값은 false입니다.

--job 또는 -j

이 플래그를 지정하면 작업에 대한 정보를 표시합니다. 기본값은 false입니다.

--schema

이 플래그를 지정하면 테이블의 스키마만 표시합니다. 기본값은 false입니다.

--transfer_config

이 플래그를 지정하면 전송 구성에 대한 정보를 표시합니다. 기본값은 false입니다.

--transfer_run

이 플래그를 지정하면 전송에 대한 정보를 표시합니다. 기본값은 false입니다.

--view

이 플래그를 지정하면 보기에 대한 정보를 표시합니다. 기본값은 false입니다.

bq update

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

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

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

--clear_label

[KEY]: 형식을 사용하여 라벨을 제거합니다. 여러 개의 라벨을 제거하려면 이 플래그를 반복합니다.

--dataset 또는 -d

데이터세트를 업데이트합니다. 기본값은 false입니다.

--default_table_expiration

데이터세트에서 새로 생성된 테이블의 기본 수명(초)을 업데이트하는 정수입니다. 만료 시간은 현재 시간에 이 값을 더한 값으로 설정됩니다. 기존 만료를 삭제하려면 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]입니다.

--params 또는 -p

JSON 형식 {"[PARAMETER]":"[VALUE]"}의 전송 구성을 위한 매개변수를 업데이트합니다. 매개변수는 데이터 소스에 따라 다릅니다. 자세한 내용은 BigQuery 데이터 전송 서비스 소개를 참조하세요.

--refresh_window_days

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

--schema

로컬 JSON 스키마 파일의 경로 또는 [FIELD]:[DATA_TYPE],[FIELD]:[DATA_TYPE] 형식의 쉼표로 구분된 열 정의의 목록입니다. 기본값은 ''입니다.

--set_label

[KEY]:[VALUE] 형식으로 업데이트할 라벨입니다. 여러 라벨을 업데이트하려면 이 플래그를 반복합니다.

--source

리소스를 업데이트하는 데 사용되는 페이로드가 포함된 로컬 JSON 파일의 경로입니다.

--table 또는 -t

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

--target_dataset

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

--time_partitioning_expiration

시간 기반의 파티션을 삭제할 시간(초 단위)을 업데이트하는 정수입니다. 만료 시간은 생성 시간에 만료 값을 더한 값입니다. 음수는 만료가 없음을 나타냅니다.

--time_partitioning_field

시간 기반의 파티션을 만드는 방법을 결정하는 데 사용되는 필드를 업데이트합니다. 이 값을 사용하지 않고 시간 기반의 파티션 나누기가 설정된 경우, 로드 시간에 따라 테이블의 파티션이 나눠집니다.

--time_partitioning_type

테이블의 시간 기반 파티션 나누기 유형을 업데이트합니다. 현재 가능한 유일한 값은 하루에 하나의 파티션을 생성하는 DAY입니다.

--transfer_config

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

--update_credentials

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

--use_legacy_sql

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

--view

이 플래그를 지정하면 보기에 대한 SQL 쿼리를 업데이트합니다. 기본값은 ''입니다.

--view_udf_resource

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

bq wait

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

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

[INTEGER]

[INTEGER]:
대기 시간을 지정하는, 0보다 크거나 같은 정수 값입니다. 이 값은 플래그가 아니며 명령줄에서 정수를 지정합니다. 0을 입력하면 명령어가 작업 완료를 위해 폴링하고 즉시 결과를 반환합니다. 정수 값을 지정하지 않으면 명령은 영원히 기다립니다.

--fail_on_error

이 플래그를 지정하면 대기 시간이 경과한 후에 작업이 여전히 실행 중이거나 실패로 끝나면 오류와 함께 종료합니다. 기본값은 true입니다.

--wait_for_status

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

  • PENDING
  • RUNNING
  • DONE

기본값은 DONE입니다.

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

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

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