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

Java custom code

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
ジョブデザインと開発 > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント
データガバナンス > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > カスタムコードコンポーネント > Javaカスタムコードコンポーネント

これらのプロパティを使用て、Spark Streamingジョブフレームワーク内で実行されているtJavaRowを設定します。

Spark StreamingtJavaRowコンポーネントはカスタムコードファミリーのコンポーネントです。

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

基本設定

[Schema] (スキーマ)および[Edit Schema] (スキーマを編集) (スキーマを編集)

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

 

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

 

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

再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。

詳細は、Talend Studioユーザーガイドでテーブルスキーマに関連する説明を参照してください。

 

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

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

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

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

ジョブで接続されている先行コンポーネントからスキーマを取得するには、[Sync columns] (カラムの同期)をクリックします。

このコンポーネントの入力スキーマと出力スキーマは異なる場合があります。

[Map type] (マップタイプ)

書き込む必要のあるマップ変換の種類を選択します。これでコンポーネントは、メソッドを自動的に選択し、カスタムコードで使用する変数を宣言できます。

使用できる種類は次のとおりです。
  • [Map] (マップ): 各入力レコードに対して返される出力レコードは1つだけです。SparkのPairFunctionメソッドが使用されます。

  • FlatMap: 各入力レコードに対して0以上の出力レコードが返されます。SparkのFlatMapFunctionメソッドが使用されます。

これらのメソッドについては、https://spark.apache.org/docs/latest/api/java/index.htmlでJava APIに関するApache Sparkのドキュメンテーションを参照してください。

[Generate code] (コードの生成)

[Code] (コード)フィールド内にコードを自動生成するには、このボタンをクリックして、入力スキーマのカラムを出力スキーマのカラムにマッピングします。この生成によって、スキーマの内容は何も変更されません。

生成されたサンプルコードは、事前定義されたどの変数が入力および出力RDDに対するものであるか、また、それらの変数をどう使用したらよいかを示します。

[Code] (コード)

[Map type] (マップの種類) ドロップダウンリストから選択したメソッドのカスタムBodyを書き込みます。入力スキーマと出力スキーマを使用して、入力および出力RDDレコードのカラムを管理する必要があります。このカスタムコードは、RDDレコード内で行ごとに適用されます。

たとえば、入力スキーマにuserカラムが含まれていれば、input.user変数を使用して各入力レコードのuserカラムを取得する必要があります。

カスタムコードの書き込みに使用できる変数については、このフィールドに表示されるデフォルトコメントを参照してください。

詳細設定

[Import] (インポート)

インポートするJavaコード、および必要に応じて[Basic settings] (基本設定)ビューの[Code] (コード)フィールドで使用されている外部ライブラリーを入力します。

使用方法

使用ルール

このコンポーネントは中間ステップとして使用されます。

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

特に明記していない限り、このドキュメントのシナリオでは、[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)に直接書き込まれます。

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

[Limitation] (制限事項)

SparkとJava言語の知識が必要です。