メイン コンテンツをスキップする 補完的コンテンツへスキップ

Apache Spark BatchのtFileInputJSONプロパティ

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

Spark BatchtFileInputJSONコンポーネントは、ファイルのコンポーネントです。

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

基本設定

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

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

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

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

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

[Built-in] (組み込み)[Repository] (リポジトリー)のいずれかです。

 

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

 

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

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

File Jsonノードの詳細は、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 Talendがサポートしているその他のSpark Yarnモードを使用している場合は、同じジョブ内の設定コンポーネントで接続を適切に設定したことを確認する必要があります。使用されるファイルシステムに応じて設定コンポーネントを使用します。

[Use S3 Select] (S3 Selectを使用)

クエリーパフォーマンスを向上させるには、このチェックボックスをオンにしてS3 Selectを使用できるようにします。次のパラメーターを該当のフィールドで設定する必要があります。
  • [Type] (タイプ): JSON形式として、ドロップダウンリストで[Lines] (行)[Document] (ドキュメント)のいずれか選択します。
  • [Use Gzip compression] (GZip圧縮を使用): ファイルにGZip圧縮を使用する場合はこのチェックボックスをオンにします。

このチェックボックスは、tS3Configurationコンポーネントをストレージ設定コンポーネントとして使用し、YARNクラスター(Amazon EMRクラスター付き)かDatabricksモードのいずれかでSpark Universalでジョブを実行する場合にのみ利用できます。

このオプションは、Talendが提供する8.0.1-R2022-12以降のStudio Talendマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。

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

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

エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。エラーをスキップしたら、[Row] (行)> [Reject] (リジェクト)リンクを使用してエラーの発生した行を収集できます。

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

ループのベースとなるノードのJSONPathまたはXPathを入力します。

[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] (カスタム)を選択して、手動で定義します。

使用方法

使用ルール

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

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

特に明記していない限り、このドキュメンテーションのシナリオでは、標準ジョブ、つまり従来の Talend Data Integrationジョブだけを扱います。

[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を指定します。
    • オンプレミスのディストリビューションを使用する場合は、クラスターで使われているファイルシステムに対応する設定コンポーネントを使用します。一般的に、このシステムはHDFSになるため、tHDFSConfigurationを使用します。

  • [Standalone mode] (スタンドアロンモード): クラスターで使われているファイルシステム(tHDFSConfiguration Apache Spark BatchtS3Configuration Apache Spark Batchなど)に対応する設定コンポーネントを使用します。

    ジョブ内に設定コンポーネントがない状態でDatabricksを使用している場合、ビジネスデータはDBFS (Databricks Filesystem)に直接書き込まれます。

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

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。