# tRedshiftUnload

Amazon RedshiftのデータをAmazon S3のファイルにアンロードします。

このコンポーネントは、Amazon Redshiftで指定されたクエリーを実行し、クエリーの結果をAmazon S3の1つ以上のファイルにアンロードします。

## tRedshiftUnloadの標準プロパティ

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

標準のtRedshiftUnloadコンポーネントは、Cloudファミリーとデータベースファミリーに属しています。

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| プロパティタイプ | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。続くデータベース接続フィールドは、取得されたデータを使用して自動的に入力されます。</p> </li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
| ドライバーバージョン | 使用するRedshiftのドライバーとして、[Driver v1] (ドライバーv1)と[Driver v2] (ドライバーv2)のいずれかを選択します。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1-R2022-04以降のTalend Studioマンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。 |
| [Host] (ホスト) | データベースサーバーのIPアドレスまたはホスト名を入力します。 |
| [Port] (ポート) | データベースサーバーのリスニングポート番号を入力します。 |
| [Database] (データベース) | データベースの名前を入力します。 |
| [Schema] (スキーマ) | スキーマの名前を入力します。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データを入力します。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Use String JDBC parameters] (文字列JDBCパラメーターを使用) | 文字列でJDBCのプロパティを設定するために使われます。このオプションを選択した場合は、[Additional JDBC Parameters] (追加のJDBCパラメーター)フィールドにJDBCパラメーター文字列を入力します。このオプションを選択していない場合は、[Additional JDBC Parameters] (追加のJDBCパラメーター)フィールドにJDBCプロパティとプロパティ値を入力します。<br><br>このオプションは、[Driver version] (ドライバーバージョン)ドロップダウンリストから、[Driver v1] (ドライバーv1)が選択されている場合は利用できません。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1-R2022-04以降のTalend Studioマンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。 |
| [Additional JDBC Parameters] (追加のJDBCパラメーター) | 作成する接続の追加のJDBCプロパティを指定します。プロパティはアンパサンド(&)で区切られ、各プロパティはキー-値ペアです。たとえば、*ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactory*になります。これは、SSLを使用して接続が作成されることを意味します。<br><br>このフィールドは、[Driver version] (ドライバーバージョン)ドロップダウンリストで[Driver v2] (ドライバーv2)が選択されており、[Use String JDBC parameters] (文字列JDBCパラメーターを使用)オプションが選択されていない場合は利用できません。 |
| [Additional JDBC Parameters] (追加のJDBCパラメーター) (テーブル) | テーブル行でJDBCのプロパティを指定します。<br><br>JDBCプロパティを指定する場合は、このテーブルの下部にあるプラスボタンをクリックしてテーブルに行を追加し、Keyカラムにプロパティ名を、次にValueカラムにプロパティ値を入力します。<br><br>このオプションは、[Driver version] (ドライバーバージョン)ドロップダウンリストから、[Driver v2] (ドライバーv2)が選択されており、[Use String JDBC parameters] (文字列JDBCパラメーターを使用)オプションが選択されていない場合に利用できます。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1-R2022-04以降のTalend Studioマンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。 |
| [Table Name] (テーブル名) | データが読み取られるテーブルの名前を入力します。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<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> |
| [Query Type] (クエリータイプ)と[Query] (クエリー) | スキーマ定義と一致させるように、フィールドの順序に特に注意を払いつつ、データベースクエリーを入力します。<br><br>クエリー内の単純な引用符をそれぞれダブルエスケープします。例:<br><br>```<br>SELECT name, birth,\"Add\" FROM my_table WHERE birth between \\'2018-01-01 00:00:00\\' and \\'2019-01-01 00:00:00\\'<br>``` |
| [Guess Query] (クエリーを推測) | ボタンをクリックして、[Query] (クエリー)フィールドのテーブルスキーマに対応するクエリーを生成します。 |
| [Use an existing S3 connection] (既存のS3接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
| [Access Key] (アクセスキー) | AWSアカウントを一意に識別するアクセスキーIDを指定します。アクセスキーとアクセスシークレットを取得する方法は、[Getting Your AWS Access Keys](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/get-aws-keys.html)をご覧ください。<br><br>このオプションは、[Use existing S3 connection] (既存のS3接続を使用)が選択されている場合は利用できません。 |
| [Secret Key] (シークレットキー) | シークレットアクセスキーを指定します。シークレットアクセスキーは、アクセスキーと組み合わせてセキュリティ認証情報を構成します。<br><br>シークレットキーを入力するには、シークレットキーフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにシークレットキーを二重引用符の間に入力し、[OK] をクリックして設定を保存します。<br><br>このオプションは、[Use existing S3 connection] (既存のS3接続を使用)が選択されている場合は利用できません。 |
| [Assume Role] (ロールを引き受け) | このチェックボックスをオンにして、新たに引き受けたロールセッションの作成に使用する以下のパラメーターに値を指定します。<br><br><ul> <li> <p> <span>[IAM Role ARNs chains] (IAMロールARNチェーン)</span>: 連結された一連のロール。クラスターがリソースにアクセスするために引き受けることのできる、他のアカウントに属している場合があります。 </p> <p>最大10のロールを連結できます。</p> </li> <li> <p> <span>[Role ARN] (ロールARN)</span>: 引き受けるロールのARN (Amazonリソース名)。 </p> </li> </ul><br><br>このオプションは、[Use existing S3 connection] (既存のS3接続を使用)が選択されている場合は利用できません。<br><br>IAMロールARNチェーンの詳細は、[\[Authorizing Redshift service\] (Redshiftサービスの承認)](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html)をご覧ください。 |
| [Bucket] (バケット) | データーのアンロード先のAmazon S3バケットの名前、つまり最上位のフォルダーを入力します。 |
| [Key prefix] (キープレフィックス) | Amazon S3のアンロードファイルの名前プレフィックスを入力します。デフォルトでは、アンロードファイルはRedshiftクラスターのスライスごとに書き込まれ、ファイル名は次の形式で書き込まれます: &lt;object\_path&gt;/&lt;name\_prefix&gt;&lt;slice-number&gt;\_part\_&lt;file-number&gt; |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [File type] (ファイルタイプ) | リストからAmazon S3のアンロードファイルのタイプを選択します。<br><br><ul> <li> <p> <span>[Delimited file or CSV] (区切り付きファイルまたはCSV)</span>: 区切り付き/CSVファイル。</p> </li> <li> <p> <span>[Fixed width] (固定幅)</span>: 固定幅ファイル。</p> </li> <li> <p> <span>Apache Parquet</span>: Apache Parquetファイル。</p> </li> </ul> |
| [Fields terminated by] (フィールド区切り) | フィールドを区切るための文字を入力します。<br><br>このフィールドは、[Delimited file or CSV] (区切り付きファイルまたはCSV)が[File type] (ファイルタイプ) のリストから選択されている場合にのみ表示されます。 |
| [Enclosed by] (引用符) | フィールドが引用符で囲まれているペア内の文字を選択します。<br><br>このリストは、[Delimited file or CSV] (区切り付きファイルまたはCSV)が[File type] (ファイルタイプ)リストから選択されている場合にのみ表示されます。 |
| [Fixed width mapping] (固定長項目マッピング) | ユーザー定義のカラムラベル、および二重引用符の間のカラム幅を指定する文字列を入力します。文字列の形式は次のとおりです。<br><br>ColumnLabel1:ColumnWidth1,ColumnLabel2:ColumnWidth2,...<br><br>文字列内のカラムラベルとテーブルカラム名の間には関係がなく、テキスト文字列または整数のどちらも使用できます。ラベル/幅のペアの順序は、テーブルカラムの順序と正確に一致している必要があります。<br><br>このフィールドは、[File type] (ファイルタイプ)リストから[Fixed width] (固定幅)が選択されている場合にのみ表示されます。 |
| [Compressed by] (圧縮方式) | このチェックボックスをオンにして、表示されたリストからファイルの圧縮タイプを選択します。 |
| [Encrypt] (暗号化) | Amazon S3のクライアント側の暗号化を使ってアンロードファイルを暗号化する場合は、このチェックボックスをオンにします。[Encryption key] (暗号化キー)フィールドが表示されたら、アンロードファイルの暗号化に使う暗号化キーを入力します。<br><br>base64でエンコードされたAES 128ビットまたはAES 256ビットのエンベロープキーのみサポートされています。詳細は、[暗号化済みデータファイルをアンロードする](https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_unloading_encrypted_files.html)をご覧ください。<br><br>Parquetファイルのクライアント側の暗号化はサポートされていないため、このオプションは区切り付き/CSVファイルと固定幅ファイルにのみ利用できます。<br><br>このオプションは、[Use an existing S3 connection] (既存のS3接続を使用)が選択されている場合は利用できません。 |
| [Specify null string] (null文字列を指定) | このチェックボックスをオンにして、表示されたリストから、アンロードファイルのnull値を表す文字列を選択します。 |
| [Escape] (エスケープ) | 区切り付きのアンロードファイルのCHARカラムとVARCHARカラムで、次の文字のすべての出現の前にエスケープ文字(\)を置くには、このチェックボックスをオンにします: 改行(\n)、キャリッジリターン(\r)、アンロードされるデータに指定された区切り文字、エスケープ文字(\)、引用文字("または ')。 |
| [Overwrite s3 object if exist] (S3オブジェクトが存在したら上書き) | 既存のAmazon S3オブジェクトファイルを上書きするには、このチェックボックスをオンにします。 |
| [Parallel] (並列) | Redshiftクラスター内のスライスの数に応じて、Amazon S3上の複数のアンロードファイルに並行してデータを書き込むには、このチェックボックスをオンにします。 |
| JDBC URL | [JDBC URL]ドロップダウンリストから、Amazon Redshiftデーターベースへのアクセス方法を選択します。<br><br><ul> <li> <span>[Standard] (標準)</span>: Redshiftデータベースへのアクセスに標準的な方法を使用します。</li> <li> <span>[SSO] (SSO)</span>: Redshiftデータベースにアクセスするには、IAMシングルサインオン(SSO)認証の方法を使用します。このオプションを選択する前に、Redshiftクラスターに追加されたIAMロールに、このクラスターに対する適切なアクセス権と権限があることをご確認ください。詳細は、AWSサービスの管理者にお問い合わせください。<p>このオプションは、<span>[Basic settings] (基本設定)</span>で<span>[Use an existing connection] (既存の接続を使用)</span>チェックボックスがオフの時のみ利用可能です。 </p> </li> </ul> |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

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

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、Amazon Redshiftデータベースのすべての可能なSQLクエリーをカバーします。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている時のみ利用可能です。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |

**関連概念**

* [Amazon S3との間でデータをロード/アンロード](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-redshift/tredshiftinput-tredshiftbulkexec-ts3get-loading-unloading-data-to-from-amazon-s3-standard-component-this)