# tBigQueryOutputの標準プロパティ

これらのプロパティは標準ジョブのフレームワークで実行されているtBigQueryOutputを設定するために使われます。

標準のtBigQueryOutputコンポーネントは、ビッグデータファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br><ul> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> </li> </ul><br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。変更を加えると、スキーマは自動的に組み込みになります。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul><br><br>このコンポーネントはダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。 |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
| [Local filename] (ローカルファイル名) | 受信したデータを書き込むファイルのパスを参照するか入力します。 |
| [Append] (追加) | このチェックボックスをオンにすると、[Local filename] (ローカルファイル名) で指定したファイルの既存のデータに行が追加されます。 |
| [Authentication mode] (認証モード) | プロジェクトの認証に使用されるモードを選択します。<br><br><ul> <li><span>[Service account] (サービスアカウント)</span>: Google Cloud Platformプロジェクトに関連付けられているGoogleアカウントを使って認証します。このモードを選択すると、認証情報は<span>[Service account credentials file] (サービスアカウント認証情報ファイル)</span>フィールドに入力する必要があります。</li> <li><span>ワークロードIDフェデレーション</span>: GoogleワークロードIDプールを介して認証を行うことで、サービスアカウントキーを使用することなく、AWS、Azure、OIDCなどのIDプロバイダーとの統合が可能になります。このモードを選択する場合、IDフェデレーションの設定は、[<span>クライアントライブラリ設定ファイル</span>]フィールドで指定する必要があります。</li> <li><span>[Application Default Credentials] (アプリケーションのデフォルト認証情報)</span>: アプリケーションのデフォルト認証情報を使って認証します。このモードを選択した場合、アプリケーション環境に基づいて認証情報が自動的に検索されるので、追加のパラメーターを定義する必要はありません。</li> <li> <span>OAuth2 - 認証コードの付与</span>: OAuth認証情報を使って認証します。OAuth認証情報は[<span>クライアントID</span>]、[<span>クライアントシークレット</span>]、[<span>認証コード</span>]の各フィールドに入力する必要があります。このモードを選択すると、実行時に[<span>実行</span>]コンソールにURLが表示されます。それをWebブラウザーに貼り付け、URL内の<kbd>コード</kbd>値をコピーします。[<span>認証コード</span>]フィールドに認証コードを貼り付けます。次回ジョブを実行する際に、設定が保存されているため、BigQueryにアクセスできます。</li> <li> <span>[OAuth Access Token] (OAuth アクセストークン)</span>: OAuthアクセストークンを使用して認証します。このモードを選択する場合、トークンは[<span>OAuthアクセストークン</span>]ファイルに情報を提供する必要があります。 </li> </ul><br><br>Google Cloudの認証プロセスに関する詳細は、[Google Cloudのドキュメンテーション](https://cloud.google.com/docs/authentication/)をご参照ください。 |
| [Service account credentials file] (サービスアカウント認証情報ファイル) | 使用するサービスアカウント用に作成された認証情報ファイルへのパスを入力します。このファイルはTalendジョブが実際に起動および実行されるコンピューターに保管されている必要があります。<br><br>このプロパティは、サービスアカウントを使って認証する場合のみ利用できます。 |
| [Client ID] (クライアントID)および[Client Secret] (クライアントシークレット) | クライアントIDおよびクライアントシークレットを貼り付けます。両方とも使用するGoogle BigQueryサービスおよびCloud StorageサービスをホスティングしているプロジェクトのAPI Accessタブビューで作成され、および表示可能になっています。<br><br>クライアントシークレットを入力するには、クライアントシークレットフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスでクライアントシークレットを二重引用符の間に入力し、OKをクリックして設定を保存します。<br><br>これらのプロパティは、OAuth 2.0を使って認証する場合のみ利用可能です。 |
| [OAuth Access Token] (OAuthアクセストークン) | アクセストークンを入力します。<br><br>トークンのライフタイムは1時間です。コンポーネントは、トークン更新操作を行いませんが、1時間という制限時間を超えても操作できるよう、新しいアクセストークンをフェッチします。<br><br>このプロパティは、[OAuth Access Token] (OAuthアクセストークン)を使って認証する場合のみ利用できます。 |
| [Project ID] (プロジェクトID) | 使用する必要があるGoogle BigQueryサービスをホスティングしているプロジェクトのIDを貼り付けます。<br><br>プロジェクトのIDは、Google API ConsoleのURL、またはBigQuery Browser Toolでプロジェクト名にマウスを重ねると表示されます。 |
| [Authorization code] (認証コード) | 構築中のアクセスに対してGoogleにより提供される認証コードを貼り付けます。<br><br>認証コードを取得するには、このコンポーネントを使用してジョブを実行する必要があります。このジョブが実行を一時停止してURLアドレスを出力する場合は、このアドレスに移動して、表示されている認証コードをコピーします。 |
| [Dataset] (データセット) | データを転送する転送先のデータセットの名前を入力します。 |
| [Table] (テーブル) | データを転送する転送先のテーブルの名前を入力します。<br><br>このテーブルが存在しない場合は、[Create the table if it doesn't exist] (テーブルが存在しない場合は作成)チェックボックスをオンにします。 |
| [Action on data] (データでのアクション) | ターゲットテーブルにデータを転送する時に、ドロップダウンリストから実行するアクションを選択します。アクションは以下のようになります:<br><br><ul> <li> <p> <span>[Truncate] (切り捨て)</span>: テーブルの内容を空にし、転送されたデータで再作成します。</p> </li> <li> <p> <span>[Append] (追加)</span>: テーブルの既存のデータに行を追加します。</p> </li> <li> <p> <span>[Empty] (空)</span>: 空のテーブルに入力します。</p> </li> </ul> |
| [Credential type] (認証情報のタイプ) | プロジェクトの認証に使用されるタイプを選択します。<br><br><ul> <li><span>[Service account] (サービスアカウント)</span>: この認証情報タイプを選択した場合、<span>[Basic settings] (基本設定)</span>ビューで定義されるパラメーターは<span>[Service account key] (サービスアカウントキー)</span>になります。</li> <li><span>[Application Default Credentials] (アプリケーションのデフォルト認証情報)</span>: この認証情報タイプを選択した場合、<span>[Basic settings] (基本設定)</span>ビューで定義されるパラメーターは<span>[Application Default Credentials] (アプリケー ションのデフォルト認証情報)</span>となります。</li> <li><span>[OAuth Access Token] (OAuthアクセストークン)</span>: この認証情報タイプを選択した場合、<span>[Basic settings] (基本設定)</span>ビューで定義されるパラメーターは<span>[OAuth Access Token] (OAuthアクセストークン)</span>になります。</li> </ul><br><br>デフォルトでは、[Service account] (サービスアカウント)が選択されています。[Credential type] (認証情報の種類)フィールドは、[Bulk file already exists in Google storage] (バルクファイルがGoogle Storageに既に存在する)チェックボックスがオフになっている場合のみ利用できます。 |
| [Service account key] (サービスアカウントキー) | サービスアカウントキーフィールドの横にある[...]ボタンをクリックして、サービスアカウントキーを含むJSONファイルを参照します。<br><br>このプロパティは、サービスアカウントを使って認証する場合のみ利用できます。 |
| [Access key] (アクセスキー)および[Secret key] (シークレットキー) | Google Cloud StorageにリクエストするためにGoogleから取得した認証情報を貼り付けます。<br><br>シークレットキーを入力するには、シークレットキーフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにシークレットキーを二重引用符の間に入力し、[OK] をクリックして設定を保存します。<br><br>これらのキーは、プロジェクトの[Google Cloud Storage]タブの[Interoperable Access]タブビューで参照できます。 |
| [OAuth Access Token] (OAuthアクセストークン) | アクセストークンを入力します。<br><br>トークンのライフタイムは1時間です。コンポーネントは、トークン更新操作を行いませんが、1時間という制限時間を超えても操作できるよう、新しいアクセストークンをフェッチします。<br><br><br>このプロパティは、[OAuth Access Token] (OAuthアクセストークン)を使って認証する場合のみ利用できます。 |
| [Bucket] (バケット) | Google BigQueryに転送するデータを保持するGoogle Cloud Storageコンテナーのバケットの名前を入力します。 |
| ファイル | Google Cloud Storageに保管され、Google BigQueryに転送されるデータのディレクトリーを入力します。<br><br>データがGoogle Cloud Storageにない場合、このディレクトリーはデータがGoogle BigQueryに転送する途中のデスティネーションとして使用されます。<br><br>このファイル名は、[Local filename] (ローカルファイル名)フィールドで指定したファイル名と同一にする必要があることにご注意ください。 |
| ヘッダー | 転送されたデータのヘッダーを無視するように値をセットします。たとえば、*0*を入力すると、ヘッダー行を無視する設定になり、最初の行にヘッダーが含まれるデータの場合は*1*をセットします。 |
| Die on error (エラー発生時に強制終了) | このチェックボックスはデフォルトでオフになっています。すなわち、エラーが発生した行をスキップし、エラーが発生していない行のプロセスを完了させます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| *[token properties File Name] (トークンプロパティファイル名)* | 使用する必要がある更新トークンファイルのパスを入力するか、参照します。<br><br>Google BigQueryから取得した[Authorization code] (認証コード)を使用する最初のジョブ実行の場合、このフィールドの値は、作成し使用する更新トークンファイルのディレクトリーと名前になります。トークンファイルが作成済みで、再利用する必要がある場合、このフィールドにディレクトリーとファイル名を指定する必要があります。<br><br>トークンファイル名のみを入力した場合、 Talend Studioにより、トークンファイルのディレクトリーがTalend Studioフォルダーのルートであると見なされます。<br><br>更新トークンの詳細は、Google BigQueryのマニュアルをご覧ください。 |
| [Field Separator] (フィールド区切り) | 転送されたデータのフィールドを区切る場合は、文字、文字列、正規表現のいずれかを入力します。 |
| [Drop table if exists] (存在する場合はテーブルをドロップ) | このテーブルが既に存在する場合は、[Drop table if exists] (存在する場合はテーブルをドロップ)チェックボックスをオンにして、[Table] (テーブル)フィールドで指定したテーブルを削除します。 |
| [Create directory if not exists] (ディレクトリーがない場合はディレクトリーを作成) | このチェックボックスをオンにすると、Google Cloud Storageの[File] (ファイル)で定義されたディレクトリーが存在しない場合にディレクトリーが作成されます。 |
| フラッシュバッファーサイズのカスタマイズ | この行数を超えるとメモリが解放されます。 |
| [Check disk space] (ディスク容量の確認) | このチェックボックスをオンにすると、実行中にディスクに空きがない場合に例外が返されます。 |
| [Encoding] (エンコーディング) | リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースデータ処理の必須フィールドです。サポートされるエンコーディングは、使用しているJVMに応じて異なります。詳細は、[https://docs.oracle.com](https://docs.oracle.com/)をご覧ください。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数は、[Die on error] (エラー発生時に強制終了)チェックボックスがオンになっている場合のみ機能します。 |
| JOBID | ジョブのIDです。これはAfter変数で、文字列を返します。 |
| STATISTICS | ジョブの統計です。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| 使用ルール | これはジョブの終了時に使用される出力コンポーネントです。tFileInputDelimited、tMapまたはtMysqlInputなどの先行のコンポーネントからデータを受け取ります。<br><br>このコンポーネントは、マルチリージョンロケーションとリージョナルロケーションの両方を自動的に検出し、サポートします。リージョナルロケーションを使用する時は、使用するバケットとデータセットは同じロケーションに入れておく必要があります。 |
| BigQueryデータ型の制限事項 | <ul> <li>BigQueryのレコードタイプはサポートされていません。</li> <li>DescriptionカラムやModeカラムなど、テーブルメタデータのカラムは取得できません。</li> <li>BigQueryシステムからのタイムスタンプデータは、文字列データにフォーマットされます。</li> <li>BigQueryの数値データはBigDecimalに変換されます。</li> </ul> |