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

tHDFSOutput MapReduceプロパティ(非推奨)

Availability-note非推奨

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

MapReduce tHDFSOutputコンポーネントは、MapReduceファミリーに属しています。

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

MapReduceのフレームワークは、Talend 7.3以降非推奨となります。Apache SparkのTalendジョブを使って、インテグレーションタスクを実行します。

基本設定

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

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

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

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

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

[Hadoop Cluster] (Hadoopクラスター)ノードの詳細は、Getting Started Guideをご覧ください。

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

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

 

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

 

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

フォルダー

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

Talend Map/Reduceジョブは、最終結果だけでなく、Map/Reduce計算を実行する際に生成される複数のpart-ファイルもターゲットフォルダーに書き込む必要があるため、このパスはファイルではなくフォルダーを指している必要があります。

[Run] (実行)ビューの[Hadoop configuration] (Hadoop構成)タブで使用するHadoopディストリビューションの接続が正しく構成されていることを確認する必要があることにご注意ください。

Type (タイプ)

処理するファイルのタイプを選択します。ファイルのタイプは以下の場合があります。
  • [Text file] (テキストファイル)

  • [Sequence file] (シーケンスファイル): Hadoopシーケンスファイルはバイナリキー-値ペアで構成されており、Map/Reduceのフレームワークに適しています。詳細は、http://wiki.apache.org/hadoop/SequenceFileをご覧ください。

    [Sequence file] (シーケンスファイル)形式を選択したら、[Key column] (キーカラム)リストと[Value column] (値カラム)リストが表示され、処理するそのシーケンスファイルのキーと値を選択できます。

アクション

HDFSでオペレーションを選択します。

[Create] (作成): ファイルを作成して、そこにデータを書き込みます。

[Overwrite] (上書き): [Folder] (フォルダー)フィールドで指定されたディレクトリーに存在するファイルを上書きします。

[Row separator] (行区切り)

行の終端を識別するために使用される区切り。

このフィールドはシーケンスファイルでは使用できません。

[Field separator] (フィールド区切り)

転送されたデータのフィールドを区切る場合は、文字、文字列、正規表現のいずれかを入力します。

このフィールドはシーケンスファイルでは使用できません。

[Include header] (ヘッダーを含める)

データのヘッダーを出力するには、このチェックボックスをオンにします。

このオプションはシーケンスファイルでは使用できません。

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

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

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

このオプションはシーケンスファイルでは使用できません。

[Compression] (圧縮)

[Compress the data] (データの圧縮)チェックボックスをオンにすると、出力データが圧縮されます。

Hadoopではファイルの保存に必要な領域を削減し、データ転送を高速化するための圧縮形式が異なります。圧縮ファイルを読み取る場合、Studioでは入力フローにフィードする前に展開する必要があります。

書き込まれるファイルの種類がシーケンスファイルの場合、圧縮アルゴリズムはこのシーケンスファイルのコンテナーファイル(part-ファイル)内に組み込まれていることにご注意ください。これらのファイルは、MapReduceジョブ内のtHDFSInputなどの Talend コンポーネントやシーケンスファイル形式を読み取れる他のアプリケーションで読むことができます。またはタイプがText File (テキストファイル)の場合、出力ファイルにはbzip2またはgzipコンテナーファイルを読み取れる標準の圧縮ユーティリティを使用してアクセスできます。

[Merge result to single file] (結果を1つのファイルにマージ)

このチェックボックスを選択すると、最終部分のファイルが1つのファイルにマージされ、指定したディレクトリーに保存されます。

選択した場合、マージしたファイルを保存するフォルダーのパスを入力するか参照する必要があります。このディレクトリーが存在しない場合は、自動的に作成されます。

ソースとターゲットファイルの管理では、次のチェックボックスを使用します:
  • [Remove source dir] (ソースディレクトリーを削除): このチェックボックスを選択すると、マージ後にソースファイルが削除されます。

  • ターゲットファイルを上書き: このチェックボックスを選択すると、対象の場所に既に存在するファイルが上書きされます。このオプションでフォルダーは上書きされません。

このコンポーネントがDatabricksクラスターでマージされたファイルを書き込んでいる場合は、クラスターのSpark構成コンソールに次のパラメーターを追加します。
spark.sql.sources.commitProtocolClass org.apache.spark.sql.execution.datasources.SQLHadoopMapReduceCommitProtocol
このパラメーターは、DatabricksのDBIOサービスによって自動的に生成されたログファイルを含むマージファイルを防ぎます。

このオプションはシーケンスファイルでは使用できません。

詳細設定

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

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

[Use local timezone for date] (日付にローカルタイムゾーンを使用) ジョブが実行されるコンピューターのローカルな日付を使用する場合は、このチェックボックスを選択します。このチェックボックスをオフのままにしておくと、日付タイプのデータ形式にUTCが自動的に使用されます。

[Global Variables] (グローバル変数)

グローバル変数

ERROR_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。

Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。

フィールドまたは式に変数を入れるには、Ctrl + スペースを押して変数リストにアクセスし、リストから使用する変数を選択します。

変数の詳細は、Studio Talendユーザーガイドをご覧ください。

使用方法

使用ルール

Talend Map/Reduceジョブでは終了コンポーネントとして使用され、入力リンクとして変換コンポーネントが必要になります。一緒に使用される他のコンポーネントもMap/Reduceのコンポーネントでなければなりません。Hadoopで直接実行できるネイティブMap/Reduceコードを生成します。

Map/Reduceジョブがワークスペースで開かれると、tHDFSOutputMapReduceファミリがStudioのパレットに表示されます。

本書では、特に明記されていない限り、標準ジョブ、つまり従来の Talend データ統合ジョブ、およびMap/Reduce以外のジョブのシナリオで説明しています。

[Hadoop Connection] (Hadoop接続)

[Run] (実行)ビューの[Hadoop Configuration] (Hadoop設定)タブを使用して、ジョブ全体で特定のHadoopディストリビューションに対する接続を定義する必要があります。

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

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

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