[Hadoop] [API] [翻訳] Class FileInputFormat&ltK,V&gt

[Hadoop] [API] [翻訳] Class FileInputFormat&ltK,V&gtorg.apache.hadoop.mapred

Class FileOutputFormat<K,V>

java.lang.Object
└ org.apache.hadoop.mapred.FileOutputFormat<K,V>

実装しているインターフェース:
OutputFormat<K,V>

直系のサブクラス:
IndexUpdateOutputFormat, MapFileOutputFormat, MultipleOutputFormat, SequenceFileOutputFormat, TextOutputFormat

public abstract class FileOutputFormat<K,V>
extends Object
implements OutputFormat<K,V>

OutputFormat クラスのベース


階層クラス

static class FileOutputFormat.Counter


コンストラクタ

FileOutputFormat()


メソッド

void checkOutputSpecs(FileSystem ignored, JobConf job)
ジョブのアウトプット仕様の妥当性を検証

static boolean getCompressOutput(JobConf conf)
ジョブ出力の圧縮有無

static Class<? extends CompressionCodec> getOutputCompressorClass(JobConf conf, Class<? extends CompressionCodec> defaultValue)
ジョブ出力の圧縮コーデックを取得

static Path getOutputPath(JobConf conf)
マップリデュースジョブの出力ディレクトリパスを取得

static Path getPathForCustomFile(JobConf conf, String name)
ヘルプ関数がユニークなジョブ出力ディレクトリパスを生成

abstract RecordWriter<K,V> getRecordWriter(FileSystem ignored, JobConf job, String name, Progressable progress)
ジョブに提供されたRecordWriterを取得

static Path getTaskOutputPath(JobConf conf, String name)
ヘルプ関数がタスクのテンポラリー出力ディレクトリの生成と出力ファイルのパスを返す

static String getUniqueName(JobConf conf, String name)
ヘルプ関数がユニークタスクのネームを生成

static Path getWorkOutputPath(JobConf conf)
マップリデュースジョブのテンポラリー出力ディレクトリパスを取得
タスクの副作用ファイル

static void setCompressOutput(JobConf conf, boolean compress)
ジョブの出力を圧縮するかを設定

static void setOutputCompressorClass(JobConf conf, Class<? extends CompressionCodec> codecClass)
ジョブ出力を圧縮するコンプレッションコーデックを設定

static void setOutputPath(JobConf conf, Path outputDir)
マップリデュースジョブの出力ディレクトリパスを設定

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait


コンストラクタ詳細

FileOutputFormat
public FileOutputFormat()

メソッド詳細

setCompressOutput
public static void setCompressOutput(JobConf conf, boolean compress)
ジョブの出力を圧縮するかを設定
Parameters:
JobConf
出力するジョブの圧縮有無

getCompressOutput
public static boolean getCompressOutput(JobConf conf)
出力するジョブの圧縮有無
Parameters:
JobConf
Returns:
圧縮時にtrueを、他はfalseを返す

setOutputCompressorClass
public static void setOutputCompressorClass(JobConf conf, Class<? extends CompressionCodec> codecClass)
ジョブ出力を圧縮するコンプレッションコーデックを設定
Parameters:
JobConf
CompressionCodec

getOutputCompressorClass
public static Class<? extends CompressionCodec> getOutputCompressorClass(JobConf conf, Class<? extends CompressionCodec> defaultValue)
ジョブ出力の圧縮コーデックを取得
Parameters:
JobConf
未設定時に返す標準 CompressionCodec
Returns:
出力ジョブの圧縮に使われる CompressionCodec
Throws:
IllegalArgumentException - if the class was specified, but not found

getRecordWriter
public abstract RecordWriter<K,V> getRecordWriter(FileSystem ignored, JobConf job, String name, Progressable progress) throws IOException
Description copied from interface: OutputFormat
ジョブに提供されたRecordWriterを取得
Specified by:
getRecordWriter in interface OutputFormat<K,V>
出力ジョブの構成ファイル
出力パートのユニークネーム
処理中に経過報告をするメカニズム
Returns:
ジョブに使うRecordWriterの出力
Throws:
IOException

checkOutputSpecs
public void checkOutputSpecs(FileSystem ignored, JobConf job) throws FileAlreadyExistsException, InvalidJobConfException, IOException
Description copied from interface: OutputFormat
ジョブのアウトプット仕様の妥当性を検証
ジョブが送信された時に出力仕様の妥当性を通常は実行された後に検証し例外はスルーするので出力は上書きされない
Specified by:
checkOutputSpecs in interface OutputFormat<K,V>
job - job configuration.
Throws:
IOException - when output should not be attempted
FileAlreadyExistsException
InvalidJobConfException

setOutputPath
public static void setOutputPath(JobConf conf, Path outputDir)
マップリデュースジョブの出力ディレクトリパスを設定
Parameters:
ジョブ構成
出力ディレクトリパス

getOutputPath
public static Path getOutputPath(JobConf conf)
マップリデュースジョブの出力ディレクトリパスを取得
Returns:
出力ディレクトリパス
See Also:
getWorkOutputPath(JobConf)

getWorkOutputPath
public static Path getWorkOutputPath(JobConf conf)
マップリデュースジョブのテンポラリー出力ディレクトリパスを取得
タスクの副作用ファイル
注:
以下はOutputCommitter が FileOutputCommitterの場合に有効である。もし、OutputCommitterが
FileOutputCommitterではない場合にはタスクのテンポラリー出力ディレクトリはgetOutputPath(JobConf) と同一になる 例.${mapred.output.dir}$
いくつかのアプリケーションでは、実際のjob-outputsとは異なるside-filesの生成と書き込みが必要になる。
このような場合、同一のTIP (running simultaneously e.g. speculative tasks)の2つのインスンタスがHDFS上の同一のファイル(パス)のオープンとwrite-toを試みることができる。したがってapplication-writerはユニークなペアのask-attemptネームを取得剃る必要があり、ペアのTIPではない。(例:attemptedを使用すると attempt_200709221812_0001_m_000000_0 )
Map-Reduceフレームワークは、HDFS上の各task-attemptによるapplication-writer出力のために、${mapred.output.dir}/_temporary/_${tasked}サブディレクトリの保守を回避します
task-attemptファイルが完了すると、${mapred.output.dir}/_temporary/_${taskid} (only) は${mapred.output.dir}に更新される。またフレームワークは失敗したtask-attemptsのサブディレクトリを破棄することで、アプリケーションを完全な透過にする
reduce-taskの実行中に、application-writerは生成されたいくつかのサイドファイルを利用し${mapred.work.output.dir}を必要とすることができます
例:getWorkOutputPath(JobConf)を経由しフレームワークは同様にサイドファイルを移動することで、task-attempt毎にユニークなパスを選ぶ必要がなくなります。
注:
task-attemptの実行中の${mapred.work.output.dir} のバリューは実際には、${mapred.output.dir}/_temporary/_{$taskid}とともにマップリデュースフレームワークに設定されることで、マップリデュースタスクが活用する機能から生成されるいくつかの side-filesはgetWorkOutputPath(JobConf)が返すパスに含まれる
マップの出力から、全体のディスカッション reducer=NONEによるマップのジョブでも成り立つ(例: 0 reduces)その場合はHDFSに直に接続する

Returns:
マップリデュースジョブのテンポラリー出力ディレクトリパス

getTaskOutputPath
public static Path getTaskOutputPath(JobConf conf, String name) throws IOException
ヘルプ関数がタスクのテンポラリー出力ディレクトリの生成と出力ファイルのパスを返す
Parameters:
ジョブ構成
テンポラリータスク出力ネーム
Returns:
テンポラリー出力ファイルパス
Throws:
IOException

getUniqueName
public static String getUniqueName(JobConf conf, String name)
ヘルプ関数がユニークタスクのネームを生成
生成されたネームは、作成するジョブの異なるタスクのカスタムファイルに使うことができ、異なるタスクはお互いに衝突しない。
与えられたネームは、接尾をタスクタイプで振られる。マップのための'm'、リデュースとタスクパーティーションナンバーの'r'、例としてテストとネームを与え走らせたmap oジョブが生成するネームは、'test-m-00000'となる
Parameters:
ジョブ構成
ユニークなネーム
Returns:
すべてのジョブのタスク間でのユニークなネーム

getPathForCustomFile
public static Path getPathForCustomFile(JobConf conf, String name)
ヘルプ関数がユニークなジョブ出力ディレクトリパスを生成
パスはマップアンドリデュースタスクのカスタムファイルファイルに使うことができ、パスネームは各タスクでユニークになる。ジョブの出力ディレクトリがパスの親階層となる。
このメソッドは、 getUniqueName(org.apache.hadoop.mapred.JobConf, java.lang.String)を使用しタスク毎のユニークなファイルネームを作成する
Parameters:
ジョブ構成
ファイルネーム
Returns:
すべてのジョブのタスク間でのユニークなパス

原文:
Class FileOutputFormat (Hadoop 0.20.205.0 API)

不備や気づいた点ありましたらコメントいただけると助かります。

About the author
  • コメントを残す