メイン コンテンツをスキップする 補完的コンテンツへスキップ

Apache Spark StreamingのtJDBCOutputプロパティ

これらのプロパティは、[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] (基本設定)ビューに設定したデータベース接続パラメーターが保存されます。

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

[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] (アップデート可能): 対応するカラムのデータをアップデートできる場合は、チェックボックスをオンにします。

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

[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 Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

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

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

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。