BigQuery ジョブの概要
このページでは、BigQuery ジョブの概要について説明します。
BigQuery ジョブ
ジョブとは、データの読み込み、データのエクスポート、データのクエリ、データのコピーなど、BigQuery がユーザーに代わって実行するアクションのことです。
Google Cloud コンソールまたは bq ツールを使用してこれらのジョブのいずれかを実行すると、ジョブリソースが自動的に作成され、スケジュールが設定されて実行されます。また、読み込み、エクスポート、クエリ、コピーのジョブをプログラムで作成することもできます。プログラムでジョブを作成すると、BigQuery によってジョブがスケジュールされ、実行されます。
ジョブの実行には長い時間がかかる場合があるため、ジョブは非同期で実行され、ステータスをポーリングできます。リソースの一覧表示やメタデータの取得など、短時間のアクションは、ジョブリソースでは管理されません。
始める前に
このドキュメントの各タスクを実行するために必要な権限をユーザーに与える Identity and Access Management(IAM)のロールを付与します。
必要な権限
BigQuery ジョブを実行するには、bigquery.jobs.create
IAM 権限が必要です。この権限により、プログラムでジョブを実行し、BigQuery がユーザーに代わって自動的に実行するジョブの権限を付与できます。
次の IAM 事前定義ロールには、ジョブの実行に必要な権限が含まれています。
roles/bigquery.user
roles/bigquery.jobUser
roles/bigquery.admin
また、ジョブを作成すると、そのジョブに対する次の権限が自動的に付与されます。
bigquery.jobs.get
bigquery.jobs.update
BigQuery での IAM のロールと権限について詳しくは、事前定義ロールと権限をご覧ください。
割り当てポリシー
ジョブ割り当ての詳細については、「割り当てと制限」ページのジョブタイプのドキュメントをご覧ください。
料金
すべてのジョブは、ユーザーが指定する特定のプロジェクトに関連付けられます。ジョブで発生した使用料金は、関連付けられたプロジェクトに接続されている請求先アカウントに請求されます。プロジェクトへのアクセスを共有している場合、そのプロジェクトで実行したジョブの料金はすべて、接続されている請求先アカウントに請求されます。
たとえば、クエリジョブを実行すると、そのジョブを実行するプロジェクトに料金が請求されます。したがって、<project_id>:<region>.<job_id>
形式でクエリジョブのジョブ ID を表示した場合、project_id
は、クエリの料金の請求先となるプロジェクトの ID です。
詳細については、料金のページをご覧ください。
次のステップ
- プログラムでジョブを実行する方法を学ぶ
- ジョブの管理方法を学ぶ