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

HDFS

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Open Studio for Big Data
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ファイルコンポーネント > HDFS
データガバナンス > サードパーティーシステム > ファイルコンポーネント > HDFS
データクオリティとプレパレーション > サードパーティーシステム > ファイルコンポーネント > HDFS

これらのプロパティを使って、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] (グローバル変数)

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

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

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

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

変数の詳細は、『 Talend Studio ユーザーガイド』を参照してください。

使用方法

使用ルール

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

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

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

[Hadoop Connection] (Hadoop接続)

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

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