---
title: "転送先 - Google BigQuery | TROCCO Docs"
slug: "data-destination-bigquery"
updated: 2026-01-09T10:22:46Z
published: 2026-01-09T10:22:46Z
canonical: "documents.trocco.io/data-destination-bigquery"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documents.trocco.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 転送先 - Google BigQuery

## 概要

Google CloudのBigQueryへデータを転送する設定のDocsです。

              Google BigQueryとTROCCOの活用事例について

              

TROCCOの製品サイトでは、お客さまの[導入事例](https://primenumber.com/cases/topic/all?industry=&amp;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#%E8%BB%A2%E9%80%81%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)を参照ください。 |
| Descriptionの維持オプション | No | 無効 | **転送モード**で`&#x5168;&#x4EF6;&#x6D17;&#x3044;&#x66FF;&#x3048; (REPLACE)`を選択したときに設定できます。 有効にすると、テーブル再作成時にカラムの説明（Description）を保持します。 |
| Policy Tagの維持オプション | No | 無効 | **転送モード**で`&#x5168;&#x4EF6;&#x6D17;&#x3044;&#x66FF;&#x3048; (REPLACE)`を選択したときに設定できます。 有効にすると、テーブル再作成時にカラムのポリシータグ（Policy Tag）を保持します。 |
| マージキー | Yes | - | **転送モード**で`UPSERT (MERGE)`を選択したときに入力できます。 プライマリーキーが転送先のテーブルに存在しない場合、マージキー（主キー）扱いとする、カラムの名前を入力してください。 マージキーには、値の重複がなく、NULL値も持たないカラムを入力してください。 |

              データセット・テーブル・カラムの命名上の制約

              

それぞれ、命名上の制約があります。

- データセット名（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)を参照ください。

              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#%E3%82%AB%E3%83%A9%E3%83%A0%E8%A8%AD%E5%AE%9A)を参照ください。 |
| スキーマ情報をテンプレートとして参照するテーブル | BigQueryにテーブルを新規作成する際のスキーマとして、BigQuery側にすでに存在するテーブルのスキーマを流用できます。 この場合、転送設定STEP1で指定したデータセット配下にあるテーブル名を入力してください。 |
| パーティショニング | 後述の[パーティショニング・クラスタリングの設定](/docs/data-destination-bigquery#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E8%A8%AD%E5%AE%9A)を参照ください。 |
| クラスタリング | 後述の[パーティショニング・クラスタリングの設定](/docs/data-destination-bigquery#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E8%A8%AD%E5%AE%9A)を参照ください。 |

              スキーマに関わる設定が適用される条件

              

STEP2出力オプションの以下の設定は、**テーブルを新規作成する**場合にのみ、適用されます。

- カラム設定
- スキーマ情報をテンプレートとして参照するテーブル
- パーティショニング
- クラスタリング

具体的には、以下の状態でジョブ実行した際に適用されます。

- 転送先に対象となるテーブルが存在しない場合
- 転送モードで全件洗い替え (`REPLACE`)を選んでいる場合
  - この場合、転送のたびに転送先テーブルのスキーマが更新されるため、上記設定の内容は都度適用されます。

## 補足事項

### 転送モードについて

以下の説明はいずれも、**転送先に対象となるテーブルがすでに存在する場合**の挙動となります。 転送先に対象となるテーブルが存在しない場合は、いずれのモードにおいても**テーブルを新規作成**します。

| 転送モード | スキーマ変更 | トランザクション | 挙動 | 補足 |
| --- | --- | --- | --- | --- |
| 追記 (`APPEND`) | No | Yes | テーブルへの**追記**を以下の通り行います。 1. 一時テーブルを作成して、データを投入する 2. 一時テーブルのデータを対象テーブルに`WRITE_APPEND`する |  |
| 追記 (`APPEND DIRECT`) | No | **No** | テーブルの**追記**を以下の通り行います。 1. データを直接対象テーブルに`WRITE_APPEND`する | 追記 (`APPEND`)モードに比べて処理時間は短くなりますが、トランザクションは担保されません。そのため転送が途中で失敗した場合、途中まで追加された行が対象テーブルに残ることがあります。 |
| 全件洗い替え (`DELETE IN ADVANCE`) | **Yes** | **No** | テーブルの**洗い替え**を以下の通り行います。 1. 対象テーブルを`DELETE`する 2. 対象テーブルを新規作成して、データを投入する | トランザクションは担保されません。 |
| 全件洗い替え (`REPLACE`) | **Yes** | Yes | テーブルの**洗い替え**を以下の通り行います。 1. 一時テーブルを作成して、データを投入する 2. 一時テーブルのデータを対象テーブルに`WRITE_TRUNCATE`する | 既存テーブルのスキーマは削除され、新しいテーブルのものに更新されます。対象テーブルが**非パーティション分割テーブル**の場合に、[パーティショニング](/docs/data-destination-bigquery#%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E8%A8%AD%E5%AE%9A)が設定された転送設定でジョブを実行すると、ジョブエラーが発生します。**Descriptionの維持オプション**や**Policy Tagの維持オプション**を有効にすることで、テーブル再作成時にカラムのメタデータを保持できます。 |
| `UPSERT (MERGE)` | No | Yes | テーブルへの**UPSERT**を以下の通り行います。 1. 一時テーブルを作成して、データを投入する 2. 一時テーブルのデータを対象テーブルに`MERGE`する | 対象テーブルに対して、一時テーブルのマージキーと値が一致する行は更新され、一致しない行は挿入されます。 |

              WRITE_APPENDとWRITE_TRUNCATEの違い

              

[BigQuery APIリファレンス - Job](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobconfigurationquery)の`writeDisposition`フィールドを参照ください。

### カラム設定

カラムに関して詳細な設定が可能です。 詳しくは、[BigQuery公式ドキュメント - スキーマの指定](https://cloud.google.com/bigquery/docs/schemas#column_names)を参照ください。

| 項目 | 内容 |
| --- | --- |
| カラム名 | 転送設定STEP2**カラム定義**の**カラム名**一覧から選択します。 |
| データ型 | カラムの[データ型](https://cloud.google.com/bigquery/docs/schemas#standard_sql_data_types)を明示的に指定したい場合に選択します。 |
| モード | カラムの[モード](https://cloud.google.com/bigquery/docs/schemas#modes)を明示的に指定したい場合に選択します。 |
| 日付フォーマット | 転送設定STEP2**カラム定義**で`timestamp`型と定義されたカラムを`STRING`型で転送したい場合に、展開時に利用する日付フォーマットを入力できます。 |
| タイムゾーン | 転送設定STEP2**カラム定義**で`timestamp`型と定義されたカラムを`STRING`型または`DATETIME`型で転送したい場合に、展開時に利用するタイムゾーンを入力できます。 |
| 説明 | カラムの[説明](https://cloud.google.com/bigquery/docs/schemas?column_descriptions)を入力できます。 [スキーマ情報をテンプレートとして参照するテーブル](/docs/data-destination-bigquery#step2-%E5%87%BA%E5%8A%9B%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3)を利用した場合においても、本項目で入力した内容が優先されて反映されます。 |

### パーティショニング・クラスタリングの設定

パーティショニング・クラスタリングについて、詳しくは[パーティション分割テーブルの概要](https://cloud.google.com/bigquery/docs/partitioned-tables)・[クラスタ化テーブルの概要](https://cloud.google.com/bigquery/docs/clustered-tables)をそれぞれ参照ください。

| 項目 | 必須 | 内容 |
| --- | --- | --- |
| パーティショニング | ✓ | 以下のいずれかを選択できます。 - **取り込み時間により分割**：TROCCOのジョブ実行時間に基づいてパーティションが切られます。 - **フィールドにより分割**：基準となるカラムに基づいてパーティションが切られます。 |
| パーティションフィールド | ✓ | **フィールドにより分割**を選択したときに入力します。 `DATE`、`TIMESTAMP`、`DATETIME`のいずれかの型の列名を入力してください。 |
| パーティションタイプ | ✓ | **パーティショニング**でいずれかの分割方式を選択した場合に選択します。 テーブル分割の粒度を以下より選択してください。 - 1時間ごと - 1日ごと - 1ヶ月ごと - 1年ごと |
| クラスタリング | - | クラスタ化テーブルを作成したい場合に設定できます。 **クラスタ化列**にカラム名を入力することで、該当のカラムに基づいてテーブルがクラスタ化されます。 なお、クラスタ化列は最大で**4つ**まで指定できます。 |
| パーティションの存続期間 | - | パーティションの有効期限を指定できます。 詳しくは、[パーティションの有効期限を設定する](https://cloud.google.com/bigquery/docs/managing-partitioned-tables#partition-expiration)を参照ください。 |

              パーティショニング・クラスタリング設定の適用条件

              

パーティショニング・クラスタリングの設定は**テーブルの新規作成時**にのみ有効です。 出力先にすでにテーブルが存在する場合は、本設定の内容ではなく既存テーブルの設定内容でジョブが実行されます。

              「取り込み時間により分割」におけるパーティションの境界

              

Google BigQueryの仕様上、パーティションの境界は**UTC時間**に基づきます。ご注意ください。

              整数範囲パーティショニング

              

TROCCOでは、特定の`INTEGER`列の値に基づいてテーブルを分割する、整数範囲パーティショニングには対応していません。

### 必要な権限

ご利用いただくにあたって必要な権限は以下となります。

- `bigquery.datasets.create`
- `bigquery.datasets.get`
- `bigquery.jobs.create`
- `bigquery.tables.create`
- `bigquery.tables.delete`
- `bigquery.tables.export`
- `bigquery.tables.get`
- `bigquery.tables.getData`
- `bigquery.tables.list`
- `bigquery.tables.update`
- `bigquery.tables.updateData`
