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

MySQL

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コンポーネント > MySQL
データガバナンス > サードパーティーシステム > DBコンポーネント > MySQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > MySQL

これらのプロパティは[Spark Batch]ジョブフレームワークで実行されるtMysqlInputの設定で使用されます。

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

また、このコンポーネントを使用すると、RDS AuroraまたはRDS MySQLデータベースからデータを接続および読み取ることができます。

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

基本設定

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

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

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

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

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

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

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

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

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

使用するデータベースのバージョンを選択します。

使用するデータベースがRDS Auroraの場合、Mysql 5を選択する必要があります。

[Host] (ホスト)

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

[Port] (ポート)

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

[Database] (データベース)

データベースの名前。

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

DBユーザー認証データ。

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

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

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

 

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

 

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

 

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

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

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

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

[Table Name] (テーブル名)

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

このフィールドは、[Read from] (読み取り元)ドロップダウンリストから[Table] (テーブル)を選択した場合にのみ利用できます。

[Read from] (読み取り元)

読み取るデータのソースのタイプを選択します。
  • [Table] (テーブル): tMysqlInputは、[Table name] (テーブル名)フィールドで指定されたテーブルのデータを読み取ります。

  • [Query] (クエリー): tMysqlInputは、[Query] (クエリー)フィールドに書き込まれたクエリーの結果を読み取ります。

[Query type] (クエリータイプ)[Query] (クエリー)

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

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

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

クエリーでプッシュダウン述語を使用して、データベースからのデータをフィルタリングできます。Sparkは次の演算子をサポートしています。
  • [Filter] (フィルター)
  • [Limit] (制限事項)

これらのフィールドは、[Read from] (読み取り元)ドロップダウンリストから[Query] (クエリー)を選択した場合にのみ利用できます。

詳細設定

[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] (カラムをトリミング)

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

注:

[Trim all the String/Char columns] (すべての文字列/文字カラムをトリミング)の選択を解除して、このフィールドのトリミングカラムを有効にします。

[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行入ります。この設定では、パーティションに偏りが生じます。

使用方法

使用ルール

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

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

このコンポーネントは、所属する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)に直接書き込まれます。

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