---
articleId: 68fff929-160b-4dd6-9cc7-662de844b7ac
slug: data-destination-bigquery
title: 転送先 - Google BigQuery
parentCategoryId: 03f04962-e96f-49cb-9c01-d84d025cc41a
languageCode: ja
---
## 概要
Google CloudのBigQueryへデータを転送する設定のDocsです。
:::(Info) (Google BigQueryとTROCCOの活用事例について)
TROCCOの製品サイトでは、お客さまの[導入事例](https://primenumber.com/cases/topic/all?industry=&tag=bigquery)を紹介しております。
本Docsとあわせてご覧ください。
:::
## 制約
- Google BigQuery側の制約
- 転送できるファイルサイズなどに上限があります。
- 詳しくは、[BigQuery公式ドキュメント - 割り当てと上限](https://cloud.google.com/bigquery/quotas#load_jobs)を参照ください。
## 設定項目
### STEP1 基本設定
| 項目 | 必須 | デフォルト値 | 内容 |
| --- | --- | --- | --- |
| Google BigQuery接続情報 | Yes | - | あらかじめ登録してある[Google BigQuery接続情報](/docs/connection-configuration-bigquery)から、今回の転送設定に必要な権限を持つものを選択します。|
| 転送先プロジェクトの指定 | Yes | 接続情報のプロジェクト | 転送先のプロジェクトを指定します。
**接続情報のプロジェクト**:接続情報で設定されたプロジェクトを使用します。
**任意のプロジェクト**:接続情報とは別のプロジェクトを転送先として指定できます。 |
| 転送先プロジェクトID | No | - | **転送先プロジェクトの指定**で「任意のプロジェクト」を選択した場合に入力します。
転送先として使用するプロジェクトIDを入力してください。|
| データセット | Yes | - | 転送先のデータセット名を選択します。 |
| テーブル | Yes | - | 転送先のテーブル名を選択します。
対象テーブルが転送先のデータセット内に存在しない場合は、テーブルが自動的に作成されます。 |
| データセットのロケーション | Yes | US (米国) | 転送先データセットのロケーションを指定します。
東京リージョンを指定する場合はasia-northeast1を入力します。
指定できるロケーションについて、詳しくは[BigQuery公式ドキュメント - BigQuery のロケーション](https://cloud.google.com/bigquery/docs/locations)を参照ください。 |
| データセットの自動作成オプション | Yes | 作成しない | 指定した**データセット**が対象プロジェクト配下に存在しない場合、自動で作成します。 |
| 転送モード | Yes | 追記 (`APPEND`) | 転送モードを選択します。
詳しくは、後述の[転送モードについて](/docs/data-destination-bigquery#転送モードについて)を参照ください。 |
| Descriptionの維持オプション | No | 無効 | **転送モード**で`全件洗い替え (REPLACE)`を選択したときに設定できます。
有効にすると、テーブル再作成時にカラムの説明(Description)を保持します。|
| Policy Tagの維持オプション | No | 無効 | **転送モード**で`全件洗い替え (REPLACE)`を選択したときに設定できます。
有効にすると、テーブル再作成時にカラムのポリシータグ(Policy Tag)を保持します。|
| マージキー | Yes | - | **転送モード**で`UPSERT (MERGE)`を選択したときに入力できます。
プライマリーキーが転送先のテーブルに存在しない場合、マージキー(主キー)扱いとする、カラムの名前を入力してください。
マージキーには、値の重複がなく、NULL値も持たないカラムを入力してください。|
:::(Warning) (データセット・テーブル・カラムの命名上の制約)
それぞれ、命名上の制約があります。
- データセット名(STEP1で指定)
- **英字・数字・アンダースコアのみ**で構成されている必要があります。
- スペースや特殊文字を含めることはできません。
- 詳しくは、[BigQuery公式ドキュメント - データセットの作成](https://cloud.google.com/bigquery/docs/datasets#dataset-naming)を参照ください。
- テーブル名(STEP1で指定)
- さまざまな文字(**数字、アンダースコア、ハイフン、スペースなどを含む**)で構成できます。
- 詳しくは、[BigQuery公式ドキュメント - テーブルの作成と使用](https://cloud.google.com/bigquery/docs/tables#table_naming)を参照ください。
- カラム名(STEP2カラム定義で指定)
- **英字・数字・アンダースコアのみ**で構成されている必要があります。
- 列名の先頭は英字またはアンダースコアにする必要があります。
- スペースや特殊文字を含めることはできません。
- 詳しくは、[BigQuery公式ドキュメント - スキーマの指定](https://cloud.google.com/bigquery/docs/schemas#column_names)を参照ください。
:::
:::(Warning) (Policy Tagの維持オプションを利用する場合の権限)
Policy Tagの維持オプションを有効にする場合、転送に利用するアカウントにPolicy Tagの作成・読み取り権限を付与する必要があります。
詳しくは、[BigQuery公式ドキュメント - BigQuery Data Policy のロール](https://docs.cloud.google.com/bigquery/docs/access-control?hl=ja#bigquery-data-policy-roles)を参照ください。
:::
### STEP2 出力オプション
| 項目 | 内容 |
| --- | --- |
| カラム設定 | 後述の[カラム設定](/docs/data-destination-bigquery#カラム設定)を参照ください。 |
| スキーマ情報をテンプレートとして参照するテーブル | BigQueryにテーブルを新規作成する際のスキーマとして、BigQuery側にすでに存在するテーブルのスキーマを流用できます。
この場合、転送設定STEP1で指定したデータセット配下にあるテーブル名を入力してください。|
| パーティショニング | 後述の[パーティショニング・クラスタリングの設定](/docs/data-destination-bigquery#パーティショニング・クラスタリングの設定)を参照ください。 |
| クラスタリング | 後述の[パーティショニング・クラスタリングの設定](/docs/data-destination-bigquery#パーティショニング・クラスタリングの設定)を参照ください。 |
:::(Info) (スキーマに関わる設定が適用される条件)
STEP2出力オプションの以下の設定は、**テーブルを新規作成する**場合にのみ、適用されます。
- カラム設定
- スキーマ情報をテンプレートとして参照するテーブル
- パーティショニング
- クラスタリング
具体的には、以下の状態でジョブ実行した際に適用されます。
- 転送先に対象となるテーブルが存在しない場合
- 転送モードで全件洗い替え (`REPLACE`)を選んでいる場合
- この場合、転送のたびに転送先テーブルのスキーマが更新されるため、上記設定の内容は都度適用されます。
:::
## 補足事項
### 転送モードについて
以下の説明はいずれも、**転送先に対象となるテーブルがすでに存在する場合**の挙動となります。
転送先に対象となるテーブルが存在しない場合は、いずれのモードにおいても**テーブルを新規作成**します。
| 転送モード | スキーマ変更 | トランザクション | 挙動 | 補足 |
|----|----|----|----|----|
| 追記 (`APPEND`) | No | Yes | テーブルへの**追記**を以下の通り行います。