tRedshiftOutputの標準プロパティ
これらのプロパティは、標準のジョブのフレームワークで実行されているtRedshiftOutputを設定するために使われます。
標準のtRedshiftOutputコンポーネントは、Cloudファミリーとデータベースファミリーに属しています。
このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。
基本設定
[Database] (データベース) |
データベースのタイプをリストから選択し、[Apply] (適用)をクリックします。 |
[Property type] (プロパティタイプ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。
|
このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。 データベース接続パラメーターの設定と保存の詳細は、Talend Studioユーザーガイドをご覧ください。 |
|
[Use an existing connection] (既存の接続を使用) |
定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、2つのレベルの間の既存の接続を共有する必要がな場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、以下を実行する必要があります。
ジョブレベル全体でデータベース接続を共有する方法の例は、Talend Studioユーザーガイドをご覧ください。 |
[Host] (ホスト) |
データベースサーバーのホスト名またはIPアドレス。 |
[Port] (ポート) |
データベースサーバーのリスニングポート番号。 |
[Database] (データベース) |
データベース名。 使用するバケットとRedshiftデータベースは、Amazon上の同じリージョンに存在している必要があります。これにより、Amazonで既知のS3ServiceExceptionエラーが回避できる可能性があります。これらのエラーについては、S3ServiceExceptionエラー (英語のみ)をご覧ください。 |
[Schema] (スキーマ) |
スキーマの正確な名前。 |
[Username] (ユーザー名)と[Password] (パスワード) |
データベースユーザー認証データ。 パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、OKをクリックして設定を保存します。 |
[Additional JDBC Parameters] (追加のJDBCパラメーター) |
作成する接続の追加のJDBCプロパティを指定します。プロパティはアンパサンド(&)で区切られ、各プロパティはキー-値ペアです。たとえば、ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactoryになります。これは、SSLを使用して接続が作成されることを意味します。 |
[Table] (テーブル) |
データが書き込まれるテーブルの名前。一度に書き込みができるテーブルは1つだけです。 |
[Action on table] (テーブルでのアクション) |
定義済みのテーブルで、次のオペレーションの1つを実行できます。 [None] (なし): 操作は行われません。 [Drop and create a table] (ドロップしてテーブルを作成): テーブルが削除され、再び作成されます。 [Create a table] (テーブルを作成): テーブルが存在しないため、作成されます。 [Create a table if not exists] (テーブルが存在しない場合は作成): テーブルが存在しない場合は作成されます。 [Drop a table if exists and create] (存在する場合はテーブルをドロップして作成): テーブルが既に存在する場合は削除されて再作成されます。 [Clear a table] (テーブルをクリア): テーブルのコンテンツが削除されます。 |
[Action on data] (データでのアクション) |
定義されたテーブルのデータで実行できる操作は次のとおりです。 [Insert] (挿入): テーブルに新しいエントリーを追加します。重複が見つかると操作は停止します。 [Update] (アップデート): 既存のエントリーが変更されます。
情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによってエラーが発生し、ジョブが失敗します。
[Insert or update] (挿入またはアップデート): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、アップデートされます。
情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。
[Update or insert] (アップデートまたは挿入): 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。
情報メモ注: スキーマカラムがすべてキーとして設定されている場合は、このアクションによって警告メッセージが発生し、ジョブが続行されます。
[Delete] (削除): 入力フローに対応するエントリーを削除します。 情報メモ警告:
[Update] (アップデート)操作と[Delete] (削除)操作のベースとなるプライマリキーとして、カラムを少なくとも1つ指定する必要があります。この場合、[Edit Schema] (スキーマを編集)をクリックし、プライマリキーとして設定するカラムの横にあるチェックボックスをオンにします。高度な設定を行う場合は、[Advanced settings] (詳細設定)ビューをクリックして、アップデートおよび削除操作のプライマリキーを同時に定義できます。これを設定するには、以下のようにします:[Use field options] (フィールドオプションを使う)チェックボックスをオンにし、[Key in update column] (アップデートのキーカラム)で、アップデート操作のベースとして使うカラム名の横にあるチェックボックスをオンにします。削除操作についても、Key in deleteカラムで同じようにします。 |
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、Talend Studioユーザーガイドをご覧ください。 このダイナミックスキーマ機能は、テーブルの不明なカラムを取得する目的で設計されており、この目的に限り使用をお勧めします。テーブルの作成で使用することは勧められていません。 [Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 [Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。 詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明をご覧ください。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Die on error] (エラー発生時に強制終了) |
このチェックボックスはデフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) > [Rejects] (リジェクト)リンクを使ってエラー発生時に行を取得できます。 |
詳細設定
[Use alternate schema] (代替スキーマを使用) |
このオプションを選択すると、データベース接続を確立するコンポーネント(つまり[Basic settings] (基本設定)ビューの[Component list] (コンポーネントリスト)ドロップダウンリストから、選択されたコンポーネント)によって指定されたスキーマ以外のスキーマを使用できます。このオプションを選択した後、[Schema] (スキーマ)フィールドに目的のスキーマの名前を入力します。 このオプションは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)がオンの場合に利用できます。 |
[Extend Insert] (挿入を延長) |
行を1つずつ挿入するのでなく、指定した一連の行を一括挿入するには、このチェックボックスを選択します。システムパフォーマンスが大幅に向上します。 [Number of rows per insert] (インサート毎の行数): オペレーションごとに挿入される行数を指定します。指定する値が大きいほどメモリの使用量が増えるため、パフォーマンスがその分低下します。 Amazon Redshiftでは、1回の挿入の行数を32767未満にする必要があります。このため、入力した数がこの上限を超えると、Studioは自動的にこの数をこの上限未満にリセットします。 情報メモ注:
このオプションは[Reject] (リジェクト)リンクと互換性がありません。したがって、このコンポーネントに[Row] (行) > [Rejects] (リジェクト)リンクを使用する場合は、このチェックボックスをオフにする必要があります。 |
[Use Batch] (バッチを使用) |
このチェックボックスをオンにして、データ処理のバッチモードを有効にします。 情報メモ注:
このチェックボックスは、[Action on data] (データでのアクション)フィールドで[Update] (アップデート)または[Delete] (削除)オプションを選択している場合のみ利用できます。 |
[Batch Size] (バッチサイズ) |
各バッチで処理するレコードの数を指定します。 このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの場合のみ表示されます。 |
[Commit every] (コミットする間隔) |
ノードのバッチがデータベースにコミットされるまでに完了しているべき行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に実行時のパフォーマンスの向上が保証されます。 |
[Additional Columns] (追加のカラム) |
このオプションは、データベーステーブルを作成する場合(ドロップありまたはドロップなし)には提供されません。このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、アップデート、削除のアクションでないこと、特定の事前処理を必要とするアクションでないことが条件です。
|
[Use field options] (フィールドオプションを使用) |
特にデータに二重のアクションがある場合、リクエストをカスタマイズするには、このチェックボックスをオンにします。 |
[Support null in "SQL WHERE" statement] ("SQL WHERE"ステートメントでnullをサポート) |
"SQL WHERE"ステートメントでnullを検証する場合は、このチェックボックスを選択します。 |
[Table name include schema] (テーブル名はスキーマを含む) |
このチェックボックスをオンにして、[Basic settings] (基本設定)ビューの[Table] (テーブル)フィールドにテーブルとともにスキーマを指定します。このチェックボックスを選択すると、スキーマとテーブルの両方を[Table] (テーブル)フィールドにyourSchema.yourTableの形式で指定できます。ジョブはyourSchemaでyourTableを見つけようとします。 |
JDBC URL |
[JDBC URL]ドロップダウンリストから、Amazon Redshiftデーターベースへのアクセス方法を選択します。
|
[tStat Catcher Statistics] (tStatCatcher統計) |
このチェックボックスを選択すると、コンポーネントレベルでログデータを収集できます。 |
[Enable parallel execution] (並列実行を有効化) |
このチェックボックスを選択すると、複数のデータフローを同時に処理することにより、高速データ処理を実行できます。このフィーチャーは、データベースまたは複数の挿入を並行して処理するアプリケーションの機能と、関係するCPUの数に依存していることにご注意ください。[Number of parallel executions] (並列実行の数)フィールドで次のいずれかの操作を行います。
並列実行を有効にすると、グローバル変数を使ってサブジョブで戻り値を取得することはできないことにご注意ください。
|
3つのオプション[Die on error] (エラー発生時に強制終了)、[Extend Insert] (挿入を延長)、[Use Batch] (バッチを使用)のいずれかが選択されていると、[Row] (行) > [Reject] (リジェクト)リンクは利用できません。また、ジョブが正しく実行されることを保証するには、[Row] (行) > [Reject] (リジェクト)リンクが存在する状態で、これらの3つのオプションをどれも選択しません。
グローバル変数
グローバル変数 |
NB_LINE: 処理された行の数。これはAfter変数で、整数を返します。 NB_LINE_UPDATED: アップデートされた行の数。これはAfter変数で、整数を返します。 NB_LINE_INSERTED: 挿入された行の数。これはAfter変数で、整数を返します。 NB_LINE_DELETED: 削除された行の数。これはAfter変数で、整数を返します。 NB_LINE_REJECTED: 拒否された行の数。これはAfter変数で、整数を返します。 ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。 Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。 フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。 変数の詳細は、Talend Studioユーザーガイドをご覧ください。 |
使用方法
使用ルール |
このコンポーネントでは、使えるすべてのSQLデータベースクエリーが網羅されています。このコンポーネントを使って、Amazon Redshiftデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。[Row] (行) > [Rejects] (リジェクト)リンクを使って、エラーのあるデータをフィルタリングするリジェクトフローを作成できます。このような使用例については、リジェクトリンクを使用してエラーデータを取得するをご覧ください。 |
[Dynamic settings] (ダイナミック設定) |
[+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。 [Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている場合のみ利用できます。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。 ダイナミックパラメーターの定義法を示すユースケースについては、コンテキストベースのダイナミック接続によってデータベースからデータを読み取りと、ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取りをご覧ください。[Dynamic settings] (ダイナミック設定)とコンテキスト変数については、Talend Studioユーザーガイドをご覧ください。 |
制限事項 |
ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Studioの Integration パースペクティブの[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、外部モジュールのインストールをご覧ください。外部モジュールをインストールする方法は、Talend Help Center (https://help.talend.com (英語のみ))をご覧ください。 |