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

JSON

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

これらのプロパティを使って、[Spark Streaming] (Sparkストリーミング)ジョブフレームワーク内で実行されているtFileInputJSONを設定します。

[Spark Streaming] (Sparkストリーミング)tFileInputJSONコンポーネントはファイルファミリーのコンポーネントです。

このコンポーネントは、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] (リポジトリー): プロパティを保存するリポジトリーファイルを選択します。

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

File Jsonノードの詳細については、『 Talend Studio ユーザーガイド』の「JSONファイルスキーマの設定」を参照してください。

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

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

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

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

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

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

 

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

 

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

[Read By] (読み取り)

ファイル内のJSONデータを抽出する方法を選択します。

  • Xpath: XPathクエリーに基づいてJSONデータを抽出します。

  • JsonPath: JSONPathクエリーに基づいてJSONデータを抽出します。より良いパフォーマンスを得るためには、JSONPathでデータを読み込むことをお勧めします。

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

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

入力したパスがフォルダーを指す場合、そのフォルダーに格納されているすべてのファイルが読み込まれます。

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

  • DEFLATE: *.deflate

  • gzip: *.gz

  • bzip2: *.bz2

  • LZO: *.lzo

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

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

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

[Loop Json query] (ループJsonクエリー)

ループの基になっているJSONフィールド内のノードを指すパスを入力します。

[Read By] (読み取り)ドロップダウンリストから[Xpath]を選択した場合は、代わりに[Loop Xpath query] (ループXpathクエリー)フィールドが表示されます。

[Mapping] (マッピング)

スキーマで定義されたカラムを対応するJSONノードにマップするには、このテーブルを完成させてください。

  • [Column] (カラム): [Column] (カラム)セルには、定義されたスキーマ列名が自動的に入力されます。

  • Json query/JSONPath query(Jsonクエリー/JSONPathクエリー): 目的のデータを保持するJSONPathノードを指定します。JSONPath式の詳細については、http://goessner.net/articles/JsonPath/を参照してください。

    このカラムは、[Read By] (読み取り)リストからJsonPathが選択されている場合にのみ使用できます。

  • [XPath query] (XPathクエリー): 目的のデータを保持するXPathノードを指定します。

    このカラムは、[Read By] (読み取り)リストからXpathが選択されている場合にのみ使用できます。

  • [Get Nodes] (ノードの取得): このチェックボックスを選択すると、すべてのノードのJSONデータを抽出、または特定のノードの横にあるチェックボックスをオンにしてそのノードのデータを抽出します。

    このカラムは、[Read By] (読み取り)リストからXpathが選択されている場合にのみ使用できます。

詳細設定

[Set minimum partitions] (最小パーティションを設定)

このチェックボックスを選択すると、Sparkのデフォルトのパーティション分割動作により入力データから作成されるパーティションの数を制御できます。

表示されたフィールドに、取得するパーティションの最小数を引用符なしで入力します。

一般に、パーティション数の制御においては、少なくとも並列処理を実行するパーティションの数を設定できますが、利用可能なメモリ容量およびネットワークのデータ転送負荷を考慮する必要があります。

[Advanced separator (for number)] (高度な区切り文字:数値)

数値に使用する区切り記号を変更するには、このチェックボックスを選択します。デフォルトでは、桁区切り記号はコンマ(,)で、小数点区切り記号はピリオド(.)です。

[Encoding] (エンコーディング)

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

リストからエンコーディングを選択するか、[CUSTOM] (カスタム)を選択して、手動で定義します。

使用方法

使用ルール

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

このコンポーネントは、tMapコンポーネントのメインフローのルックアップフロー(結合操作の右側)を提供する目的でのみ使用されます。このような状況では、このtMapによって使用されるルックアップモデルは、1回限り読み込まれる必要があります。

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

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