Apache Spark BatchのtRedshiftOutputプロパティ
これらのプロパティは、Spark Batchのジョブのフレームワークで実行されているtRedshiftOutputを設定するために使われます。
Spark BatchのtRedshiftOutputコンポーネントは、データベースファミリーに属しています。
このフレームワーク内のコンポーネントは、ビッグデータ対応のTalend 製品すべて、およびTalend Data Fabricで使用できます。
基本設定
[Property type] (プロパティタイプ) |
[Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。 [Built-In] (組み込み): 一元的に保存されるプロパティデータはありません。 [Repository] (リポジトリー): プロパティが保存されているリポジトリーファイルを選択します。 |
このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。 データベース接続パラメーターの設定と保管の詳細は、Talend Studioユーザーガイドをご覧ください。 |
|
[Use an existing connection] (既存の接続を使用) |
定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
[Host] (ホスト) |
Redshiftで、接続する必要のあるデータベースのエンドポイントを入力します。 |
[Port] (ポート) |
Redshiftで、接続する必要のあるデータベースのポート番号を入力します。 関連情報は、RedshiftのWebコンソールの[Cluster Database Properties] (クラスターデータベースプロパティ)エリアにあります。 詳細は、Managing clusters console (英語のみ)をご覧ください。 |
[Username] (ユーザー名)と[Password] (パスワード) |
接続先とする必要のあるRedshiftデータベースに認証情報を入力します。 パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、OKをクリックして設定を保存します。 |
[Database] (データベース) |
Redshiftで、接続する必要のあるデータベースの名前を入力します。 関連情報は、RedshiftのWebコンソールの[Cluster Database Properties] (クラスターデータベースプロパティ)エリアにあります。 詳細は、Managing clusters console (英語のみ)をご覧ください。 使用するバケットとRedshiftデータベースは、Amazon上の同じリージョンに存在している必要があります。これにより、Amazonで既知のS3ServiceExceptionエラーが回避できる可能性があります。これらのエラーについては、S3ServiceExceptionエラー (英語のみ)をご覧ください。 |
スキーマ |
Redshiftで使用するデータベーススキーマの名前を入力します。デフォルトスキーマはPUBLICという名前です。 Redshiftに関するスキーマは、オペレーティングシステムのディレクトリーと似ています。Redshiftのスキーマについては、Schemas (英語のみ)をご覧ください。 |
[Additional JDBC Parameters] (追加のJDBCパラメーター) |
作成する接続の追加のJDBCプロパティを指定します。プロパティはアンパサンド(&)で区切られ、各プロパティはキー-値ペアです。たとえば、ssl=true & sslfactory=com.amazon.redshift.ssl.NonValidatingFactoryになります。これは、SSLを使用して接続が作成されることを意味します。 |
[S3 configuration] (S3設定) |
S3に接続するための設定の詳細をSparkに使用させるtS3Configurationコンポーネントを選択します。 使用するtS3Configurationが[S3 configuration] (S3設定)リストに表示されるように、このtS3Configurationコンポーネントと共にtRedshiftConfigurationを同じジョブにドロップする必要があります。 |
[S3 temp path] (S3一時パス) |
Redshiftと送受信するデータの一時的な保存先にするS3内の場所を入力します。 このパスは、tS3Configurationの[Basic settings] (基本設定)タブで設定する必要のある一時パスからは独立しています。 |
[Table] (テーブル) |
データが書き込まれるテーブルの名前を入力します。一度に書き込みができるテーブルは1つだけです。 このテーブルが存在しない場合は、[Save mode] (保存モード)リストから[Create] (作成)を選択して、tRedshiftOutputがテーブルを作成できるようにする必要があります。 |
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 |
|
[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。 |
|
[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。 |
|
スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Save mode] (保存モード) |
指定したテーブルでtRedshiftOutputに実行させるアクションを選択します。
|
詳細設定
[Distribution style] (ディストリビューションスタイル) |
書き込むデータにtRedshiftOutputが適用するディストリビューションスタイルを選択します。 各ディストリビューションスタイルの詳細は、Distribution styles (英語のみ)をご覧ください。 |
[Define sort key] (ソートキーを定義) |
データの特定のカラムをベースに書き込むデータをソートする場合は、このチェックボックスを選択します。 選択したら、ソートのキーとして使用するカラムを選択する必要があります。各種のソートキーについては、Choosing sort keys (英語のみ)をご覧ください。 |
[Use staging table] (ステージングテーブルを使用) |
[Use staging table] (ステージングテーブルを使用)チェックボックスをオンにして、tRedshiftOutputがデータを作成し、ステージングテーブルに書き込むことができるようにします。この書き込みが成功したら、ターゲットテーブルをステージングテーブルに置き換えます。 この機能は、[Save mode] (保存モード)リストで[Overwrite] (上書き)を選択している場合のみ利用できます。また、上書きのターゲットテーブルの高可用性を維持する必要がある場合にお勧めします。 |
[Define pre-actions] (プレアクションを定義) |
このチェックボックスをオンにして、フィールドが表示されたら、tRedshiftOutputがデータの書き込みを開始する前に実行される、セミコロン(;)で区切られたSQLステートメントのリストを追加します。 たとえば、次のステートメントを使用すると、MovieテーブルとDirectorテーブルの条件を満たすすべての行がMovieテーブルから削除されます。
delete from movie using director where movie.movieid=director.directorid; |
[Define post-actions] (ポストアクションを定義) |
このチェックボックスをオンにして、フィールドが表示されたら、tRedshiftOutputがデータの書き込みに成功した後で実行されている、セミコロン(;)で区切られたSQLステートメントのリストを追加します。 たとえば、次のステートメントを使用して、Movieテーブルに対する[Select] (選択)権限をユーザーychenに付与します。
grant select on table movie to ychen; |
[Define extra copy options] (追加コピーオプションを定義) |
このチェックボックスをオンにして、フィールドが表示されたら、データの書き込みと共に実行される、セミコロン(;)で区切られたSQLステートメントのリストを追加します。 tRedshiftOutputは、Redshift SQLの[Copy] (コピー)ステートメントを使用してデータを書き込みます。ここに追加するSQLステートメントのリストは、[Copy] (コピー)ステートメントに実際に追加されます。したがって、この[Copy] (コピー)コマンドの末尾で意味をなすステートメントのみを使用すべきです。たとえば、圧縮エンコーディングが[Copy] (コピー)の実行中に自動的に適用されるかどうかを制御するために使用されるCOMPUPDATEです。 選択可能な追加オプションの詳細は、Optional parameters (英語のみ)をご覧ください。 |
使用方法
使用ルール |
このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。 このコンポーネントは、Redshiftに接続するために同じジョブ内にあるtRedshiftConfigurationコンポーネントを使用する必要があります。tRedshiftConfigurationを使用するには、このコンポーネントと共にtRedshiftConfigurationコンポーネントをドロップし、このコンポーネントの[Basic settings] (基本設定)を指定する必要があります。 このコンポーネントは、所属するSpark Batchのコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。 特に明記していない限り、このドキュメントのシナリオでは、標準ジョブ、つまり従来の Talend データ統合ジョブだけを扱います。 |
[Spark Connection] (Spark接続) |
[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |