Apache Spark StreamingのtJDBCOutputプロパティ - 7.3

JDBC

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > JDBC
データガバナンス > サードパーティーシステム > DBコンポーネント > JDBC
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > JDBC

これらのプロパティは、[Spark Streaming] (スパークストリーミング)ジョブフレームワークで実行されるtJDBCOutputを構成するために使用されます。

[Spark Streaming] (スパークストリーミング) tJDBCOutputコンポーネントは、データベースファミリーに属しています。

また、このコンポーネントを使用すると、RDS MariaDB、RDS PostgreSQL、またはRDS SQLServerデータベースにデータを書き込むことができます。

このコンポーネントは、Talend Real Time Big Data PlatformおよびTalend Data Fabricで使用できます。

基本設定

[Property type] (プロパティタイプ)

[Built-In] (組み込み)または[Repository] (リポジトリー)のいずれか。

 

[Built-In] (組み込み): プロパティデータは一元的に保存されません。

 

[Repository] (リポジトリー): プロパティを保存するリポジトリーファイルを選択します。

このアイコンをクリックすると、データベース接続ウィザードが開き、コンポーネント[Basic settings] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。

データベース接続パラメーターの設定と保管の詳細は、Talend Studioユーザーガイドを参照してください。

[Use an existing connection] (既存の接続を使用)

定義済みの接続の詳細を再利用するには、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)で該当する接続コンポーネントをクリックします。

JDBC URL

使用するデータベースのJDBC URL。たとえば、Amazon RedshiftデータベースのJDBC URLはjdbc:redshift://endpoint:port/databaseです。

Spark V1.3を使用している場合、このURLには次のような認証情報が含まれている必要があります:
jdbc:mysql://XX.XX.XX.XX:3306/Talend?user=ychen&password=talend

[Driver JAR] (ドライバーJAR)

必要なドライバーJARをロードするには、このテーブルに記入してください。これを行うには、テーブルの下の[+]ボタンをクリックして、必要に応じてドライバーJAR用行数を増やします。セルを選択し、セルの右側にある[...]ボタンをクリックして、[Module] (モジュール)ダイアログボックスを開くと使用するドライバーJARを選択できます。たとえば、RedshiftデータベースのドライバーjarはRedshiftJDBC41-1.1.13.1013.jarです。

詳細は、[Importing a database driver] (データベースドライバのインポート)を参照してください。

クラス名

指定したドライバーのクラス名を二重引用符で囲んで入力します。たとえば、RedshiftJDBC41-1.1.13.1013.jarドライバーの場合、入力する名前はcom.amazon.redshift.jdbc41.Driverになります。

Username (ユーザー名)Password (パスワード)

接続するデータベースに対する認証情報を入力します。

パスワードを入力するには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符の間に入力し、[OK] をクリックして設定を保存します。

Spark V1.4以降でのみ使用できます。

[Table] (テーブル)

書き込まれるテーブルの名前。一度に1つのテーブルしか書き込めないことにご注意ください。

[Schema] (スキーマ)[Edit schema] (スキーマを編集)

スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。

 

[Built-in] (組み込み): そのコンポーネントのみのスキーマを作成して、ローカルに保存します。

 

[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。

[Action on data] (データへのアクション)

定義されたテーブルのデータに対して実行する操作を選択します。

  • [Insert] (挿入): テーブルに新しいエントリを追加します。

  • [Update] (更新): 既存のエントリーが変更されます。

  • [Insert or update] (挿入または更新): 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、更新されます。

  • [Update or insert] (更新または挿入): 指定された参照を使用してレコードを更新します。レコードがインデックスプールに存在しない場合は、新しいレコードが挿入されます。

  • [Delete] (削除): 入力フローに対応するエントリーを削除します。

[Die on error] (エラー発生時に強制終了)

このチェックボックスをオンにすると、エラー発生時にジョブの実行が停止されます。

詳細設定

[Additional JDBC parameters] (その他のJDBCパラメーター)

作成するデータベース接続に追加の接続プロパティを指定します。プロパティはセミコロンで区切られ、各プロパティはキー/値ペアです。たとえば、encryption=1;clientname=Talendになります。

このフィールドは、[Use an existing connection] (既存の接続を使用)チェックボックスがオンの場合には使用できません。

左保護文字 右保護文字

使用しているデータベースによって予約されている記号を入力します。左側の部分をLeft protected char左保護文字に、右側の部分を[Right protected char]右保護文字に入力します。これにより、tJDBCOutputはこの予約記号を適切に配置してSQL式を生成できます。

たとえば、Oracleを使用している場合、二重引用符( ")はオブジェクト名用に予約されているため、これらのフィールドにそれぞれ左マークと右マークを入力する必要があります。次に実行時に tJDBCOutputは、テーブル名などのオブジェクト名を二重引用符で囲みます。

[Additional Columns] (追加のカラム)

このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、更新、削除のアクションでないこと、事前処理を必要とするアクションでないことが条件です。このオプションは、データベーステーブルを作成したばかりの時は使用できません(事前に削除した場合でも)。テーブルの下の[+]ボタンをクリックしてカラムを追加し、各カラムに次のパラメーターを設定します。

 

[Name:] (名前:)変更または挿入するスキーマカラムの名前を入力します。

 

[SQL expression:] (SQL式)対応するカラム内のデータを変更する、またはカラム内にデータを挿入するために実行するSQLステートメントを入力します。

 

[Position:] (位置:)参照カラムに対して実行されるアクションに応じて、[Before][Replace] (置換)または[After] (実行後)を選択します。

 

[Reference column] (参照カラム): 新しいカラム、または変更するカラムを探すか、または置換するために現在のコンポーネントが使用できる参照カラムを入力します。

フィールドオプションの使用

対応するカラムのリクエストをカスタマイズする場合、特に、データに対して複数のアクションが実行される場合に、このチェックボックスをオンにします。

  • [Key in update] (キー入力更新): データの更新に基づいて対応するカラムのチェックボックスをオンにします。

  • [Key in delete] (削除の入力): データ削除の基準とする対応するカラムのチェックボックスをオンにします。

  • [Updatable] (更新可能): 対応するカラムのデータを更新できる場合は、チェックボックスをオンにします。

  • 挿入可能: 対応する列のデータを挿入できる場合は、チェックボックスをオンにします。

[Use Batch] (バッチを使用)

このチェックボックスをオンにして、データ処理のバッチモードを有効にします。

このチェックボックスは、[Basic settings] (基本設定)ビューの[Action on data] (データのアクション)リストから[Insert] (挿入)[Update] (更新)、または[Delete] (削除)オプションが選択されている場合にのみ使用できます。

[Batch Size] (バッチサイズ)

各バッチで処理するレコードの数を指定します。

このフィールドは、[Use batch mode] (バッチモードの使用)チェックボックスがオンの場合にのみ表示されます。

[Connection pool] (接続プール)

このエリアでは、各Sparkエグゼキューターに、同時に開いたままにする接続の数を制御するための接続プールを設定します。以下の接続プールパラメーターに与えられているデフォルト値は、ほとんどのユースケースでそのまま使用できます。

  • [Max total number of connections] (接続の最大合計数): 同時に開いたままにしておくことができる接続(アイドルまたはアクティブ)の最大数を入力します。

    デフォルトの数は8です。-1を入力すると、同時に開いておける接続の数が無制限となります。

  • [Max waiting time (ms)] (最大待機時間(ミリ秒)): 接続使用の要求に対して接続プールからレスポンスが返されるまでの最大待機時間を入力します。デフォルトでは-1(無制限)となっています。

  • [Min number of idle connections] (アイドル接続の最小数): 接続プール内に維持されるアイドル接続(使用されていない接続)の最小数を入力します。

  • [Max number of idle connections] (アイドル接続の最大数): 接続プール内に維持されるアイドル接続(使用されていない接続)の最大数を入力します。

[Evict connections] (接続の無効化)

接続プール内の接続を破棄する条件を定義するには、このチェックボックスをオンにします。オンにすると、以下のフィールドが表示されます。

  • [Time between two eviction runs] (2つの削除実行の間隔): コンポーネントが接続のステータスを確認し、アイドル状態の接続を破棄するまでの間隔(ミリ秒)を入力します。

  • [Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間): アイドル接続が破棄されるまでの間隔(ミリ秒)を入力します。

  • [Soft min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでのソフト最小アイドル時間): このパラメーターの機能は[Min idle time for a connection to be eligible to eviction] (接続が削除可能になるまでの最小アイドル時間)と同じですが、[Min number of idle connections] (アイドル接続の最小数)フィールドで定義したアイドル接続の最小数が維持されます。

使用方法

使用ルール

このコンポーネントは終了コンポーネントとして使用され、入力リンクを必要とします。

このコンポーネントは、データベースに接続するために同じジョブ内にあるtJDBCConfigurationコンポーネントを使用する必要があります。このコンポーネントの横にtJDBCConfigurationコンポーネントをドロップし、このコンポーネントの[Basic settings] (基本設定)を設定してtJDBCConfigurationを使用する必要があります。

tJDBCOutputは、可能な限りさまざまなターゲットデータベースに柔軟に接続できますが、一部のデータベースはストリーミングデータを直接受信するように作成されていません。tJDBCOutputを使用する前に、ターゲットシステムがストリーミング操作に適合していることを確認し、この検証に基づいてアーキテクチャー設計を検証してください。

[Spark Connection] (Spark接続)

[Run] (実行)ビューの[Spark Configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
  • Yarnモード(YarnクライアントまたはYarnクラスター):
    • Google Dataprocを使用している場合、[Spark configuration] (Spark設定)タブの[Google Storage staging bucket] (Google Storageステージングバケット)フィールドにバケットを指定します。

    • HDInsightを使用している場合、[Spark configuration] (Spark設定)タブの[Windows Azure Storage configuration] (Windows Azure Storage設定)エリアでジョブのデプロイメントに使用するブロブを指定します。

    • Altusを使用する場合は、[Spark configuration] (Spark設定)タブでジョブのデプロイにS3バケットまたはAzure Data Lake Storageを指定します。
    • Quboleを使用する場合は、ジョブにtS3Configurationを追加し、QuboleでS3システム内に実際のビジネスデータを書き込みます。tS3Configurationを使用しないと、このビジネスデータはQubole HDFSシステムに書き込まれ、クラスターをシャットダウンすると破棄されます。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): tHDFSConfigurationまたはtS3Configurationなど、クラスターで使用されているファイルシステムに対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

この接続は、ジョブごとに有効になります。