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

XML

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

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

Spark Streaming tFileStreamInputXMLコンポーネントはファイルファミリーのコンポーネントです。

このコンポーネントのストリーミングバージョンは、Talend Real Time Big Data PlatformおよびTalend Data Fabricで使用できます。

基本設定

[Define a storage configuration component] (ストレージ設定コンポーネントを定義)

HDFSなどのターゲットファイルシステムへの接続の設定情報を提供するために使用する設定コンポーネントを選択します。

このチェックボックスを選択解除すると、ターゲットファイルシステムはローカルシステムになります。

使用する接続設定は同じジョブ内にあることが必要です。たとえば、tHDFSConfigurationコンポーネントをジョブにドロップした場合は、このコンポーネントを選択して、所定のHDFSシステム内で結果を書き込むことができます。

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

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

 

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

 

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

プロパティは、[Repository] (リポジトリー)ツリーの[Hadoop Cluster] (Hadoopクラスター)ノードに一元的に保存されます。

後続するフィールドは、取得されたデータを使用して事前に入力されます。

[Hadoop Cluster] (Hadoopクラスター)ノードの詳細は、『Getting Started Guide』を参照してください。

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

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

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

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

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

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

 

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

 

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

[Folder/File] (フォルダー/ファイル)

ファイルシステムで使用するデータを参照するか、パスを入力します。

設定したパスがフォルダーを指す場合、このコンポーネントによりフォルダーに保管されているすべてのファイル(/user/talend/inなど)が読み取られます。サブフォルダーが存在する場合、[Spark configuration] (Spark設定)タブの[Advanced properties] (詳細プロパティ)テーブルでプロパティspark.hadoop.mapreduce.input.fileinputformat.input.dir.recursivetrueに設定しない限り、サブフォルダーは自動的に無視されます。
  • 使用するファイルシステムに応じて、ジョブに配置されたHDFS向けtHDFSConfigurationコンポーネント、S3向けtS3Configurationコンポーネント、Azure StorageおよびAzure Data Lake Storage向けtAzureFSConfigurationなど、対応する設定コンポーネントを適切に設定します。

このフィールドに複数のファイルまたはディレクトリーを指定する場合は、パスをそれぞれコンマ(,)で区切ります。

読み込むファイルが圧縮されている場合は、拡張子を付けてファイル名を入力します。するとttFileInputXMLは実行時に自動的に解凍します。サポートされている圧縮形式と対応する拡張子は次のとおりです。

  • DEFLATE: *.deflate

  • gzip: *.gz

  • bzip2: *.bz2

  • LZO: *.lzo

参照用のボタンはSpark Localモードでは機能しません。お使いのディストリビューションでStudioがサポートしているその他のSpark Yarnモードを使用している場合は、同じジョブ内の設定コンポーネント(tHDFSConfigurationなど)で接続を適切に設定したことを確認する必要があります。使用されるファイルシステムに応じて設定コンポーネントを使用します。

抽出するエレメント

入力XMLデータの内容と子エレメントを読み取る必要のあるエレメントを入力します。

このフィールドで定義されたエレメントは、このコンポーネント内で指定された任意のXPathのルートノードで使用されます。このエレメントは、元のドキュメントが大きい場合でも、また入力が分割されている場合でもこのエレメント内の行をマッパータスクに正しく分散できるように、使用するXMLデータの原子単位を定義するのに役立ちます。

このエレメントの外側のコンテンツは無視され、このエレメントの子エレメントにこのエレメント自体を含めることはできません。

ループXPathクエリー

ループが基礎となっているツリーのノード。

そのルートは、[Element to extract] (抽出するエレメント)フィールドで定義したエレメントです。

[Mapping] (マッピング)

[Column] (カラム): マップするカラム。スキーマタイプフィールドで定義されているスキーマを反映します。

[XPath Query] (XPathクエリー): 構造化入力から抽出する項目を入力します。

[Get Nodes] (ノードの取得): このチェックボックスを選択すると、[Xpath query] (Xpathクエリー)リストで指定されたすべての現在のノードのXMLコンテンツが回復します。また、特定のXMLノードの横にあるチェックボックスを選択すると、選択したノードのコンテンツのみが回復します。これらのノードは、このコンポーネントからの出力フローがXML構造(たとえばドキュメントデータ型)を使用する必要がある時に重要です。

ドキュメント型の詳細については、 Talend Studioユーザーガイドを参照してください。

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

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

詳細設定

[Custom encoding] (カスタムエンコーディング)

保管データを処理する際、エンコーディングの問題が発生することがあります。このような場合は、チェックボックスを選択して[Encoding] (エンコーディング)リストを表示します。

リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。このフィールドはデータベースデータ処理の必須フィールドです。サポートされるエンコーディングは、使用しているJVMに応じて異なります。詳細は、https://docs.oracle.comを参照してください。

使用方法

使用ルール

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

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

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

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