Apache Spark BatchのtOracleInputプロパティ - 7.3

Oracle

EnrichVersion
Cloud
7.3
EnrichProdName
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
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Oracle
データガバナンス > サードパーティーシステム > DBコンポーネント > Oracle
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Oracle

このプロパティはSpark Batchジョブフレームワークで実行されているtOracleInputを設定するために使います。

Spark Batch tOracleInputコンポーネントはデータベースファミリーのコンポーネントです。

また、このコンポーネントを使うと、RDS Oracleデータベースから接続し、データを読み取ることができます。

このフレームワーク内のコンポーネントは、ビッグデータ対応のサブスクリプションTalend 製品すべて、およびTalend Data Fabricで使用できます。

基本設定

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

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

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

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

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

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

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

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

注: ジョブに親ジョブと子ジョブが含まれている時は、2つのレベルの間の既存の接続を共有する必要がな場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、以下を実行する必要があります。
  1. 親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの[Basic settings] (基本設定)ビューに登録します。

  2. 子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。

ジョブレベルをまたがってデータベース接続を共有する方法の例は、『 Talend Studio ユーザーガイド』を参照してください。

[Connection type] (接続の種類)

利用可能なドライバーは次のとおりです。

  • Oracle OCI: Oracleデータベースへのインターフェイスを提供する一連のC言語ソフトウェアAPIでOracle Callインターフェイスを使用するには、この接続タイプを選択します。

  • Oracle Custom: クラスター化されたデータベースにアクセスするには、この接続タイプを選択します。このタイプの接続では、[Username] (ユーザー名)および[Password] (パスワード)フィールドが非アクティブになり、表示されるURLフィールドに接続URLを入力する必要があります。

    このURLの有効な形式の詳細は、OracleドキュメンテーションでJDBC接続文字列を参照してください。

  • [Oracle Service Name] (Oracleサービス名): リモートデータベースへの接続時に指定するTNSエイリアスを使用するには、この接続タイプを選択します。

  • WALLET: Oracle Walletに認証情報を保管するには、この接続タイプを選択します。

  • Oracle SID: システム上の特定のデータベースを一意識別するには、この接続タイプを選択します。

[DB Version] (DBバージョン)

使用中のOracleバージョンを選択します。

[Host] (ホスト)

データベースサーバーのIPアドレス。

[Port] (ポート)

DBサーバーのリスニングポート番号。

[Database] (データベース)

データベースの名前。

[Oracle schema] (Oracleスキーマ)

Oracleスキーマ名。

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

DBユーザー認証データ。

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

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

スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。

スキーマを変更するには[Edit schema] (スキーマの編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを使用できます。

  • [View schema] (スキーマの表示): スキーマのみを表示する場合は、このオプションを選択します。

  • [Change to built-in property] (組み込みのプロパティに変更): ローカルで変更を行うためにスキーマを組み込みに変更する場合は、このオプションを選択します。

  • [Update repository connection] (リポジトリー接続を更新): リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。変更を現在のジョブにのみ反映する場合は、変更後、[No] (いいえ)を選択し、[Repository Content] (リポジトリーのコンテンツ)ウィンドウで再びこのスキーマのメタデータを選択します。

 

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

 

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

[Table Name] (テーブル名)

データを読み取るテーブルの名前を入力します。

[Query Type] (クエリータイプ)および[Query] (クエリー)

スキーマ定義に対応する必要がある、フィールドの適切な順序に特に注意を払うデータベースクエリーステートメントを指定します。

Spark V2.0以降を使用している場合、Spark SQLはデータベーステーブルのプレフィックスを認識しません。つまり、たとえば、このテーブルが属するスキーマを示すプレフィックスを追加せずに、テーブル名のみを入力する必要があります。

たとえば、system.mytableテーブルでクエリーを実行する必要がある場合(systemプレフィックスはmytableテーブルが属するスキーマを示す)、mytableのみを入力する必要があります。

詳細設定

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

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

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

[Spark SQL JDBC parameters] (Spark SQL JDBCパラメーター)

Spark SQLでサポートされているJDBCプロパティをこのテーブルに追加します。ユーザーが設定可能なプロパティのリストについては、「JDBCと他のデータベース」を参照してください。

このコンポーネントは、urldbtabledriverのプロパティを、[Basic settings] (基本設定)タブの設定を使って自動的に設定します。

[Trim all the String/Char columns] (すべての文字列/文字カラムをトリミング)

すべてのStringカラム/Charカラムの先頭や末尾の空白を削除する場合は、このチェックボックスをオンにします。

[Trim column] (カラムのトリミング)

定義されたカラムから先頭や末尾の空白を削除します。

[Enable partitioning] (パーティショニングを有効化)

このチェックボックスをオンにしてパーティション内のデータを読み取ります。

次のパラメーターを二重引用符内に定義して、パーティションを設定します。
  • Partition column (パーティションカラム): パーティションキーとして使用する数値の列。

  • [Lower bound of the partition stride] (パーティションストライドの下限)[Upper bound of the partition stride] (パーティションストライドの上限): パーティションストライドを決定する上限と下限を入力します。これらの制限はテーブルの行をフィルタリングしません。テーブルのすべての行がパーティション化され、返されます。

  • Number of partitions (パーティション数): テーブルの行を分割するパーティションの数。各Sparkワーカーは一度に1つのパーティションだけを処理します。

パーティションの平均サイズは、パーティションの数で分割された上限と下限から生じる相違の結果で、(upperBound - lowerBound)/partitionNumberとなります。その一方で、最初と最後のパーティションには、他のパーティションに含まれない他のすべての行もあります。

たとえば、1000行を4つのパーティションに分ける場合、下限に0、上限に1000を入力すると、各パーティションには250行が含まれるので、パーティション化は均等になります。下限に250、上限に750を入力した場合、2番目と3番目のパーティションにはそれぞれ125行ずつ保管され、最初と最後のパーティションにはそれぞれ375行入ります。この設定では、パーティションに偏りが生じます。

使用方法

使用ルール

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

このコンポーネントは、Oracleに接続するために同じジョブ内にあるtOracleConfigurationコンポーネントを使う必要があります。[Use an existing connection] (既存の接続を使用する)チェックボックスをオンにして、使うtOracleConfigurationコンポーネントを選択する必要があります。

このコンポーネントは、所属するSpark Batchコンポーネントのパレットと共に、Spark Batchジョブを作成している場合にだけ表示されます。

特に明記していない限り、このドキュメントのシナリオでは、[Standard] (標準)ジョブ、つまり従来の Talend データ統合ジョブだけを扱います。

[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)に直接書き込まれます。

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