작업 관리
BigQuery 작업을 제출한 후에는 작업 세부정보 보기, 작업 나열, 작업 취소, 작업 반복 또는 작업 메타데이터 삭제를 수행할 수 있습니다.
작업이 제출되면 다음 상태 중 하나가 될 수 있습니다.
PENDING
: 작업이 예약되어 실행을 기다리는 중입니다.RUNNING
: 작업이 진행 중입니다.DONE
: 작업이 완료되었습니다. 오류 없이 작업이 완료되면 BigQuery가 이 상태를SUCCESS
로 보고합니다. 오류와 함께 작업이 완료되면 BigQuery가 이 상태를FAILURE
로 보고합니다.
시작하기 전에
사용자에게 이 문서의 각 작업을 수행하는 데 필요한 권한을 부여하는 Identity and Access Management(IAM) 역할을 부여합니다. 태스크를 수행하는 데 필요한 권한(있는 경우)이 태스크의 '필요한 권한' 섹션에 나열됩니다.
작업 세부정보 보기
Google Cloud 콘솔, bq 명령줄 도구, API, 클라이언트 라이브러리를 사용하여 작업 세부정보를 확인할 수 있습니다. 세부정보에는 작업 유형, 작업 상태, 작업을 만든 사용자와 같은 데이터 및 메타데이터가 포함됩니다.
필수 권한
작업 세부정보를 보려면 bigquery.jobs.get
IAM 권한이 필요합니다.
이 권한은 만들려는 작업에 대해 사용자에게 자동으로 부여됩니다.
다음과 같은 사전 정의된 각 IAM 역할에는 작업 세부정보를 확인하는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
(프로젝트의 모든 작업 세부정보를 볼 수 있음)roles/bigquery.user
(작업 세부정보를 볼 수 있음)roles/bigquery.jobUser
(작업 세부정보를 볼 수 있음)
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
작업 세부정보 보기
전송 작업 세부정보를 보려면 다음 단계를 따르세요.
콘솔
BigQuery 페이지로 이동합니다.
작업 기록 창을 펼칩니다.
확인하려는 작업 기록 유형을 선택합니다.
- 최근 작업의 정보를 표시하려면 개인 기록을 클릭합니다.
- 프로젝트의 최근 작업 정보를 표시하려면 프로젝트 기록을 클릭합니다.
작업 세부정보를 보려면 작업을 클릭합니다.
bq
bq show
명령어를 --job=true
플래그 및 작업 ID와 함께 실행합니다.
작업 ID를 제공할 때 정규화된 ID 또는 간단한 형식을 사용할 수 있습니다. 예를 들어 Google Cloud 콘솔에 나열된 작업 ID는 정규화된 형식이며 프로젝트 및 위치를 포함합니다.
my-project-1234:US.bquijob_123x456_123y123z123c
명령줄 도구의 작업 ID는 프로젝트 ID와 위치가 포함되지 않은 간단한 형식을 통해 나열됩니다.
bquijob_123x456_123y123z123c
작업 위치를 지정하려면 --location
플래그를 제공하고 값을 사용자 위치로 설정합니다. 정규화된 작업 ID를 사용하는 경우 이 플래그는 선택사항입니다. --location
플래그를 포함하고 정규화된 작업 ID를 사용하는 경우 --location
플래그는 무시됩니다.
다음 명령어는 작업에 대한 정보를 요청합니다.
bq --location=LOCATION show --job=true JOB_ID
다음을 바꿉니다.
LOCATION
: 작업이 실행되는 위치의 이름입니다. 예를 들어 도쿄 리전에서 BigQuery를 사용하는 경우 플래그 값을asia-northeast1
로 설정합니다..bigqueryrc
파일을 사용하여 위치 기본값을 설정할 수 있습니다. 위치가 작업 ID의 일부로 지정되지 않았거나--location
플래그를 사용하여 지정되지 않은 경우 기본 위치가 사용됩니다.JOB_ID
: 작업의 ID입니다.
예시
다음 명령어는 myproject
에서 실행 중인 US.bquijob_123x456_123y123z123c
작업에 대한 요약 정보를 가져옵니다.
bq show --job=true myproject:US.bquijob_123x456_123y123z123c
출력은 다음과 비슷합니다.
Job Type State Start Time Duration User Email Bytes Processed Bytes Billed Billing Tier Labels ---------- --------- ----------------- ---------- ------------------- ----------------- -------------- -------------- -------- extract SUCCESS 06 Jul 11:32:10 0:01:41 user@example.com
전체 작업 세부정보를 보려면 다음을 입력하세요.
bq show --format=prettyjson --job=true myproject:US.bquijob_123x456_789y123z456c
출력은 다음과 비슷합니다.
{ "configuration": { "extract": { "compression": "NONE", "destinationUri": "[URI removed]", "destinationUris": [ "[URI removed]" ], "sourceTable": { "datasetId": "github_repos", "projectId": "bigquery-public-data", "tableId": "commits" } } }, "etag": "\"[etag removed]\"", "id": "myproject:bquijob_123x456_789y123z456c", "jobReference": { "jobId": "bquijob_123x456_789y123z456c", "projectId": "[Project ID removed]" }, "kind": "bigquery#job", "selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/federated-testing/jobs/bquijob_123x456_789y123z456c", "statistics": { "creationTime": "1499365894527", "endTime": "1499365894702", "startTime": "1499365894702" }, "status": { "errorResult": { "debugInfo": "[Information removed for readability]", "message": "Operation cannot be performed on a nested schema. Field: author", "reason": "invalid" }, "errors": [ { "message": "Operation cannot be performed on a nested schema. Field: author", "reason": "invalid" } ], "state": "DONE" }, "user_email": "user@example.com" }
API
jobs.get을 호출하고 jobId
및 projectId
매개변수를 제공합니다. (선택사항) location
매개변수를 제공하고 값을 작업이 실행되는 위치로 설정합니다. 위치를 포함하는 정규화된 작업 ID(예: my-project-1234:US.bquijob_123x456_123y123z123c
)를 사용하는 경우 이 매개변수는 선택사항입니다.
Go
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
작업 문제 해결에 더 많은 정보가 필요한 경우 INFORMATION_SCHEMA.JOBS*
뷰 및 로그를 참조하세요.
프로젝트의 작업 나열
BigQuery는 지난 6개월 동안 실행된 작업의 기록을 보존합니다.
작업 기록은 다음 방법으로 확인할 수 있습니다.
- Google Cloud 콘솔 사용
bq ls
명령어 사용jobs.list
API 메서드 호출- 클라이언트 라이브러리 사용
작업 기록에는 상태가 RUNNING
인 작업과 DONE
인 작업이 포함됩니다(상태가 SUCCESS
또는 FAILURE
로 표시됨).
필수 권한
프로젝트에서 만든 모든 작업을 나열하려면 bigquery.jobs.create
IAM 권한이 필요합니다. 프로젝트의 모든 사용자가 만든 모든 작업을 나열하려면 bigquery.jobs.list
IAM 권한이 필요합니다. 본인이 생성한 작업의 전체 세부정보만 볼 수 있습니다. 다른 사용자가 생성한 작업의 세부정보가 수정됩니다.
사전 정의된 다음 각 IAM 역할에는 작업을 나열하는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
(프로젝트의 모든 작업을 나열할 수 있음)roles/bigquery.user
(프로젝트의 모든 작업을 나열할 수 있음)roles/bigquery.jobUser
(작업을 나열할 수 있음)
세부정보와 함께 프로젝트의 모든 작업을 나열하려면 bigquery.jobs.listAll
IAM 권한이 필요합니다.
다음과 같은 사전 정의된 각 IAM 역할에는 세부정보를 포함하여 모든 작업을 나열하는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
roles/bigquery.resourceAdmin
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
작업 표시
BigQuery는 모든 위치에 대해 작업을 나열합니다.
한 프로젝트의 작업을 나열하려면 다음을 수행합니다.
콘솔
BigQuery 페이지로 이동합니다.
작업 기록 창을 펼칩니다.
프로젝트의 모든 작업을 나열하려면 프로젝트 기록을 클릭합니다. 프로젝트 소유자가 아니라면 프로젝트의 모든 작업을 볼 수 있는 권한이 없을 수도 있습니다. 최근 작업이 먼저 나열됩니다.
작업을 나열하려면 개인 기록을 클릭합니다.
bq
다음 플래그 중 하나를 사용해 bq ls
명령어를 실행합니다.
--jobs=true
또는-j
: 작업을 나열할 리소스 유형으로 식별합니다.--all=true
또는-a
: 모든 사용자의 작업을 나열합니다. 모든 작업의 전체(수정되지 않은) 세부정보를 보려면bigquery.jobs.listAll
권한이 있어야 합니다.--min_creation_time
: 제공된 타임스탬프 값 이후의 작업을 나열합니다. 이 값은 밀리초 단위의 Unix epoch 타임스탬프로 표시됩니다.--max_creation_time
: 제공된 타임스탬프 값 이전의 작업을 나열합니다. 이 값은 밀리초 단위의 Unix epoch 타임스탬프로 표시됩니다.--max_results
또는-n
은 결과를 제한합니다. 기본값은 결과 50개입니다.
bq ls --jobs=true --all=true \ --min_creation_time=MIN_TIME \ --max_creation_time=MAX_TIME \ --max_results=MAX_RESULTS \ PROJECT_ID
다음을 바꿉니다.
MIN_TIME
: 밀리초 단위의 Unix epoch 타임스탬프를 나타내는 정수입니다.MAX_TIME
: 밀리초 단위의 Unix epoch 타임스탬프를 나타내는 정수입니다.MAX_RESULTS
: 반환된 작업 수를 나타내는 정수PROJECT_ID
: 나열하려는 작업이 포함된 프로젝트의 ID. 기본 프로젝트를 설정하면PROJECT_ID
매개변수를 제공할 필요가 없습니다.
예시
다음 명령어는 현재 사용자의 모든 작업을 나열합니다. 이 명령어를 실행하려면 bigquery.jobs.list
권한이 필요합니다.
bq ls --jobs=true myproject
다음 명령어는 모든 사용자의 모든 작업을 나열합니다. 이 명령어를 실행하려면 bigquery.jobs.listAll
권한이 필요합니다.
bq ls --jobs=true --all=true myproject
다음 명령어는 myproject
의 최근 작업 10개를 나열합니다.
bq ls --jobs=true --all=true --max_results=10 myproject
다음 명령어는 2032년 3월 3일 오전 4:04:00 이전에 제출된 모든 작업을 나열합니다. 이 타임스탬프(밀리초)는 정수 값 1961899440000
과 동일합니다.
bq ls --jobs=true --max_creation_time=1961899440000
API
jobs.list를 호출하고 projectId
매개변수를 제공합니다. 모든 사용자의 작업을 나열하려면 allUsers
매개변수를 true
로 설정합니다. allUsers
를 true
로 설정하려면 bigquery.jobs.listAll
권한이 필요합니다.
Go
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
작업 취소
다음과 같은 방법으로 RUNNING
또는 PENDING
작업을 취소할 수 있습니다.
- Google Cloud 콘솔 사용
bq cancel
명령어 사용- SQL 쿼리에서
BQ.JOBS.CANCEL
시스템 프로시져 사용 jobs.cancel
API 메서드 호출- 클라이언트 라이브러리 사용
직업을 취소할 수 있어도 성공은 보장되지 않습니다. 취소 요청이 제출될 때 작업이 이미 완료되었거나, 작업을 취소할 수 없는 단계가 되었을 수 있습니다.
필수 권한
작업을 취소하려면 bigquery.jobs.update
IAM 권한이 필요합니다.
이 권한은 만들려는 작업에 대해 사용자에게 자동으로 부여됩니다.
다음과 같은 사전 정의된 각 IAM 역할에는 작업을 취소하는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
(프로젝트의 모든 작업을 취소할 수 있음)roles/bigquery.user
(작업을 취소할 수 있음)roles/bigquery.jobUser
(작업을 취소할 수 있음)
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
작업 취소
일반적으로 작업 취소를 완료하는 데 1분 미만이 소요됩니다.
작업을 취소하려면 다음을 수행합니다.
콘솔
BigQuery 페이지로 이동합니다.
새 쿼리 작성을 클릭하고 쿼리를 입력합니다.
쿼리를 실행하려면 실행을 클릭합니다.
작업을 취소하려면 취소를 클릭합니다.
SQL
BQ.JOBS.CANCEL
시스템 프로시져를 사용합니다.
CALL BQ.JOBS.CANCEL('JOB_ID');
JOB_ID를 취소할 작업의 ID로 바꿉니다.
다른 프로젝트에 있지만 취소하려는 작업과 동일한 리전에 있는 경우 프로젝트 ID도 포함해야 합니다.
CALL BQ.JOBS.CANCEL('PROJECT_ID.JOB_ID');
다음을 바꿉니다.
PROJECT_ID
: 취소할 작업이 포함된 프로젝트의 IDJOB_ID
: 취소할 작업의 ID
프로시져가 즉시 반환되고 잠시 후 BigQuery가 작업을 취소합니다. 작업이 이미 성공했거나 실패한 경우 프로시져가 영향을 주지 않습니다.
bq
JOB_ID
인수로 bq cancel
명령어를 실행합니다. --nosync=true
플래그를 사용하면 취소를 요청하고 결과를 즉시 반환할 수 있습니다. 기본적으로 취소 요청은 완료될 때까지 대기합니다.
JOB_ID
인수를 제공할 때 정규화된 ID 또는 간단한 형식을 사용할 수 있습니다. 예를 들어 Google Cloud 콘솔에 나열된 작업 ID는 정규화된 형식이며 프로젝트 및 위치를 포함합니다.
my-project-1234:US.bquijob_123x456_123y123z123c
bq 명령줄 도구의 작업 ID는 프로젝트 ID와 위치가 포함되지 않은 간단한 형식을 통해 나열됩니다.
bquijob_123x456_123y123z123c
작업 위치를 지정하려면 --location
플래그를 제공하고 값을 사용자 위치로 설정합니다. 정규화된 작업 ID를 사용하는 경우 이 플래그는 선택사항입니다. --location
플래그를 포함하고 정규화된 작업 ID를 사용하는 경우 --location
플래그는 무시됩니다.
다음 명령어는 작업 취소를 요청하고 완료를 기다립니다. 정규화된 작업 ID가 제공되면 --location
플래그는 무시됩니다.
bq --location=LOCATION cancel JOB_ID
다음 명령어는 작업 취소를 요청하고 즉시 결과를 반환합니다. 정규화된 작업 ID가 제공되면 --location
플래그는 무시됩니다.
bq --location=LOCATION --nosync cancel JOB_ID
다음을 바꿉니다.
LOCATION
(선택사항): 작업이 실행되는 위치의 이름입니다. 예를 들어 도쿄 리전에서 BigQuery를 사용하는 경우 플래그 값을asia-northeast1
로 설정합니다..bigqueryrc
파일을 사용하여 위치 기본값을 설정할 수 있습니다.JOB_ID
: 취소할 작업의 ID입니다. Google Cloud 콘솔에서 작업 ID를 복사하면 프로젝트 ID와 위치가 작업 ID에 포함됩니다. 예를 들면my-project-1234:US.bquijob_123x456_123y123z123c
입니다.
예시
다음 명령어는 my-project-1234
프로젝트의 US
멀티 리전 위치에서 실행 중인 my-project-1234:US.bquijob_123x456_123y123z123c
작업을 취소하고 완료를 기다립니다. 정규화된 작업 ID가 사용되므로 위치 플래그가 제공되지 않습니다.
bq cancel my-project-1234:US.bquijob_123x456_123y123z123c
다음 명령어는 my-project-1234
프로젝트의 US
멀티 리전 위치에서 실행 중인 bquijob_123x456_123y123z123c
작업을 취소하고 완료를 기다립니다. 약식 작업 ID가 사용되므로 --location
플래그가 제공됩니다.
bq --location=US cancel bquijob_123x456_123y123z123c
다음 명령어는 my-project-1234
프로젝트의 US
멀티 리전 위치에서 실행 중인 bquijob_123x456_123y123z123c
작업을 취소하고 즉시 반환합니다.
정규화된 작업 ID가 사용되므로 --location
플래그가 제공되지 않습니다.
bq --nosync cancel my-project-1234:US.bquijob_123x456_123y123z123c
API
jobs.cancel을 호출하고 jobId
및 projectId
매개변수를 제공합니다. location
매개변수를 제공하고 값을 작업이 실행되는 위치로 설정합니다.
Go
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 BigQuery Java API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
작업 메타데이터 삭제
bq 명령줄 도구 및 Python 클라이언트 라이브러리를 사용하여 특정 작업에 대해 메타데이터를 삭제할 수 있습니다. BigQuery는 이전 6개월 동안 실행된 작업 기록을 보존합니다. 이 메서드를 사용하여 쿼리 문에 포함될 수 있는 민감한 정보를 삭제할 수 있습니다. 작업 메타데이터는 작업이 완료된 후에만 삭제될 수 있습니다. 해당 작업으로 하위 작업이 생성된 경우에는 하위 작업도 삭제됩니다. 하위 작업 삭제는 허용되지 않습니다. 상위 작업 또는 최상위 작업만 삭제할 수 있습니다.
필수 권한
작업 메타데이터를 삭제하려면 bigquery.jobs.delete
IAM 권한이 필요합니다.
사전 정의된 IAM 역할 roles/bigquery.admin
에는 작업 메타데이터를 삭제하기 위해 필요한 권한이 포함되어 있습니다.
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
작업 메타데이터 삭제
bq
bq rm
명령어를 -j
플래그 및 작업 ID와 함께 실행합니다.
작업 ID를 제공할 때 정규화된 ID 또는 간단한 형식을 사용할 수 있습니다. 예를 들어 Google Cloud 콘솔에 나열된 작업 ID는 정규화된 형식이며 프로젝트 및 위치를 포함합니다.
my-project-1234:US.bquijob_123x456_123y123z123c
bq 명령줄 도구의 작업 ID는 프로젝트 ID와 위치가 포함되지 않은 간단한 형식을 통해 나열됩니다.
bquijob_123x456_123y123z123c
작업 위치를 지정하려면 --location
플래그를 제공하고 값을 사용자 위치로 설정합니다. 정규화된 작업 ID를 사용하는 경우 이 플래그는 선택사항입니다. --location
플래그를 포함하고 정규화된 작업 ID를 사용하는 경우 --location
플래그는 무시됩니다.
다음 명령어는 작업을 삭제합니다.
bq --location=location \ --project_id=project_id \ rm -j job_id
Python
이 샘플을 사용해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참고 문서를 확인하세요.
BigQuery에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
작업 반복
동일한 작업 ID를 사용하는 작업 반복은 불가능합니다. 대신 동일한 구성으로 새 작업을 만듭니다. Google Cloud 콘솔 또는 bq 명령줄 도구에서 새 작업을 제출하면 새 작업 ID가 할당됩니다. API 또는 클라이언트 라이브러리를 사용하여 작업을 제출하려면 새 작업 ID를 생성해야 합니다.
필수 권한
작업을 실행하려면 bigquery.jobs.create
IAM 권한이 필요합니다.
다음과 같은 사전 정의된 각 IAM 역할에는 작업을 실행하는 데 필요한 권한이 포함되어 있습니다.
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.jobUser
BigQuery의 IAM 역할과 권한에 대한 자세한 내용은 사전 정의된 역할 및 권한을 참조하세요.
작업 반복
작업을 반복하려면 다음을 수행합니다.
콘솔
쿼리 작업을 반복하려면 다음을 수행합니다.
BigQuery 페이지로 이동합니다.
작업 기록 창을 펼칩니다.
모든 작업을 나열하려면 개인 기록을 클릭합니다. 프로젝트의 모든 작업을 나열하려면 프로젝트 기록을 클릭합니다.
쿼리 작업을 클릭하여 작업 세부정보를 엽니다.
쿼리를 반복하려면 새 쿼리로 열기를 클릭합니다.
실행을 클릭합니다.
로드 작업을 반복하려면 다음을 수행합니다.
BigQuery 페이지로 이동합니다.
작업 기록 창을 펼칩니다.
모든 작업을 나열하려면 개인 기록을 클릭합니다. 프로젝트의 모든 작업을 나열하려면 프로젝트 기록을 클릭합니다.
로드 작업을 클릭하여 작업 세부정보를 엽니다.
작업을 반복하려면 로드 작업 반복을 클릭합니다.
bq
명령어를 다시 실행하면 BigQuery에서 자동으로 작업을 새로운 작업 ID로 생성합니다.
API
작업을 반복하는 단일 호출 메서드는 없습니다. 특정 작업을 반복하는 방법은 다음과 같습니다.
jobs.get
을 호출하여 반복할 작업의 리소스를 가져옵니다.id, status, statistics 필드를 삭제합니다. jobId 필드를 클라이언트 코드에 의해 생성된 새로운 값으로 변경합니다. 필요한 경우 다른 필드를 변경합니다.
수정된 리소스와 새로운 작업 ID를 사용하여
jobs.insert
를 호출하고 새로운 작업을 시작합니다.