BigQuery에서 쿼리 실행(쿼리 요금 청구) 프로젝트 아이디어
소개
BigQuery를 사용하기 시작한 사람들로부터 자주 쿼리 결제 질문을 받을 수 있습니다.
이번에는 쿼리 과금에 대한 생각을 정리해 보았습니다.
BigQuery 요금(스토리지 요금, 쿼리 요금)의 아이디어는 다음과 같습니다.
공식 문서 요금 페이지
htps : // c ぉ d. 오, ぇ. 코 m / 비 g 쿠에 ry / p 리신 g
데이터를 포함하는 프로젝트와 쿼리를 실행하는 프로젝트가 동일하다면, 둘 다 동일한 프로젝트에 요금이 부과되므로 이해하기 쉽습니다.
그러면 한 프로젝트에 있는 데이터를 다른 부서나 타사에 공유하거나 공유하여 해당 데이터에 대해 쿼리를 실행한 경우에는 어떻게 됩니까?
결론은 쿼리를 실행한 프로젝트에 따라 달라집니다. 처음 작성한 쿼리 수수료 설명에 추가하면 다음과 같습니다.
이미지 다이어그램
쿼리를 실행하는 프로젝트를 구분하는 방법과 전환하는 방법
BigQuery 콘솔 화면
현재 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
현재 PREVIEW의 새로운 UI에서도 마찬가지입니다.
프로젝트를 전환하려면 프로젝트 풀다운에서 다른 프로젝트를 선택합니다.
bq 명령
# プロジェクトが定まらない場合は、クエリが実行できない。
$ bq query --use_legacy_sql=false 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Cannot start a job without a project id.
# --project_id でプロジェクトを指定していたら、そのプロジェクトでクエリを実行する。
$ bq query --use_legacy_sql=false --project_id=sandbox-suzutatsu-bill 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill.
# gcloud config set project でプロジェクトを指定していたら、--project_id が無くてもそのプロジェクトでクエリを実行する。
$ gcloud config set project sandbox-suzutatsu-bill
$ bq query --use_legacy_sql=false 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill.
# あくまでデフォルトのプロジェクトを指定するだけなので、--project_id も指定していたら、そちらが優先される。
$ gcloud config set project sandbox-suzutatsu-bill
$ bq query --use_legacy_sql=false --project_id=sandbox-suzutatsu-bill2 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill2: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill2.
※어떤 프로젝트에서 쿼리를 실행했는지 알 수 있도록 위에서는 의도적으로 해당 프로젝트에서 쿼리를 실행할 권한 bigquery.jobs.create
를 제외하고 있습니다.
프로젝트를 전환하려면 bq
명령으로 --project_id
를 지정하거나 gcloud config set project
에서 gcloud
명령의 기본값 설정을 변경합니다.
데이터 포털
데이터 소스를 만들 때 지정합니다.
내 프로젝트의 경우
결제 프로젝트를 지정할 곳이 없습니다.
선택한 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
공유 프로젝트의 경우
결제 프로젝트를 지정하는 설정이 있습니다.
여기에서 선택한 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
맞춤 검색어의 경우
결제 프로젝트를 지정하는 설정이 있습니다.
고급 옵션에는 결제 프로젝트 ID를 재정의하는 필드가 있습니다. (편리함을 모르기 때문에 누군가를 가르쳐주세요)
프로젝트를 전환하려면 데이터 소스 편집 화면의 결제 프로젝트에서 다른 프로젝트를 선택합니다.
결론
이번에는 쿼리 요금의 관점이었지만 쿼리를 실행하는 프로젝트는 쿼리 실행 권한과 관련된 이야기입니다.
예상하지 않은 결제가 발생했을뿐만 아니라 쿼리 실행 권한 오류가 발생했을 때 쿼리를 실행하는 프로젝트가 무엇인지 확인하십시오.
Reference
이 문제에 관하여(BigQuery에서 쿼리 실행(쿼리 요금 청구) 프로젝트 아이디어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suzutatsu/items/05d0c16c8d4d87d35d1c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
BigQuery 콘솔 화면
현재 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
현재 PREVIEW의 새로운 UI에서도 마찬가지입니다.
프로젝트를 전환하려면 프로젝트 풀다운에서 다른 프로젝트를 선택합니다.
bq 명령
# プロジェクトが定まらない場合は、クエリが実行できない。
$ bq query --use_legacy_sql=false 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Cannot start a job without a project id.
# --project_id でプロジェクトを指定していたら、そのプロジェクトでクエリを実行する。
$ bq query --use_legacy_sql=false --project_id=sandbox-suzutatsu-bill 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill.
# gcloud config set project でプロジェクトを指定していたら、--project_id が無くてもそのプロジェクトでクエリを実行する。
$ gcloud config set project sandbox-suzutatsu-bill
$ bq query --use_legacy_sql=false 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill.
# あくまでデフォルトのプロジェクトを指定するだけなので、--project_id も指定していたら、そちらが優先される。
$ gcloud config set project sandbox-suzutatsu-bill
$ bq query --use_legacy_sql=false --project_id=sandbox-suzutatsu-bill2 'SELECT * FROM `sandbox-suzutatsu-bq.test.sample1_20190103`'
BigQuery error in query operation: Access Denied: Project sandbox-suzutatsu-bill2: User does not have bigquery.jobs.create permission in project
sandbox-suzutatsu-bill2.
※어떤 프로젝트에서 쿼리를 실행했는지 알 수 있도록 위에서는 의도적으로 해당 프로젝트에서 쿼리를 실행할 권한
bigquery.jobs.create
를 제외하고 있습니다.프로젝트를 전환하려면
bq
명령으로 --project_id
를 지정하거나 gcloud config set project
에서 gcloud
명령의 기본값 설정을 변경합니다.데이터 포털
데이터 소스를 만들 때 지정합니다.
내 프로젝트의 경우
결제 프로젝트를 지정할 곳이 없습니다.
선택한 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
공유 프로젝트의 경우
결제 프로젝트를 지정하는 설정이 있습니다.
여기에서 선택한 프로젝트가 쿼리를 실행하는 프로젝트가 됩니다.
맞춤 검색어의 경우
결제 프로젝트를 지정하는 설정이 있습니다.
고급 옵션에는 결제 프로젝트 ID를 재정의하는 필드가 있습니다. (편리함을 모르기 때문에 누군가를 가르쳐주세요)
프로젝트를 전환하려면 데이터 소스 편집 화면의 결제 프로젝트에서 다른 프로젝트를 선택합니다.
결론
이번에는 쿼리 요금의 관점이었지만 쿼리를 실행하는 프로젝트는 쿼리 실행 권한과 관련된 이야기입니다.
예상하지 않은 결제가 발생했을뿐만 아니라 쿼리 실행 권한 오류가 발생했을 때 쿼리를 실행하는 프로젝트가 무엇인지 확인하십시오.
Reference
이 문제에 관하여(BigQuery에서 쿼리 실행(쿼리 요금 청구) 프로젝트 아이디어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/suzutatsu/items/05d0c16c8d4d87d35d1c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(BigQuery에서 쿼리 실행(쿼리 요금 청구) 프로젝트 아이디어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzutatsu/items/05d0c16c8d4d87d35d1c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)