{"name":"hadoop-mapreduce-client-core","version":"2.7.3","classes":{"org.apache.hadoop.mapred.FixedLengthInputFormat":{"name":"org.apache.hadoop.mapred.FixedLengthInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void setRecordLength(org.apache.hadoop.conf.Configuration, int)":{"name":"setRecordLength","returnType":"void","args":["org.apache.hadoop.conf.Configuration","int"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"int getRecordLength(org.apache.hadoop.conf.Configuration)":{"name":"getRecordLength","returnType":"int","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.CombineFileSplit":{"name":"org.apache.hadoop.mapred.lib.CombineFileSplit","methods":{"org.apache.hadoop.mapred.JobConf getJob()":{"name":"getJob","returnType":"org.apache.hadoop.mapred.JobConf","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorMapper":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void map(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.HashPartitioner":{"name":"org.apache.hadoop.mapred.lib.HashPartitioner","methods":{"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.OutputFormat":{"name":"org.apache.hadoop.mapreduce.OutputFormat","methods":{"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.CounterGroup":{"name":"org.apache.hadoop.mapreduce.CounterGroup","methods":{}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorJob":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorJob","methods":{"org.apache.hadoop.mapred.jobcontrol.JobControl createValueAggregatorJobs([Ljava.lang.String;, [Ljava.lang.Class;) throws java.io.IOException":{"name":"createValueAggregatorJobs","returnType":"org.apache.hadoop.mapred.jobcontrol.JobControl","args":["[Ljava.lang.String;","[Ljava.lang.Class;"],"exceptions":["java.io.IOException"]},"void setAggregatorDescriptors(org.apache.hadoop.mapred.JobConf, [Ljava.lang.Class;)":{"name":"setAggregatorDescriptors","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","[Ljava.lang.Class;"],"exceptions":[]},"org.apache.hadoop.mapred.JobConf createValueAggregatorJob([Ljava.lang.String;, [Ljava.lang.Class;) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapred.JobConf","args":["[Ljava.lang.String;","[Ljava.lang.Class;"],"exceptions":["java.io.IOException"]},"void main([Ljava.lang.String;) throws java.io.IOException":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobConf createValueAggregatorJob([Ljava.lang.String;, [Ljava.lang.Class;, java.lang.Class) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapred.JobConf","args":["[Ljava.lang.String;","[Ljava.lang.Class;","java.lang.Class"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.jobcontrol.JobControl createValueAggregatorJobs([Ljava.lang.String;) throws java.io.IOException":{"name":"createValueAggregatorJobs","returnType":"org.apache.hadoop.mapred.jobcontrol.JobControl","args":["[Ljava.lang.String;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobConf createValueAggregatorJob([Ljava.lang.String;) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapred.JobConf","args":["[Ljava.lang.String;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobConf createValueAggregatorJob([Ljava.lang.String;, java.lang.Class) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapred.JobConf","args":["[Ljava.lang.String;","java.lang.Class"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.InvalidInputException":{"name":"org.apache.hadoop.mapreduce.lib.input.InvalidInputException","methods":{"java.util.List getProblems()":{"name":"getProblems","returnType":"java.util.List","args":[],"exceptions":[]},"java.lang.String getMessage()":{"name":"getMessage","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.aggregate.UserDefinedValueAggregatorDescriptor":{"name":"org.apache.hadoop.mapred.lib.aggregate.UserDefinedValueAggregatorDescriptor","methods":{"java.lang.Object createInstance(java.lang.String)":{"name":"createInstance","returnType":"java.lang.Object","args":["java.lang.String"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.Counters$Counter":{"name":"org.apache.hadoop.mapred.Counters$Counter","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"void setDisplayName(java.lang.String)":{"name":"setDisplayName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"boolean contentEquals(org.apache.hadoop.mapred.Counters$Counter)":{"name":"contentEquals","returnType":"boolean","args":["org.apache.hadoop.mapred.Counters$Counter"],"exceptions":[]},"java.lang.String makeEscapedCompactString()":{"name":"makeEscapedCompactString","returnType":"java.lang.String","args":[],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"long getValue()":{"name":"getValue","returnType":"long","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"java.lang.String getName()":{"name":"getName","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter getUnderlyingCounter()":{"name":"getUnderlyingCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":[],"exceptions":[]},"void increment(long)":{"name":"increment","returnType":"void","args":["long"],"exceptions":[]},"void setValue(long)":{"name":"setValue","returnType":"void","args":["long"],"exceptions":[]},"java.lang.String getDisplayName()":{"name":"getDisplayName","returnType":"java.lang.String","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"long getCounter()":{"name":"getCounter","returnType":"long","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.CombineFileRecordReaderWrapper":{"name":"org.apache.hadoop.mapred.lib.CombineFileRecordReaderWrapper","methods":{"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.LongSumReducer":{"name":"org.apache.hadoop.mapred.lib.LongSumReducer","methods":{"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.CombineFileSplit":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineFileSplit","methods":{"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"long getLength(int)":{"name":"getLength","returnType":"long","args":["int"],"exceptions":[]},"long getLength()":{"name":"getLength","returnType":"long","args":[],"exceptions":[]},"[Lorg.apache.hadoop.fs.Path; getPaths()":{"name":"getPaths","returnType":"[Lorg.apache.hadoop.fs.Path;","args":[],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"long getOffset(int)":{"name":"getOffset","returnType":"long","args":["int"],"exceptions":[]},"org.apache.hadoop.fs.Path getPath(int)":{"name":"getPath","returnType":"org.apache.hadoop.fs.Path","args":["int"],"exceptions":[]},"[J getLengths()":{"name":"getLengths","returnType":"[J","args":[],"exceptions":[]},"[J getStartOffsets()":{"name":"getStartOffsets","returnType":"[J","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"int getNumPaths()":{"name":"getNumPaths","returnType":"int","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.db.DBConfiguration":{"name":"org.apache.hadoop.mapreduce.lib.db.DBConfiguration","methods":{"java.lang.String getInputQuery()":{"name":"getInputQuery","returnType":"java.lang.String","args":[],"exceptions":[]},"void setInputClass(java.lang.Class)":{"name":"setInputClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"void setOutputFieldCount(int)":{"name":"setOutputFieldCount","returnType":"void","args":["int"],"exceptions":[]},"java.lang.String getInputTableName()":{"name":"getInputTableName","returnType":"java.lang.String","args":[],"exceptions":[]},"[Ljava.lang.String; getInputFieldNames()":{"name":"getInputFieldNames","returnType":"[Ljava.lang.String;","args":[],"exceptions":[]},"void setOutputTableName(java.lang.String)":{"name":"setOutputTableName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"java.sql.Connection getConnection() throws java.sql.SQLException, java.lang.ClassNotFoundException":{"name":"getConnection","returnType":"java.sql.Connection","args":[],"exceptions":["java.sql.SQLException","java.lang.ClassNotFoundException"]},"java.lang.String getInputBoundingQuery()":{"name":"getInputBoundingQuery","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.String getInputOrderBy()":{"name":"getInputOrderBy","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.Class getInputClass()":{"name":"getInputClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"void setInputTableName(java.lang.String)":{"name":"setInputTableName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setInputCountQuery(java.lang.String)":{"name":"setInputCountQuery","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setInputOrderBy(java.lang.String)":{"name":"setInputOrderBy","returnType":"void","args":["java.lang.String"],"exceptions":[]},"int getOutputFieldCount()":{"name":"getOutputFieldCount","returnType":"int","args":[],"exceptions":[]},"void setInputConditions(java.lang.String)":{"name":"setInputConditions","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setInputQuery(java.lang.String)":{"name":"setInputQuery","returnType":"void","args":["java.lang.String"],"exceptions":[]},"java.lang.String getInputConditions()":{"name":"getInputConditions","returnType":"java.lang.String","args":[],"exceptions":[]},"void configureDB(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String, java.lang.String, java.lang.String)":{"name":"configureDB","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String","java.lang.String","java.lang.String","java.lang.String"],"exceptions":[]},"void configureDB(org.apache.hadoop.conf.Configuration, java.lang.String, java.lang.String)":{"name":"configureDB","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String","java.lang.String"],"exceptions":[]},"void setInputBoundingQuery(java.lang.String)":{"name":"setInputBoundingQuery","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setInputFieldNames([Ljava.lang.String;)":{"name":"setInputFieldNames","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":[]},"[Ljava.lang.String; getOutputFieldNames()":{"name":"getOutputFieldNames","returnType":"[Ljava.lang.String;","args":[],"exceptions":[]},"java.lang.String getOutputTableName()":{"name":"getOutputTableName","returnType":"java.lang.String","args":[],"exceptions":[]},"void setOutputFieldNames([Ljava.lang.String;)":{"name":"setOutputFieldNames","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":[]},"java.lang.String getInputCountQuery()":{"name":"getInputCountQuery","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.Partitioner":{"name":"org.apache.hadoop.mapred.Partitioner","methods":{"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.output.FilterOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.FilterOutputFormat","methods":{"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.reduce.LongSumReducer":{"name":"org.apache.hadoop.mapreduce.lib.reduce.LongSumReducer","methods":{"void reduce(java.lang.Object, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorJobBase":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorJobBase","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.KeyValueLineRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.input.KeyValueLineRecordReader","methods":{"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int findSeparator([B, int, int, byte)":{"name":"findSeparator","returnType":"int","args":["[B","int","int","byte"],"exceptions":[]},"java.lang.Class getKeyClass()":{"name":"getKeyClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"org.apache.hadoop.io.Text getCurrentValue()":{"name":"getCurrentValue","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.Text getCurrentKey()":{"name":"getCurrentKey","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"boolean nextKeyValue() throws java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.io.IOException"]},"void setKeyValue(org.apache.hadoop.io.Text, org.apache.hadoop.io.Text, [B, int, int)":{"name":"setKeyValue","returnType":"void","args":["org.apache.hadoop.io.Text","org.apache.hadoop.io.Text","[B","int","int"],"exceptions":[]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader","methods":{}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFilter":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFilter","methods":{"void setFilterClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setFilterClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.chain.ChainMapper":{"name":"org.apache.hadoop.mapreduce.lib.chain.ChainMapper","methods":{"void run(org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void addMapper(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, org.apache.hadoop.conf.Configuration) throws java.io.IOException":{"name":"addMapper","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","org.apache.hadoop.conf.Configuration"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.RecordReader":{"name":"org.apache.hadoop.mapred.RecordReader","methods":{"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorBaseDescriptor":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorBaseDescriptor","methods":{"org.apache.hadoop.mapred.lib.aggregate.ValueAggregator generateValueAggregator(java.lang.String)":{"name":"generateValueAggregator","returnType":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregator","args":["java.lang.String"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"java.util.Map$Entry generateEntry(java.lang.String, java.lang.String, org.apache.hadoop.io.Text)":{"name":"generateEntry","returnType":"java.util.Map$Entry","args":["java.lang.String","java.lang.String","org.apache.hadoop.io.Text"],"exceptions":[]}}},"org.apache.hadoop.mapred.FileOutputFormat":{"name":"org.apache.hadoop.mapred.FileOutputFormat","methods":{"void setOutputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path)":{"name":"setOutputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path"],"exceptions":[]},"org.apache.hadoop.fs.Path getTaskOutputPath(org.apache.hadoop.mapred.JobConf, java.lang.String) throws java.io.IOException":{"name":"getTaskOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":["java.io.IOException"]},"void setOutputCompressorClass(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"setOutputCompressorClass","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"java.lang.Class getOutputCompressorClass(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"getOutputCompressorClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"void setCompressOutput(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setCompressOutput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"java.lang.String getUniqueName(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"getUniqueName","returnType":"java.lang.String","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"org.apache.hadoop.fs.Path getOutputPath(org.apache.hadoop.mapred.JobConf)":{"name":"getOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws org.apache.hadoop.mapred.InvalidJobConfException, java.io.IOException, org.apache.hadoop.mapred.FileAlreadyExistsException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["org.apache.hadoop.mapred.InvalidJobConfException","java.io.IOException","org.apache.hadoop.mapred.FileAlreadyExistsException"]},"org.apache.hadoop.fs.Path getPathForCustomFile(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"getPathForCustomFile","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"void setWorkOutputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path)":{"name":"setWorkOutputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path"],"exceptions":[]},"boolean getCompressOutput(org.apache.hadoop.mapred.JobConf)":{"name":"getCompressOutput","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.fs.Path getWorkOutputPath(org.apache.hadoop.mapred.JobConf)":{"name":"getWorkOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader","methods":{"void accept(org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader$JoinCollector, org.apache.hadoop.io.WritableComparable) throws java.lang.InterruptedException, java.io.IOException":{"name":"accept","returnType":"void","args":["org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader$JoinCollector","org.apache.hadoop.io.WritableComparable"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int id()":{"name":"id","returnType":"int","args":[],"exceptions":[]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void skip(org.apache.hadoop.io.WritableComparable) throws java.lang.InterruptedException, java.io.IOException":{"name":"skip","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int compareTo(org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader"],"exceptions":[]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"org.apache.hadoop.io.WritableComparable key()":{"name":"key","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"org.apache.hadoop.io.Writable getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void add(org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader) throws java.lang.InterruptedException, java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"org.apache.hadoop.io.WritableComparable getCurrentKey()":{"name":"getCurrentKey","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void key(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"key","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.join.JoinRecordReader":{"name":"org.apache.hadoop.mapred.join.JoinRecordReader","methods":{"org.apache.hadoop.mapred.join.TupleWritable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.mapred.join.TupleWritable","args":[],"exceptions":[]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.mapred.join.TupleWritable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.mapred.join.TupleWritable"],"exceptions":["java.io.IOException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat","methods":{"void setOutputFormatClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setOutputFormatClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.join.OuterJoinRecordReader":{"name":"org.apache.hadoop.mapred.join.OuterJoinRecordReader","methods":{}},"org.apache.hadoop.mapred.TextOutputFormat":{"name":"org.apache.hadoop.mapred.TextOutputFormat","methods":{"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.pipes.Submitter":{"name":"org.apache.hadoop.mapred.pipes.Submitter","methods":{"boolean getKeepCommandFile(org.apache.hadoop.mapred.JobConf)":{"name":"getKeepCommandFile","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.RunningJob jobSubmit(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"jobSubmit","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"void setIsJavaMapper(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setIsJavaMapper","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"void setIsJavaRecordWriter(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setIsJavaRecordWriter","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"void main([Ljava.lang.String;) throws java.lang.Exception":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]},"boolean getIsJavaRecordWriter(org.apache.hadoop.mapred.JobConf)":{"name":"getIsJavaRecordWriter","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"boolean getIsJavaReducer(org.apache.hadoop.mapred.JobConf)":{"name":"getIsJavaReducer","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.RunningJob submitJob(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"submitJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"void setIsJavaRecordReader(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setIsJavaRecordReader","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"int run([Ljava.lang.String;) throws java.lang.Exception":{"name":"run","returnType":"int","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]},"java.lang.String getExecutable(org.apache.hadoop.mapred.JobConf)":{"name":"getExecutable","returnType":"java.lang.String","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void setKeepCommandFile(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setKeepCommandFile","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"void setIsJavaReducer(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setIsJavaReducer","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"void setExecutable(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"setExecutable","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.RunningJob runJob(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"runJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"boolean getIsJavaMapper(org.apache.hadoop.mapred.JobConf)":{"name":"getIsJavaMapper","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"boolean getIsJavaRecordReader(org.apache.hadoop.mapred.JobConf)":{"name":"getIsJavaRecordReader","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.CombineFileInputFormat":{"name":"org.apache.hadoop.mapred.lib.CombineFileInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorDescriptor":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorDescriptor","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.ClusterStatus":{"name":"org.apache.hadoop.mapred.ClusterStatus","methods":{"int getTaskTrackers()":{"name":"getTaskTrackers","returnType":"int","args":[],"exceptions":[]},"int getMaxMapTasks()":{"name":"getMaxMapTasks","returnType":"int","args":[],"exceptions":[]},"long getMaxMemory()":{"name":"getMaxMemory","returnType":"long","args":[],"exceptions":[]},"int getMaxReduceTasks()":{"name":"getMaxReduceTasks","returnType":"int","args":[],"exceptions":[]},"java.util.Collection getGraylistedTrackerNames()":{"name":"getGraylistedTrackerNames","returnType":"java.util.Collection","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.Cluster$JobTrackerStatus getJobTrackerStatus()":{"name":"getJobTrackerStatus","returnType":"org.apache.hadoop.mapreduce.Cluster$JobTrackerStatus","args":[],"exceptions":[]},"int getReduceTasks()":{"name":"getReduceTasks","returnType":"int","args":[],"exceptions":[]},"int getGraylistedTrackers()":{"name":"getGraylistedTrackers","returnType":"int","args":[],"exceptions":[]},"long getTTExpiryInterval()":{"name":"getTTExpiryInterval","returnType":"long","args":[],"exceptions":[]},"long getUsedMemory()":{"name":"getUsedMemory","returnType":"long","args":[],"exceptions":[]},"java.util.Collection getActiveTrackerNames()":{"name":"getActiveTrackerNames","returnType":"java.util.Collection","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"int getMapTasks()":{"name":"getMapTasks","returnType":"int","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobTracker$State getJobTrackerState()":{"name":"getJobTrackerState","returnType":"org.apache.hadoop.mapred.JobTracker$State","args":[],"exceptions":[]},"int getBlacklistedTrackers()":{"name":"getBlacklistedTrackers","returnType":"int","args":[],"exceptions":[]},"java.util.Collection getBlacklistedTrackerNames()":{"name":"getBlacklistedTrackerNames","returnType":"java.util.Collection","args":[],"exceptions":[]},"java.util.Collection getBlackListedTrackersInfo()":{"name":"getBlackListedTrackersInfo","returnType":"java.util.Collection","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"int getNumExcludedNodes()":{"name":"getNumExcludedNodes","returnType":"int","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.MapReduceBase":{"name":"org.apache.hadoop.mapred.MapReduceBase","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.join.TupleWritable":{"name":"org.apache.hadoop.mapred.join.TupleWritable","methods":{}},"org.apache.hadoop.mapred.ID":{"name":"org.apache.hadoop.mapred.ID","methods":{}},"org.apache.hadoop.mapred.lib.RegexMapper":{"name":"org.apache.hadoop.mapred.lib.RegexMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void map(java.lang.Object, org.apache.hadoop.io.Text, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","org.apache.hadoop.io.Text","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregator":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregator","methods":{}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorBaseDescriptor":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorBaseDescriptor","methods":{"java.util.ArrayList generateKeyValPairs(java.lang.Object, java.lang.Object)":{"name":"generateKeyValPairs","returnType":"java.util.ArrayList","args":["java.lang.Object","java.lang.Object"],"exceptions":[]},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregator generateValueAggregator(java.lang.String, long)":{"name":"generateValueAggregator","returnType":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregator","args":["java.lang.String","long"],"exceptions":[]},"void configure(org.apache.hadoop.conf.Configuration)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"java.util.Map$Entry generateEntry(java.lang.String, java.lang.String, org.apache.hadoop.io.Text)":{"name":"generateEntry","returnType":"java.util.Map$Entry","args":["java.lang.String","java.lang.String","org.apache.hadoop.io.Text"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.DoubleValueSum":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.DoubleValueSum","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"void addNextValue(double)":{"name":"addNextValue","returnType":"void","args":["double"],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"double getSum()":{"name":"getSum","returnType":"double","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.LongValueMin":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.LongValueMin","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"long getVal()":{"name":"getVal","returnType":"long","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"void addNextValue(long)":{"name":"addNextValue","returnType":"void","args":["long"],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.InputSplit":{"name":"org.apache.hadoop.mapreduce.InputSplit","methods":{"[Lorg.apache.hadoop.mapred.SplitLocationInfo; getLocationInfo() throws java.io.IOException":{"name":"getLocationInfo","returnType":"[Lorg.apache.hadoop.mapred.SplitLocationInfo;","args":[],"exceptions":["java.io.IOException"]},"[Ljava.lang.String; getLocations() throws java.lang.InterruptedException, java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"long getLength() throws java.lang.InterruptedException, java.io.IOException":{"name":"getLength","returnType":"long","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.TotalOrderPartitioner":{"name":"org.apache.hadoop.mapred.lib.TotalOrderPartitioner","methods":{"void setPartitionFile(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path)":{"name":"setPartitionFile","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path"],"exceptions":[]},"java.lang.String getPartitionFile(org.apache.hadoop.mapred.JobConf)":{"name":"getPartitionFile","returnType":"java.lang.String","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.Counter":{"name":"org.apache.hadoop.mapreduce.Counter","methods":{"void setDisplayName(java.lang.String)":{"name":"setDisplayName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"long getValue()":{"name":"getValue","returnType":"long","args":[],"exceptions":[]},"java.lang.String getName()":{"name":"getName","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter getUnderlyingCounter()":{"name":"getUnderlyingCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":[],"exceptions":[]},"void increment(long)":{"name":"increment","returnType":"void","args":["long"],"exceptions":[]},"void setValue(long)":{"name":"setValue","returnType":"void","args":["long"],"exceptions":[]},"java.lang.String getDisplayName()":{"name":"getDisplayName","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.db.DBInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.db.DBInputFormat","methods":{"org.apache.hadoop.mapreduce.lib.db.DBConfiguration getDBConf()":{"name":"getDBConf","returnType":"org.apache.hadoop.mapreduce.lib.db.DBConfiguration","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"java.sql.Connection createConnection()":{"name":"createConnection","returnType":"java.sql.Connection","args":[],"exceptions":[]},"void setInput(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.String, java.lang.String, java.lang.String, [Ljava.lang.String;)":{"name":"setInput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class","java.lang.String","java.lang.String","java.lang.String","[Ljava.lang.String;"],"exceptions":[]},"java.sql.Connection getConnection()":{"name":"getConnection","returnType":"java.sql.Connection","args":[],"exceptions":[]},"java.lang.String getDBProductName()":{"name":"getDBProductName","returnType":"java.lang.String","args":[],"exceptions":[]},"void setInput(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.String, java.lang.String)":{"name":"setInput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class","java.lang.String","java.lang.String"],"exceptions":[]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.StreamBackedIterator":{"name":"org.apache.hadoop.mapreduce.lib.join.StreamBackedIterator","methods":{"void add(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean next(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"boolean replay(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"replay","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void clear()":{"name":"clear","returnType":"void","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.join.CompositeInputFormat":{"name":"org.apache.hadoop.mapred.join.CompositeInputFormat","methods":{"org.apache.hadoop.mapred.join.ComposableRecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.join.ComposableRecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"java.lang.String compose(java.lang.String, java.lang.Class, [Lorg.apache.hadoop.fs.Path;)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.String","java.lang.Class","[Lorg.apache.hadoop.fs.Path;"],"exceptions":[]},"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void setFormat(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"setFormat","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"java.lang.String compose(java.lang.Class, java.lang.String)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.Class","java.lang.String"],"exceptions":[]},"java.lang.String compose(java.lang.String, java.lang.Class, [Ljava.lang.String;)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.String","java.lang.Class","[Ljava.lang.String;"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.Partitioner":{"name":"org.apache.hadoop.mapreduce.Partitioner","methods":{"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.output.NullOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.NullOutputFormat","methods":{"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext)":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext)":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":[]},"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext)":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.reduce.IntSumReducer":{"name":"org.apache.hadoop.mapreduce.lib.reduce.IntSumReducer","methods":{"void reduce(java.lang.Object, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.TaskCompletionEvent$Status":{"name":"org.apache.hadoop.mapred.TaskCompletionEvent$Status","methods":{"[Lorg.apache.hadoop.mapred.TaskCompletionEvent$Status; values()":{"name":"values","returnType":"[Lorg.apache.hadoop.mapred.TaskCompletionEvent$Status;","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskCompletionEvent$Status valueOf(java.lang.String)":{"name":"valueOf","returnType":"org.apache.hadoop.mapred.TaskCompletionEvent$Status","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapred.JobContext":{"name":"org.apache.hadoop.mapred.JobContext","methods":{"org.apache.hadoop.util.Progressable getProgressible()":{"name":"getProgressible","returnType":"org.apache.hadoop.util.Progressable","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobConf getJobConf()":{"name":"getJobConf","returnType":"org.apache.hadoop.mapred.JobConf","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.OutputCommitter":{"name":"org.apache.hadoop.mapreduce.OutputCommitter","methods":{"boolean isCommitJobRepeatable(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"isCommitJobRepeatable","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void commitJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"commitJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void abortTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"isRecoverySupported","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"boolean needsTaskCommit(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void setupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"setupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void recoverTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"recoverTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void cleanupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"cleanupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void abortJob(org.apache.hadoop.mapreduce.JobContext, org.apache.hadoop.mapreduce.JobStatus$State) throws java.io.IOException":{"name":"abortJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext","org.apache.hadoop.mapreduce.JobStatus$State"],"exceptions":["java.io.IOException"]},"void setupTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"setupTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void commitTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported()":{"name":"isRecoverySupported","returnType":"boolean","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueHistogram":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueHistogram","methods":{}},"org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.CombineSequenceFileInputFormat":{"name":"org.apache.hadoop.mapred.lib.CombineSequenceFileInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.InputSplit":{"name":"org.apache.hadoop.mapred.InputSplit","methods":{"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"long getLength() throws java.io.IOException":{"name":"getLength","returnType":"long","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.LongValueSum":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.LongValueSum","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"void addNextValue(long)":{"name":"addNextValue","returnType":"void","args":["long"],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]},"long getSum()":{"name":"getSum","returnType":"long","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileRecordReader","methods":{"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentValue()":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentKey()":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.MultipleTextOutputFormat":{"name":"org.apache.hadoop.mapred.lib.MultipleTextOutputFormat","methods":{}},"org.apache.hadoop.mapreduce.lib.aggregate.StringValueMin":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.StringValueMin","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"java.lang.String getVal()":{"name":"getVal","returnType":"java.lang.String","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.OverrideRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.OverrideRecordReader","methods":{"org.apache.hadoop.io.Writable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorJob":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorJob","methods":{"org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl createValueAggregatorJobs([Ljava.lang.String;) throws java.io.IOException":{"name":"createValueAggregatorJobs","returnType":"org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl","args":["[Ljava.lang.String;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl createValueAggregatorJobs([Ljava.lang.String;, [Ljava.lang.Class;) throws java.io.IOException":{"name":"createValueAggregatorJobs","returnType":"org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl","args":["[Ljava.lang.String;","[Ljava.lang.Class;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.conf.Configuration setAggregatorDescriptors([Ljava.lang.Class;)":{"name":"setAggregatorDescriptors","returnType":"org.apache.hadoop.conf.Configuration","args":["[Ljava.lang.Class;"],"exceptions":[]},"void main([Ljava.lang.String;) throws java.lang.InterruptedException, java.io.IOException, java.lang.ClassNotFoundException":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.lang.InterruptedException","java.io.IOException","java.lang.ClassNotFoundException"]},"org.apache.hadoop.mapreduce.Job createValueAggregatorJob([Ljava.lang.String;, [Ljava.lang.Class;) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapreduce.Job","args":["[Ljava.lang.String;","[Ljava.lang.Class;"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.Job createValueAggregatorJob(org.apache.hadoop.conf.Configuration, [Ljava.lang.String;) throws java.io.IOException":{"name":"createValueAggregatorJob","returnType":"org.apache.hadoop.mapreduce.Job","args":["org.apache.hadoop.conf.Configuration","[Ljava.lang.String;"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.LongValueMin":{"name":"org.apache.hadoop.mapred.lib.aggregate.LongValueMin","methods":{}},"org.apache.hadoop.mapred.lib.aggregate.LongValueSum":{"name":"org.apache.hadoop.mapred.lib.aggregate.LongValueSum","methods":{}},"org.apache.hadoop.mapred.JobID":{"name":"org.apache.hadoop.mapred.JobID","methods":{"java.lang.String getJobIDsPattern(java.lang.String, java.lang.Integer)":{"name":"getJobIDsPattern","returnType":"java.lang.String","args":["java.lang.String","java.lang.Integer"],"exceptions":[]},"org.apache.hadoop.mapred.JobID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapred.JobID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"org.apache.hadoop.mapred.JobID read(java.io.DataInput) throws java.io.IOException":{"name":"read","returnType":"org.apache.hadoop.mapred.JobID","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobID downgrade(org.apache.hadoop.mapreduce.JobID)":{"name":"downgrade","returnType":"org.apache.hadoop.mapred.JobID","args":["org.apache.hadoop.mapreduce.JobID"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.FileSplit":{"name":"org.apache.hadoop.mapreduce.lib.input.FileSplit","methods":{"long getStart()":{"name":"getStart","returnType":"long","args":[],"exceptions":[]},"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.SplitLocationInfo; getLocationInfo() throws java.io.IOException":{"name":"getLocationInfo","returnType":"[Lorg.apache.hadoop.mapred.SplitLocationInfo;","args":[],"exceptions":["java.io.IOException"]},"long getLength()":{"name":"getLength","returnType":"long","args":[],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getPath()":{"name":"getPath","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionReducer":{"name":"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionReducer","methods":{"void reduce(java.lang.Object, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setup(org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"setup","returnType":"void","args":["org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.StringValueMax":{"name":"org.apache.hadoop.mapred.lib.aggregate.StringValueMax","methods":{}},"org.apache.hadoop.mapreduce.lib.output.SequenceFileAsBinaryOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.SequenceFileAsBinaryOutputFormat","methods":{"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void setSequenceFileOutputKeyClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setSequenceFileOutputKeyClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"java.lang.Class getSequenceFileOutputValueClass(org.apache.hadoop.mapreduce.JobContext)":{"name":"getSequenceFileOutputValueClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void setSequenceFileOutputValueClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setSequenceFileOutputValueClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"java.lang.Class getSequenceFileOutputKeyClass(org.apache.hadoop.mapreduce.JobContext)":{"name":"getSequenceFileOutputKeyClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]}}},"org.apache.hadoop.mapred.Reducer":{"name":"org.apache.hadoop.mapred.Reducer","methods":{"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.jobcontrol.JobControl":{"name":"org.apache.hadoop.mapred.jobcontrol.JobControl","methods":{"java.util.ArrayList getReadyJobs()":{"name":"getReadyJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.util.ArrayList getFailedJobs()":{"name":"getFailedJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.util.ArrayList getSuccessfulJobs()":{"name":"getSuccessfulJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.util.ArrayList getWaitingJobs()":{"name":"getWaitingJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.util.ArrayList getRunningJobs()":{"name":"getRunningJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"void addJobs(java.util.Collection)":{"name":"addJobs","returnType":"void","args":["java.util.Collection"],"exceptions":[]},"int getState()":{"name":"getState","returnType":"int","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.ResetableIterator":{"name":"org.apache.hadoop.mapreduce.lib.join.ResetableIterator","methods":{"void add(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean next(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"boolean replay(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"replay","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void clear()":{"name":"clear","returnType":"void","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorMapper":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void map(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setup(org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"setup","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.join.CompositeInputSplit":{"name":"org.apache.hadoop.mapred.join.CompositeInputSplit","methods":{"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"[Ljava.lang.String; getLocation(int) throws java.io.IOException":{"name":"getLocation","returnType":"[Ljava.lang.String;","args":["int"],"exceptions":["java.io.IOException"]},"void add(org.apache.hadoop.mapred.InputSplit) throws java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.mapred.InputSplit"],"exceptions":["java.io.IOException"]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"long getLength() throws java.io.IOException":{"name":"getLength","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.InputSplit get(int)":{"name":"get","returnType":"org.apache.hadoop.mapred.InputSplit","args":["int"],"exceptions":[]},"long getLength(int) throws java.io.IOException":{"name":"getLength","returnType":"long","args":["int"],"exceptions":["java.io.IOException"]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.BinaryPartitioner":{"name":"org.apache.hadoop.mapred.lib.BinaryPartitioner","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator":{"name":"org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedComparator","methods":{"void setKeyFieldComparatorOptions(org.apache.hadoop.mapreduce.Job, java.lang.String)":{"name":"setKeyFieldComparatorOptions","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String"],"exceptions":[]},"int compare([B, int, int, [B, int, int)":{"name":"compare","returnType":"int","args":["[B","int","int","[B","int","int"],"exceptions":[]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"java.lang.String getKeyFieldComparatorOption(org.apache.hadoop.mapreduce.JobContext)":{"name":"getKeyFieldComparatorOption","returnType":"java.lang.String","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsTextInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsTextInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.MultiFileSplit":{"name":"org.apache.hadoop.mapred.MultiFileSplit","methods":{"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.JobQueueInfo":{"name":"org.apache.hadoop.mapred.JobQueueInfo","methods":{"void setQueueName(java.lang.String)":{"name":"setQueueName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setJobStatuses([Lorg.apache.hadoop.mapreduce.JobStatus;)":{"name":"setJobStatuses","returnType":"void","args":["[Lorg.apache.hadoop.mapreduce.JobStatus;"],"exceptions":[]},"void setChildren(java.util.List)":{"name":"setChildren","returnType":"void","args":["java.util.List"],"exceptions":[]},"java.util.List getChildren()":{"name":"getChildren","returnType":"java.util.List","args":[],"exceptions":[]},"void setQueueState(java.lang.String)":{"name":"setQueueState","returnType":"void","args":["java.lang.String"],"exceptions":[]},"java.lang.String getQueueState()":{"name":"getQueueState","returnType":"java.lang.String","args":[],"exceptions":[]},"void setSchedulingInfo(java.lang.String)":{"name":"setSchedulingInfo","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setProperties(java.util.Properties)":{"name":"setProperties","returnType":"void","args":["java.util.Properties"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.db.DBOutputFormat":{"name":"org.apache.hadoop.mapred.lib.db.DBOutputFormat","methods":{"void setOutput(org.apache.hadoop.mapred.JobConf, java.lang.String, [Ljava.lang.String;)":{"name":"setOutput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","[Ljava.lang.String;"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"void setOutput(org.apache.hadoop.mapred.JobConf, java.lang.String, int)":{"name":"setOutput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","int"],"exceptions":[]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.RecordWriter":{"name":"org.apache.hadoop.mapred.RecordWriter","methods":{"void close(org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"close","returnType":"void","args":["org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void write(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.FileAlreadyExistsException":{"name":"org.apache.hadoop.mapred.FileAlreadyExistsException","methods":{}},"org.apache.hadoop.mapreduce.lib.join.JoinRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.JoinRecordReader","methods":{"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.lib.join.TupleWritable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.mapreduce.lib.join.TupleWritable","args":[],"exceptions":[]},"org.apache.hadoop.io.Writable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.TupleWritable":{"name":"org.apache.hadoop.mapreduce.lib.join.TupleWritable","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"int size()":{"name":"size","returnType":"int","args":[],"exceptions":[]},"java.util.Iterator iterator()":{"name":"iterator","returnType":"java.util.Iterator","args":[],"exceptions":[]},"org.apache.hadoop.io.Writable get(int)":{"name":"get","returnType":"org.apache.hadoop.io.Writable","args":["int"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"boolean has(int)":{"name":"has","returnType":"boolean","args":["int"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.CombineTextInputFormat":{"name":"org.apache.hadoop.mapred.lib.CombineTextInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.IdentityReducer":{"name":"org.apache.hadoop.mapred.lib.IdentityReducer","methods":{"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.TaskID":{"name":"org.apache.hadoop.mapreduce.TaskID","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int compareTo(org.apache.hadoop.mapreduce.ID)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.ID"],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskType getTaskType(char)":{"name":"getTaskType","returnType":"org.apache.hadoop.mapreduce.TaskType","args":["char"],"exceptions":[]},"boolean isMap()":{"name":"isMap","returnType":"boolean","args":[],"exceptions":[]},"java.lang.String getAllTaskTypes()":{"name":"getAllTaskTypes","returnType":"java.lang.String","args":[],"exceptions":[]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"char getRepresentingCharacter(org.apache.hadoop.mapreduce.TaskType)":{"name":"getRepresentingCharacter","returnType":"char","args":["org.apache.hadoop.mapreduce.TaskType"],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapreduce.TaskID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapreduce.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskType getTaskType()":{"name":"getTaskType","returnType":"org.apache.hadoop.mapreduce.TaskType","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.filecache.DistributedCache":{"name":"org.apache.hadoop.filecache.DistributedCache","methods":{"void setLocalArchives(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"setLocalArchives","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"long getTimestamp(org.apache.hadoop.conf.Configuration, java.net.URI) throws java.io.IOException":{"name":"getTimestamp","returnType":"long","args":["org.apache.hadoop.conf.Configuration","java.net.URI"],"exceptions":["java.io.IOException"]},"void setFileTimestamps(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"setFileTimestamps","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"void addLocalFiles(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"addLocalFiles","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"void createAllSymlink(org.apache.hadoop.conf.Configuration, java.io.File, java.io.File) throws java.io.IOException":{"name":"createAllSymlink","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.io.File","java.io.File"],"exceptions":["java.io.IOException"]},"void setArchiveTimestamps(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"setArchiveTimestamps","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"void addLocalArchives(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"addLocalArchives","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"void setLocalFiles(org.apache.hadoop.conf.Configuration, java.lang.String)":{"name":"setLocalFiles","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.String"],"exceptions":[]},"org.apache.hadoop.fs.FileStatus getFileStatus(org.apache.hadoop.conf.Configuration, java.net.URI) throws java.io.IOException":{"name":"getFileStatus","returnType":"org.apache.hadoop.fs.FileStatus","args":["org.apache.hadoop.conf.Configuration","java.net.URI"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.jobcontrol.Job":{"name":"org.apache.hadoop.mapred.jobcontrol.Job","methods":{"java.lang.String getMapredJobID()":{"name":"getMapredJobID","returnType":"java.lang.String","args":[],"exceptions":[]},"void setMapredJobID(java.lang.String)":{"name":"setMapredJobID","returnType":"void","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.JobID getAssignedJobID()":{"name":"getAssignedJobID","returnType":"org.apache.hadoop.mapred.JobID","args":[],"exceptions":[]},"void setJobConf(org.apache.hadoop.mapred.JobConf)":{"name":"setJobConf","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"java.util.ArrayList getDependingJobs()":{"name":"getDependingJobs","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobConf getJobConf()":{"name":"getJobConf","returnType":"org.apache.hadoop.mapred.JobConf","args":[],"exceptions":[]},"boolean addDependingJob(org.apache.hadoop.mapred.jobcontrol.Job)":{"name":"addDependingJob","returnType":"boolean","args":["org.apache.hadoop.mapred.jobcontrol.Job"],"exceptions":[]},"int getState()":{"name":"getState","returnType":"int","args":[],"exceptions":[]},"void setAssignedJobID(org.apache.hadoop.mapred.JobID)":{"name":"setAssignedJobID","returnType":"void","args":["org.apache.hadoop.mapred.JobID"],"exceptions":[]},"org.apache.hadoop.mapred.JobClient getJobClient()":{"name":"getJobClient","returnType":"org.apache.hadoop.mapred.JobClient","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregator":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregator","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.partition.InputSampler":{"name":"org.apache.hadoop.mapreduce.lib.partition.InputSampler","methods":{"void main([Ljava.lang.String;) throws java.lang.Exception":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]},"void writePartitionFile(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.mapreduce.lib.partition.InputSampler$Sampler) throws java.lang.InterruptedException, java.io.IOException, java.lang.ClassNotFoundException":{"name":"writePartitionFile","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.mapreduce.lib.partition.InputSampler$Sampler"],"exceptions":["java.lang.InterruptedException","java.io.IOException","java.lang.ClassNotFoundException"]},"int run([Ljava.lang.String;) throws java.lang.Exception":{"name":"run","returnType":"int","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]}}},"org.apache.hadoop.mapred.lib.db.DBWritable":{"name":"org.apache.hadoop.mapred.lib.db.DBWritable","methods":{}},"org.apache.hadoop.mapreduce.lib.join.MultiFilterRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.MultiFilterRecordReader","methods":{"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.SequenceFileAsBinaryOutputFormat":{"name":"org.apache.hadoop.mapred.SequenceFileAsBinaryOutputFormat","methods":{"void setSequenceFileOutputValueClass(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"setSequenceFileOutputValueClass","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"java.lang.Class getSequenceFileOutputKeyClass(org.apache.hadoop.mapred.JobConf)":{"name":"getSequenceFileOutputKeyClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]},"void setSequenceFileOutputKeyClass(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"setSequenceFileOutputKeyClass","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"java.lang.Class getSequenceFileOutputValueClass(org.apache.hadoop.mapred.JobConf)":{"name":"getSequenceFileOutputValueClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.OuterJoinRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.OuterJoinRecordReader","methods":{}},"org.apache.hadoop.mapreduce.lib.input.CombineSequenceFileInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineSequenceFileInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.UniqValueCount":{"name":"org.apache.hadoop.mapred.lib.aggregate.UniqValueCount","methods":{}},"org.apache.hadoop.mapred.lib.MultipleOutputFormat":{"name":"org.apache.hadoop.mapred.lib.MultipleOutputFormat","methods":{"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.JobStatus":{"name":"org.apache.hadoop.mapred.JobStatus","methods":{"float mapProgress()":{"name":"mapProgress","returnType":"float","args":[],"exceptions":[]},"float setupProgress()":{"name":"setupProgress","returnType":"float","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobPriority getJobPriority()":{"name":"getJobPriority","returnType":"org.apache.hadoop.mapred.JobPriority","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapred.JobID","args":[],"exceptions":[]},"void setRunState(int)":{"name":"setRunState","returnType":"void","args":["int"],"exceptions":[]},"float cleanupProgress()":{"name":"cleanupProgress","returnType":"float","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobStatus downgrade(org.apache.hadoop.mapreduce.JobStatus)":{"name":"downgrade","returnType":"org.apache.hadoop.mapred.JobStatus","args":["org.apache.hadoop.mapreduce.JobStatus"],"exceptions":[]},"int getRunState()":{"name":"getRunState","returnType":"int","args":[],"exceptions":[]},"float reduceProgress()":{"name":"reduceProgress","returnType":"float","args":[],"exceptions":[]},"void setFailureInfo(java.lang.String)":{"name":"setFailureInfo","returnType":"void","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapreduce.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapreduce.JobID","args":[],"exceptions":[]},"void setJobPriority(org.apache.hadoop.mapred.JobPriority)":{"name":"setJobPriority","returnType":"void","args":["org.apache.hadoop.mapred.JobPriority"],"exceptions":[]},"java.lang.String getJobRunState(int)":{"name":"getJobRunState","returnType":"java.lang.String","args":["int"],"exceptions":[]},"java.lang.String getJobId()":{"name":"getJobId","returnType":"java.lang.String","args":[],"exceptions":[]},"void setSchedulingInfo(java.lang.String)":{"name":"setSchedulingInfo","returnType":"void","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapred.join.ComposableInputFormat":{"name":"org.apache.hadoop.mapred.join.ComposableInputFormat","methods":{"org.apache.hadoop.mapred.join.ComposableRecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.join.ComposableRecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.WrappedRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.WrappedRecordReader","methods":{"void accept(org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader$JoinCollector, org.apache.hadoop.io.WritableComparable) throws java.lang.InterruptedException, java.io.IOException":{"name":"accept","returnType":"void","args":["org.apache.hadoop.mapreduce.lib.join.CompositeRecordReader$JoinCollector","org.apache.hadoop.io.WritableComparable"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int id()":{"name":"id","returnType":"int","args":[],"exceptions":[]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void skip(org.apache.hadoop.io.WritableComparable) throws java.lang.InterruptedException, java.io.IOException":{"name":"skip","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int compareTo(org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader"],"exceptions":[]},"org.apache.hadoop.io.WritableComparable key()":{"name":"key","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"org.apache.hadoop.io.Writable getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.io.WritableComparable getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.io.WritableComparable createKey()":{"name":"createKey","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.io.Writable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":[]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void key(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"key","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.TaskAttemptContext":{"name":"org.apache.hadoop.mapred.TaskAttemptContext","methods":{"org.apache.hadoop.util.Progressable getProgressible()":{"name":"getProgressible","returnType":"org.apache.hadoop.util.Progressable","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskAttemptID getTaskAttemptID()":{"name":"getTaskAttemptID","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobConf getJobConf()":{"name":"getJobConf","returnType":"org.apache.hadoop.mapred.JobConf","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.Reducer":{"name":"org.apache.hadoop.mapreduce.Reducer","methods":{"void run(org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.CompositeInputSplit":{"name":"org.apache.hadoop.mapreduce.lib.join.CompositeInputSplit","methods":{"[Ljava.lang.String; getLocation(int) throws java.lang.InterruptedException, java.io.IOException":{"name":"getLocation","returnType":"[Ljava.lang.String;","args":["int"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"[Ljava.lang.String; getLocations() throws java.lang.InterruptedException, java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"long getLength() throws java.io.IOException":{"name":"getLength","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"void add(org.apache.hadoop.mapreduce.InputSplit) throws java.lang.InterruptedException, java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"long getLength(int) throws java.lang.InterruptedException, java.io.IOException":{"name":"getLength","returnType":"long","args":["int"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.InputSplit get(int)":{"name":"get","returnType":"org.apache.hadoop.mapreduce.InputSplit","args":["int"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.TaskID":{"name":"org.apache.hadoop.mapred.TaskID","methods":{"org.apache.hadoop.mapred.TaskID read(java.io.DataInput) throws java.io.IOException":{"name":"read","returnType":"org.apache.hadoop.mapred.TaskID","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapred.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapreduce.JobID","args":[],"exceptions":[]},"java.lang.String getTaskIDsPattern(java.lang.String, java.lang.Integer, java.lang.Boolean, java.lang.Integer)":{"name":"getTaskIDsPattern","returnType":"java.lang.String","args":["java.lang.String","java.lang.Integer","java.lang.Boolean","java.lang.Integer"],"exceptions":[]},"org.apache.hadoop.mapred.TaskID downgrade(org.apache.hadoop.mapreduce.TaskID)":{"name":"downgrade","returnType":"org.apache.hadoop.mapred.TaskID","args":["org.apache.hadoop.mapreduce.TaskID"],"exceptions":[]},"org.apache.hadoop.mapred.TaskID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapred.TaskID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"java.lang.String getTaskIDsPattern(java.lang.String, java.lang.Integer, org.apache.hadoop.mapreduce.TaskType, java.lang.Integer)":{"name":"getTaskIDsPattern","returnType":"java.lang.String","args":["java.lang.String","java.lang.Integer","org.apache.hadoop.mapreduce.TaskType","java.lang.Integer"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.JobID":{"name":"org.apache.hadoop.mapreduce.JobID","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int compareTo(org.apache.hadoop.mapreduce.ID)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.ID"],"exceptions":[]},"org.apache.hadoop.mapreduce.JobID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapreduce.JobID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"java.lang.String getJtIdentifier()":{"name":"getJtIdentifier","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.StringBuilder appendTo(java.lang.StringBuilder)":{"name":"appendTo","returnType":"java.lang.StringBuilder","args":["java.lang.StringBuilder"],"exceptions":[]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.OutputLogFilter":{"name":"org.apache.hadoop.mapred.OutputLogFilter","methods":{"boolean accept(org.apache.hadoop.fs.Path)":{"name":"accept","returnType":"boolean","args":["org.apache.hadoop.fs.Path"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.map.RegexMapper":{"name":"org.apache.hadoop.mapreduce.lib.map.RegexMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setup(org.apache.hadoop.mapreduce.Mapper$Context)":{"name":"setup","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":[]},"void map(java.lang.Object, org.apache.hadoop.io.Text, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","org.apache.hadoop.io.Text","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.join.StreamBackedIterator":{"name":"org.apache.hadoop.mapred.join.StreamBackedIterator","methods":{}},"org.apache.hadoop.mapred.lib.FilterOutputFormat":{"name":"org.apache.hadoop.mapred.lib.FilterOutputFormat","methods":{"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.UserDefinedValueAggregatorDescriptor":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.UserDefinedValueAggregatorDescriptor","methods":{"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"java.util.ArrayList generateKeyValPairs(java.lang.Object, java.lang.Object)":{"name":"generateKeyValPairs","returnType":"java.util.ArrayList","args":["java.lang.Object","java.lang.Object"],"exceptions":[]},"void configure(org.apache.hadoop.conf.Configuration)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"java.lang.Object createInstance(java.lang.String)":{"name":"createInstance","returnType":"java.lang.Object","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueHistogram":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueHistogram","methods":{"java.lang.String getReportDetails()":{"name":"getReportDetails","returnType":"java.lang.String","args":[],"exceptions":[]},"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]},"java.util.TreeMap getReportItems()":{"name":"getReportItems","returnType":"java.util.TreeMap","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.aggregate.DoubleValueSum":{"name":"org.apache.hadoop.mapred.lib.aggregate.DoubleValueSum","methods":{}},"org.apache.hadoop.mapred.lib.NLineInputFormat":{"name":"org.apache.hadoop.mapred.lib.NLineInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.JobConf":{"name":"org.apache.hadoop.mapred.JobConf","methods":{"void setInputFormat(java.lang.Class)":{"name":"setInputFormat","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setUser(java.lang.String)":{"name":"setUser","returnType":"void","args":["java.lang.String"],"exceptions":[]},"int getMaxMapTaskFailuresPercent()":{"name":"getMaxMapTaskFailuresPercent","returnType":"int","args":[],"exceptions":[]},"void setMemoryForMapTask(long)":{"name":"setMemoryForMapTask","returnType":"void","args":["long"],"exceptions":[]},"org.apache.hadoop.io.RawComparator getOutputValueGroupingComparator()":{"name":"getOutputValueGroupingComparator","returnType":"org.apache.hadoop.io.RawComparator","args":[],"exceptions":[]},"void setOutputKeyClass(java.lang.Class)":{"name":"setOutputKeyClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setProfileParams(java.lang.String)":{"name":"setProfileParams","returnType":"void","args":["java.lang.String"],"exceptions":[]},"int getMaxMapAttempts()":{"name":"getMaxMapAttempts","returnType":"int","args":[],"exceptions":[]},"void setNumMapTasks(int)":{"name":"setNumMapTasks","returnType":"void","args":["int"],"exceptions":[]},"java.lang.String getJobName()":{"name":"getJobName","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.Class getMapOutputCompressorClass(java.lang.Class)":{"name":"getMapOutputCompressorClass","returnType":"java.lang.Class","args":["java.lang.Class"],"exceptions":[]},"java.lang.String getUser()":{"name":"getUser","returnType":"java.lang.String","args":[],"exceptions":[]},"void setMaxTaskFailuresPerTracker(int)":{"name":"setMaxTaskFailuresPerTracker","returnType":"void","args":["int"],"exceptions":[]},"void setCombinerClass(java.lang.Class)":{"name":"setCombinerClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"java.lang.Class getMapOutputValueClass()":{"name":"getMapOutputValueClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"void setKeepTaskFilesPattern(java.lang.String)":{"name":"setKeepTaskFilesPattern","returnType":"void","args":["java.lang.String"],"exceptions":[]},"java.lang.Class getMapOutputKeyClass()":{"name":"getMapOutputKeyClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"org.apache.hadoop.conf.Configuration$IntegerRanges getProfileTaskRange(boolean)":{"name":"getProfileTaskRange","returnType":"org.apache.hadoop.conf.Configuration$IntegerRanges","args":["boolean"],"exceptions":[]},"boolean getUseNewReducer()":{"name":"getUseNewReducer","returnType":"boolean","args":[],"exceptions":[]},"void setUseNewMapper(boolean)":{"name":"setUseNewMapper","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.String getKeyFieldPartitionerOption()":{"name":"getKeyFieldPartitionerOption","returnType":"java.lang.String","args":[],"exceptions":[]},"boolean getProfileEnabled()":{"name":"getProfileEnabled","returnType":"boolean","args":[],"exceptions":[]},"void setOutputValueClass(java.lang.Class)":{"name":"setOutputValueClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setReducerClass(java.lang.Class)":{"name":"setReducerClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setKeyFieldPartitionerOptions(java.lang.String)":{"name":"setKeyFieldPartitionerOptions","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setMemoryForReduceTask(long)":{"name":"setMemoryForReduceTask","returnType":"void","args":["long"],"exceptions":[]},"void setProfileEnabled(boolean)":{"name":"setProfileEnabled","returnType":"void","args":["boolean"],"exceptions":[]},"org.apache.hadoop.io.RawComparator getCombinerKeyGroupingComparator()":{"name":"getCombinerKeyGroupingComparator","returnType":"org.apache.hadoop.io.RawComparator","args":[],"exceptions":[]},"void setCredentials(org.apache.hadoop.security.Credentials)":{"name":"setCredentials","returnType":"void","args":["org.apache.hadoop.security.Credentials"],"exceptions":[]},"void setOutputFormat(java.lang.Class)":{"name":"setOutputFormat","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"int getNumTasksToExecutePerJvm()":{"name":"getNumTasksToExecutePerJvm","returnType":"int","args":[],"exceptions":[]},"java.lang.String findContainingJar(java.lang.Class)":{"name":"findContainingJar","returnType":"java.lang.String","args":["java.lang.Class"],"exceptions":[]},"void setMapOutputCompressorClass(java.lang.Class)":{"name":"setMapOutputCompressorClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"boolean getCompressMapOutput()":{"name":"getCompressMapOutput","returnType":"boolean","args":[],"exceptions":[]},"org.apache.hadoop.io.RawComparator getOutputKeyComparator()":{"name":"getOutputKeyComparator","returnType":"org.apache.hadoop.io.RawComparator","args":[],"exceptions":[]},"void setJar(java.lang.String)":{"name":"setJar","returnType":"void","args":["java.lang.String"],"exceptions":[]},"boolean getKeepFailedTaskFiles()":{"name":"getKeepFailedTaskFiles","returnType":"boolean","args":[],"exceptions":[]},"java.lang.String getKeyFieldComparatorOption()":{"name":"getKeyFieldComparatorOption","returnType":"java.lang.String","args":[],"exceptions":[]},"void setSpeculativeExecution(boolean)":{"name":"setSpeculativeExecution","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.Class getPartitionerClass()":{"name":"getPartitionerClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"java.lang.String getMapDebugScript()":{"name":"getMapDebugScript","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.Class getCombinerClass()":{"name":"getCombinerClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"void setMaxReduceAttempts(int)":{"name":"setMaxReduceAttempts","returnType":"void","args":["int"],"exceptions":[]},"void setMapOutputKeyClass(java.lang.Class)":{"name":"setMapOutputKeyClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"int getMaxReduceAttempts()":{"name":"getMaxReduceAttempts","returnType":"int","args":[],"exceptions":[]},"[Ljava.lang.String; getLocalDirs() throws java.io.IOException":{"name":"getLocalDirs","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.InputFormat getInputFormat()":{"name":"getInputFormat","returnType":"org.apache.hadoop.mapred.InputFormat","args":[],"exceptions":[]},"void setReduceDebugScript(java.lang.String)":{"name":"setReduceDebugScript","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setMapperClass(java.lang.Class)":{"name":"setMapperClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setJobName(java.lang.String)":{"name":"setJobName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setOutputCommitter(java.lang.Class)":{"name":"setOutputCommitter","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setMapRunnerClass(java.lang.Class)":{"name":"setMapRunnerClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setReduceSpeculativeExecution(boolean)":{"name":"setReduceSpeculativeExecution","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.String getJar()":{"name":"getJar","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.security.Credentials getCredentials()":{"name":"getCredentials","returnType":"org.apache.hadoop.security.Credentials","args":[],"exceptions":[]},"void setJobEndNotificationURI(java.lang.String)":{"name":"setJobEndNotificationURI","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setJarByClass(java.lang.Class)":{"name":"setJarByClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"long normalizeMemoryConfigValue(long)":{"name":"normalizeMemoryConfigValue","returnType":"long","args":["long"],"exceptions":[]},"void setKeepFailedTaskFiles(boolean)":{"name":"setKeepFailedTaskFiles","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.String getReduceDebugScript()":{"name":"getReduceDebugScript","returnType":"java.lang.String","args":[],"exceptions":[]},"void setJobPriority(org.apache.hadoop.mapred.JobPriority)":{"name":"setJobPriority","returnType":"void","args":["org.apache.hadoop.mapred.JobPriority"],"exceptions":[]},"java.lang.Class getMapperClass()":{"name":"getMapperClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"void setQueueName(java.lang.String)":{"name":"setQueueName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setUseNewReducer(boolean)":{"name":"setUseNewReducer","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.Class getMapRunnerClass()":{"name":"getMapRunnerClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"int getMaxTaskFailuresPerTracker()":{"name":"getMaxTaskFailuresPerTracker","returnType":"int","args":[],"exceptions":[]},"java.lang.String getProfileParams()":{"name":"getProfileParams","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobPriority getJobPriority()":{"name":"getJobPriority","returnType":"org.apache.hadoop.mapred.JobPriority","args":[],"exceptions":[]},"java.lang.String getQueueName()":{"name":"getQueueName","returnType":"java.lang.String","args":[],"exceptions":[]},"java.util.regex.Pattern getJarUnpackPattern()":{"name":"getJarUnpackPattern","returnType":"java.util.regex.Pattern","args":[],"exceptions":[]},"void setMapSpeculativeExecution(boolean)":{"name":"setMapSpeculativeExecution","returnType":"void","args":["boolean"],"exceptions":[]},"void setMaxMapAttempts(int)":{"name":"setMaxMapAttempts","returnType":"void","args":["int"],"exceptions":[]},"long getMaxVirtualMemoryForTask()":{"name":"getMaxVirtualMemoryForTask","returnType":"long","args":[],"exceptions":[]},"org.apache.hadoop.mapred.OutputFormat getOutputFormat()":{"name":"getOutputFormat","returnType":"org.apache.hadoop.mapred.OutputFormat","args":[],"exceptions":[]},"long getMemoryForMapTask()":{"name":"getMemoryForMapTask","returnType":"long","args":[],"exceptions":[]},"java.lang.String getSessionId()":{"name":"getSessionId","returnType":"java.lang.String","args":[],"exceptions":[]},"long getMaxPhysicalMemoryForTask()":{"name":"getMaxPhysicalMemoryForTask","returnType":"long","args":[],"exceptions":[]},"boolean getUseNewMapper()":{"name":"getUseNewMapper","returnType":"boolean","args":[],"exceptions":[]},"void setMaxMapTaskFailuresPercent(int)":{"name":"setMaxMapTaskFailuresPercent","returnType":"void","args":["int"],"exceptions":[]},"java.lang.String getKeepTaskFilesPattern()":{"name":"getKeepTaskFilesPattern","returnType":"java.lang.String","args":[],"exceptions":[]},"void setPartitionerClass(java.lang.Class)":{"name":"setPartitionerClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setNumReduceTasks(int)":{"name":"setNumReduceTasks","returnType":"void","args":["int"],"exceptions":[]},"java.lang.Class getReducerClass()":{"name":"getReducerClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"int getNumReduceTasks()":{"name":"getNumReduceTasks","returnType":"int","args":[],"exceptions":[]},"void setCombinerKeyGroupingComparator(java.lang.Class)":{"name":"setCombinerKeyGroupingComparator","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setMaxReduceTaskFailuresPercent(int)":{"name":"setMaxReduceTaskFailuresPercent","returnType":"void","args":["int"],"exceptions":[]},"java.lang.String getJobLocalDir()":{"name":"getJobLocalDir","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.fs.Path getWorkingDirectory()":{"name":"getWorkingDirectory","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":[]},"org.apache.hadoop.fs.Path getLocalPath(java.lang.String) throws java.io.IOException":{"name":"getLocalPath","returnType":"org.apache.hadoop.fs.Path","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"void setWorkingDirectory(org.apache.hadoop.fs.Path)":{"name":"setWorkingDirectory","returnType":"void","args":["org.apache.hadoop.fs.Path"],"exceptions":[]},"int getNumMapTasks()":{"name":"getNumMapTasks","returnType":"int","args":[],"exceptions":[]},"void setOutputValueGroupingComparator(java.lang.Class)":{"name":"setOutputValueGroupingComparator","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"boolean getReduceSpeculativeExecution()":{"name":"getReduceSpeculativeExecution","returnType":"boolean","args":[],"exceptions":[]},"boolean getMapSpeculativeExecution()":{"name":"getMapSpeculativeExecution","returnType":"boolean","args":[],"exceptions":[]},"void setCompressMapOutput(boolean)":{"name":"setCompressMapOutput","returnType":"void","args":["boolean"],"exceptions":[]},"void setMaxPhysicalMemoryForTask(long)":{"name":"setMaxPhysicalMemoryForTask","returnType":"void","args":["long"],"exceptions":[]},"java.lang.Class getOutputKeyClass()":{"name":"getOutputKeyClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"void setMapOutputValueClass(java.lang.Class)":{"name":"setMapOutputValueClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void deleteLocalFiles() throws java.io.IOException":{"name":"deleteLocalFiles","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getJobEndNotificationURI()":{"name":"getJobEndNotificationURI","returnType":"java.lang.String","args":[],"exceptions":[]},"void setProfileTaskRange(boolean, java.lang.String)":{"name":"setProfileTaskRange","returnType":"void","args":["boolean","java.lang.String"],"exceptions":[]},"void setOutputKeyComparatorClass(java.lang.Class)":{"name":"setOutputKeyComparatorClass","returnType":"void","args":["java.lang.Class"],"exceptions":[]},"void setMapDebugScript(java.lang.String)":{"name":"setMapDebugScript","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setKeyFieldComparatorOptions(java.lang.String)":{"name":"setKeyFieldComparatorOptions","returnType":"void","args":["java.lang.String"],"exceptions":[]},"int getMaxReduceTaskFailuresPercent()":{"name":"getMaxReduceTaskFailuresPercent","returnType":"int","args":[],"exceptions":[]},"org.apache.hadoop.mapred.OutputCommitter getOutputCommitter()":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapred.OutputCommitter","args":[],"exceptions":[]},"boolean getSpeculativeExecution()":{"name":"getSpeculativeExecution","returnType":"boolean","args":[],"exceptions":[]},"long getMemoryForReduceTask()":{"name":"getMemoryForReduceTask","returnType":"long","args":[],"exceptions":[]},"void deleteLocalFiles(java.lang.String) throws java.io.IOException":{"name":"deleteLocalFiles","returnType":"void","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"void setNumTasksToExecutePerJvm(int)":{"name":"setNumTasksToExecutePerJvm","returnType":"void","args":["int"],"exceptions":[]},"void setSessionId(java.lang.String)":{"name":"setSessionId","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setMaxVirtualMemoryForTask(long)":{"name":"setMaxVirtualMemoryForTask","returnType":"void","args":["long"],"exceptions":[]},"java.lang.Class getOutputValueClass()":{"name":"getOutputValueClass","returnType":"java.lang.Class","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.NLineInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.NLineInputFormat","methods":{"void setNumLinesPerSplit(org.apache.hadoop.mapreduce.Job, int)":{"name":"setNumLinesPerSplit","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","int"],"exceptions":[]},"int getNumLinesPerSplit(org.apache.hadoop.mapreduce.JobContext)":{"name":"getNumLinesPerSplit","returnType":"int","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"java.util.List getSplitsForFile(org.apache.hadoop.fs.FileStatus, org.apache.hadoop.conf.Configuration, int) throws java.io.IOException":{"name":"getSplitsForFile","returnType":"java.util.List","args":["org.apache.hadoop.fs.FileStatus","org.apache.hadoop.conf.Configuration","int"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.TokenCountMapper":{"name":"org.apache.hadoop.mapred.lib.TokenCountMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void map(java.lang.Object, org.apache.hadoop.io.Text, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","org.apache.hadoop.io.Text","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.MapRunnable":{"name":"org.apache.hadoop.mapred.MapRunnable","methods":{"void run(org.apache.hadoop.mapred.RecordReader, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapred.RecordReader","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.JobClient":{"name":"org.apache.hadoop.mapred.JobClient","methods":{"[Lorg.apache.hadoop.mapred.TaskReport; getMapTaskReports(java.lang.String) throws java.io.IOException":{"name":"getMapTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RunningJob getJob(java.lang.String) throws java.io.IOException":{"name":"getJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getStagingAreaDir() throws java.io.IOException":{"name":"getStagingAreaDir","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobQueueInfo getQueueInfo(java.lang.String) throws java.io.IOException":{"name":"getQueueInfo","returnType":"org.apache.hadoop.mapred.JobQueueInfo","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.TaskReport; getSetupTaskReports(org.apache.hadoop.mapred.JobID) throws java.io.IOException":{"name":"getSetupTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["org.apache.hadoop.mapred.JobID"],"exceptions":["java.io.IOException"]},"void displayTasks(org.apache.hadoop.mapred.JobID, java.lang.String, java.lang.String) throws java.io.IOException":{"name":"displayTasks","returnType":"void","args":["org.apache.hadoop.mapred.JobID","java.lang.String","java.lang.String"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RunningJob submitJobInternal(org.apache.hadoop.mapred.JobConf) throws java.io.IOException, java.io.FileNotFoundException":{"name":"submitJobInternal","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException","java.io.FileNotFoundException"]},"long renewDelegationToken(org.apache.hadoop.security.token.Token) throws java.lang.InterruptedException, org.apache.hadoop.security.token.SecretManager$InvalidToken, java.io.IOException":{"name":"renewDelegationToken","returnType":"long","args":["org.apache.hadoop.security.token.Token"],"exceptions":["java.lang.InterruptedException","org.apache.hadoop.security.token.SecretManager$InvalidToken","java.io.IOException"]},"org.apache.hadoop.mapred.ClusterStatus getClusterStatus() throws java.io.IOException":{"name":"getClusterStatus","returnType":"org.apache.hadoop.mapred.ClusterStatus","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.TaskReport; getReduceTaskReports(java.lang.String) throws java.io.IOException":{"name":"getReduceTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.JobQueueInfo; getQueues() throws java.io.IOException":{"name":"getQueues","returnType":"[Lorg.apache.hadoop.mapred.JobQueueInfo;","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.JobStatus; getJobsFromQueue(java.lang.String) throws java.io.IOException":{"name":"getJobsFromQueue","returnType":"[Lorg.apache.hadoop.mapred.JobStatus;","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.Cluster getClusterHandle()":{"name":"getClusterHandle","returnType":"org.apache.hadoop.mapreduce.Cluster","args":[],"exceptions":[]},"org.apache.hadoop.mapred.RunningJob submitJob(org.apache.hadoop.mapred.JobConf) throws java.io.IOException, java.io.FileNotFoundException":{"name":"submitJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException","java.io.FileNotFoundException"]},"[Lorg.apache.hadoop.mapred.QueueAclsInfo; getQueueAclsForCurrentUser() throws java.io.IOException":{"name":"getQueueAclsForCurrentUser","returnType":"[Lorg.apache.hadoop.mapred.QueueAclsInfo;","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.TaskReport; getReduceTaskReports(org.apache.hadoop.mapred.JobID) throws java.io.IOException":{"name":"getReduceTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["org.apache.hadoop.mapred.JobID"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.security.token.Token getDelegationToken(org.apache.hadoop.io.Text) throws java.lang.InterruptedException, java.io.IOException":{"name":"getDelegationToken","returnType":"org.apache.hadoop.security.token.Token","args":["org.apache.hadoop.io.Text"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.fs.Path getSystemDir()":{"name":"getSystemDir","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":[]},"void main([Ljava.lang.String;) throws java.lang.Exception":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]},"boolean monitorAndPrintJob(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.RunningJob) throws java.lang.InterruptedException, java.io.IOException":{"name":"monitorAndPrintJob","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.RunningJob"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"[Lorg.apache.hadoop.mapred.JobQueueInfo; getRootQueues() throws java.io.IOException":{"name":"getRootQueues","returnType":"[Lorg.apache.hadoop.mapred.JobQueueInfo;","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RunningJob submitJob(java.lang.String) throws org.apache.hadoop.mapred.InvalidJobConfException, java.io.IOException, java.io.FileNotFoundException":{"name":"submitJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["java.lang.String"],"exceptions":["org.apache.hadoop.mapred.InvalidJobConfException","java.io.IOException","java.io.FileNotFoundException"]},"[Lorg.apache.hadoop.mapred.JobStatus; getAllJobs() throws java.io.IOException":{"name":"getAllJobs","returnType":"[Lorg.apache.hadoop.mapred.JobStatus;","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RunningJob getJob(org.apache.hadoop.mapred.JobID) throws java.io.IOException":{"name":"getJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobID"],"exceptions":["java.io.IOException"]},"void init(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"init","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"void setTaskOutputFilter(org.apache.hadoop.mapred.JobClient$TaskStatusFilter)":{"name":"setTaskOutputFilter","returnType":"void","args":["org.apache.hadoop.mapred.JobClient$TaskStatusFilter"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.JobStatus; jobsToComplete() throws java.io.IOException":{"name":"jobsToComplete","returnType":"[Lorg.apache.hadoop.mapred.JobStatus;","args":[],"exceptions":["java.io.IOException"]},"boolean isJobDirValid(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.FileSystem) throws java.io.IOException":{"name":"isJobDirValid","returnType":"boolean","args":["org.apache.hadoop.fs.Path","org.apache.hadoop.fs.FileSystem"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobClient$TaskStatusFilter getTaskOutputFilter()":{"name":"getTaskOutputFilter","returnType":"org.apache.hadoop.mapred.JobClient$TaskStatusFilter","args":[],"exceptions":[]},"[Lorg.apache.hadoop.mapred.JobQueueInfo; getChildQueues(java.lang.String) throws java.io.IOException":{"name":"getChildQueues","returnType":"[Lorg.apache.hadoop.mapred.JobQueueInfo;","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.ClusterStatus getClusterStatus(boolean) throws java.io.IOException":{"name":"getClusterStatus","returnType":"org.apache.hadoop.mapred.ClusterStatus","args":["boolean"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.FileSystem getFs() throws java.io.IOException":{"name":"getFs","returnType":"org.apache.hadoop.fs.FileSystem","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.JobClient$TaskStatusFilter getTaskOutputFilter(org.apache.hadoop.mapred.JobConf)":{"name":"getTaskOutputFilter","returnType":"org.apache.hadoop.mapred.JobClient$TaskStatusFilter","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.TaskReport; getCleanupTaskReports(org.apache.hadoop.mapred.JobID) throws java.io.IOException":{"name":"getCleanupTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["org.apache.hadoop.mapred.JobID"],"exceptions":["java.io.IOException"]},"void setTaskOutputFilter(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.JobClient$TaskStatusFilter)":{"name":"setTaskOutputFilter","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.JobClient$TaskStatusFilter"],"exceptions":[]},"int getDefaultReduces() throws java.io.IOException":{"name":"getDefaultReduces","returnType":"int","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RunningJob runJob(org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"runJob","returnType":"org.apache.hadoop.mapred.RunningJob","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"int getDefaultMaps() throws java.io.IOException":{"name":"getDefaultMaps","returnType":"int","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.TaskReport; getMapTaskReports(org.apache.hadoop.mapred.JobID) throws java.io.IOException":{"name":"getMapTaskReports","returnType":"[Lorg.apache.hadoop.mapred.TaskReport;","args":["org.apache.hadoop.mapred.JobID"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void cancelDelegationToken(org.apache.hadoop.security.token.Token) throws java.lang.InterruptedException, org.apache.hadoop.security.token.SecretManager$InvalidToken, java.io.IOException":{"name":"cancelDelegationToken","returnType":"void","args":["org.apache.hadoop.security.token.Token"],"exceptions":["java.lang.InterruptedException","org.apache.hadoop.security.token.SecretManager$InvalidToken","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.RecordWriter":{"name":"org.apache.hadoop.mapreduce.RecordWriter","methods":{"void close(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"close","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void write(java.lang.Object, java.lang.Object) throws java.lang.InterruptedException, java.io.IOException":{"name":"write","returnType":"void","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.FieldSelectionMapReduce":{"name":"org.apache.hadoop.mapred.lib.FieldSelectionMapReduce","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.KeyValueLineRecordReader":{"name":"org.apache.hadoop.mapred.KeyValueLineRecordReader","methods":{"int findSeparator([B, int, int, byte)":{"name":"findSeparator","returnType":"int","args":["[B","int","int","byte"],"exceptions":[]},"java.lang.Class getKeyClass()":{"name":"getKeyClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"boolean next(org.apache.hadoop.io.Text, org.apache.hadoop.io.Text) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.Text","org.apache.hadoop.io.Text"],"exceptions":["java.io.IOException"]},"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"org.apache.hadoop.io.Text createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"org.apache.hadoop.io.Text createKey()":{"name":"createKey","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.UniqValueCount":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.UniqValueCount","methods":{"java.util.Set getUniqueItems()":{"name":"getUniqueItems","returnType":"java.util.Set","args":[],"exceptions":[]},"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"long setMaxItems(long)":{"name":"setMaxItems","returnType":"long","args":["long"],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionHelper":{"name":"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionHelper","methods":{"java.lang.String specToString(java.lang.String, java.lang.String, int, java.util.List, java.util.List)":{"name":"specToString","returnType":"java.lang.String","args":["java.lang.String","java.lang.String","int","java.util.List","java.util.List"],"exceptions":[]},"org.apache.hadoop.io.Text getKey()":{"name":"getKey","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"org.apache.hadoop.io.Text getValue()":{"name":"getValue","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"int parseOutputKeyValueSpec(java.lang.String, java.util.List, java.util.List)":{"name":"parseOutputKeyValueSpec","returnType":"int","args":["java.lang.String","java.util.List","java.util.List"],"exceptions":[]},"void extractOutputKeyValue(java.lang.String, java.lang.String, java.lang.String, java.util.List, java.util.List, int, boolean, boolean)":{"name":"extractOutputKeyValue","returnType":"void","args":["java.lang.String","java.lang.String","java.lang.String","java.util.List","java.util.List","int","boolean","boolean"],"exceptions":[]}}},"org.apache.hadoop.mapred.MapFileOutputFormat":{"name":"org.apache.hadoop.mapred.MapFileOutputFormat","methods":{"[Lorg.apache.hadoop.io.MapFile$Reader; getReaders(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException":{"name":"getReaders","returnType":"[Lorg.apache.hadoop.io.MapFile$Reader;","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.fs.Path","org.apache.hadoop.conf.Configuration"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.Writable getEntry([Lorg.apache.hadoop.io.MapFile$Reader;, org.apache.hadoop.mapred.Partitioner, org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"getEntry","returnType":"org.apache.hadoop.io.Writable","args":["[Lorg.apache.hadoop.io.MapFile$Reader;","org.apache.hadoop.mapred.Partitioner","org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.Utils":{"name":"org.apache.hadoop.mapred.Utils","methods":{}},"org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter":{"name":"org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter","methods":{"org.apache.hadoop.fs.Path getWorkPath() throws java.io.IOException":{"name":"getWorkPath","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":["java.io.IOException"]},"void commitJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"commitJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getJobAttemptPath(org.apache.hadoop.mapreduce.JobContext)":{"name":"getJobAttemptPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"org.apache.hadoop.fs.Path getCommittedTaskPath(org.apache.hadoop.mapreduce.TaskAttemptContext, org.apache.hadoop.fs.Path)":{"name":"getCommittedTaskPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":[]},"void commitTask(org.apache.hadoop.mapreduce.TaskAttemptContext, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getJobAttemptPath(org.apache.hadoop.mapreduce.JobContext, org.apache.hadoop.fs.Path)":{"name":"getJobAttemptPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.JobContext","org.apache.hadoop.fs.Path"],"exceptions":[]},"void abortTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getTaskAttemptPath(org.apache.hadoop.mapreduce.TaskAttemptContext, org.apache.hadoop.fs.Path)":{"name":"getTaskAttemptPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":[]},"void recoverTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"recoverTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void cleanupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"cleanupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void abortJob(org.apache.hadoop.mapreduce.JobContext, org.apache.hadoop.mapreduce.JobStatus$State) throws java.io.IOException":{"name":"abortJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext","org.apache.hadoop.mapreduce.JobStatus$State"],"exceptions":["java.io.IOException"]},"boolean isCommitJobRepeatable(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"isCommitJobRepeatable","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getTaskAttemptPath(org.apache.hadoop.mapreduce.TaskAttemptContext)":{"name":"getTaskAttemptPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":[]},"org.apache.hadoop.fs.Path getCommittedTaskPath(org.apache.hadoop.mapreduce.TaskAttemptContext)":{"name":"getCommittedTaskPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":[]},"boolean needsTaskCommit(org.apache.hadoop.mapreduce.TaskAttemptContext, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"boolean needsTaskCommit(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void setupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"setupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void setupTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"setupTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void commitTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void abortTask(org.apache.hadoop.mapreduce.TaskAttemptContext, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported()":{"name":"isRecoverySupported","returnType":"boolean","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.LongValueMax":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.LongValueMax","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"long getVal()":{"name":"getVal","returnType":"long","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"void addNextValue(long)":{"name":"addNextValue","returnType":"void","args":["long"],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapred.FileSplit":{"name":"org.apache.hadoop.mapred.FileSplit","methods":{"long getStart()":{"name":"getStart","returnType":"long","args":[],"exceptions":[]},"[Ljava.lang.String; getLocations() throws java.io.IOException":{"name":"getLocations","returnType":"[Ljava.lang.String;","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.SplitLocationInfo; getLocationInfo() throws java.io.IOException":{"name":"getLocationInfo","returnType":"[Lorg.apache.hadoop.mapred.SplitLocationInfo;","args":[],"exceptions":["java.io.IOException"]},"long getLength()":{"name":"getLength","returnType":"long","args":[],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getPath()":{"name":"getPath","returnType":"org.apache.hadoop.fs.Path","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.SequenceFileInputFormat":{"name":"org.apache.hadoop.mapred.SequenceFileInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.TaskCompletionEvent":{"name":"org.apache.hadoop.mapred.TaskCompletionEvent","methods":{"void setTaskID(org.apache.hadoop.mapred.TaskAttemptID)":{"name":"setTaskID","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptID"],"exceptions":[]},"void setTaskRunTime(int)":{"name":"setTaskRunTime","returnType":"void","args":["int"],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskAttemptID getTaskAttemptId()":{"name":"getTaskAttemptId","returnType":"org.apache.hadoop.mapreduce.TaskAttemptID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskAttemptID getTaskAttemptId()":{"name":"getTaskAttemptId","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":[],"exceptions":[]},"void setTaskId(java.lang.String)":{"name":"setTaskId","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setTaskTrackerHttp(java.lang.String)":{"name":"setTaskTrackerHttp","returnType":"void","args":["java.lang.String"],"exceptions":[]},"void setEventId(int)":{"name":"setEventId","returnType":"void","args":["int"],"exceptions":[]},"org.apache.hadoop.mapred.TaskCompletionEvent downgrade(org.apache.hadoop.mapreduce.TaskCompletionEvent)":{"name":"downgrade","returnType":"org.apache.hadoop.mapred.TaskCompletionEvent","args":["org.apache.hadoop.mapreduce.TaskCompletionEvent"],"exceptions":[]},"java.lang.String getTaskId()":{"name":"getTaskId","returnType":"java.lang.String","args":[],"exceptions":[]},"void setTaskStatus(org.apache.hadoop.mapred.TaskCompletionEvent$Status)":{"name":"setTaskStatus","returnType":"void","args":["org.apache.hadoop.mapred.TaskCompletionEvent$Status"],"exceptions":[]},"org.apache.hadoop.mapred.TaskCompletionEvent$Status getTaskStatus()":{"name":"getTaskStatus","returnType":"org.apache.hadoop.mapred.TaskCompletionEvent$Status","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.IdentityMapper":{"name":"org.apache.hadoop.mapred.lib.IdentityMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.SequenceFileAsBinaryInputFormat":{"name":"org.apache.hadoop.mapred.SequenceFileAsBinaryInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorReducer":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorReducer","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void map(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.Counters":{"name":"org.apache.hadoop.mapreduce.Counters","methods":{}},"org.apache.hadoop.mapred.join.WrappedRecordReader":{"name":"org.apache.hadoop.mapred.join.WrappedRecordReader","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int id()":{"name":"id","returnType":"int","args":[],"exceptions":[]},"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"void accept(org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector, org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"accept","returnType":"void","args":["org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector","org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.WritableComparable key()":{"name":"key","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"void skip(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"skip","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"boolean next(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"int compareTo(org.apache.hadoop.mapred.join.ComposableRecordReader)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapred.join.ComposableRecordReader"],"exceptions":[]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"org.apache.hadoop.io.WritableComparable createKey()":{"name":"createKey","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"org.apache.hadoop.io.Writable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void key(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"key","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.TaskAttemptID":{"name":"org.apache.hadoop.mapreduce.TaskAttemptID","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int compareTo(org.apache.hadoop.mapreduce.ID)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.ID"],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.TaskID getTaskID()":{"name":"getTaskID","returnType":"org.apache.hadoop.mapreduce.TaskID","args":[],"exceptions":[]},"boolean isMap()":{"name":"isMap","returnType":"boolean","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapreduce.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskAttemptID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapreduce.TaskAttemptID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskType getTaskType()":{"name":"getTaskType","returnType":"org.apache.hadoop.mapreduce.TaskType","args":[],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.LazyOutputFormat":{"name":"org.apache.hadoop.mapred.lib.LazyOutputFormat","methods":{"void setOutputFormatClass(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"setOutputFormatClass","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.db.DBOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.db.DBOutputFormat","methods":{"void setOutput(org.apache.hadoop.mapreduce.Job, java.lang.String, [Ljava.lang.String;) throws java.io.IOException":{"name":"setOutput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String","[Ljava.lang.String;"],"exceptions":["java.io.IOException"]},"void setOutput(org.apache.hadoop.mapreduce.Job, java.lang.String, int) throws java.io.IOException":{"name":"setOutput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String","int"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"java.lang.String constructQuery(java.lang.String, [Ljava.lang.String;)":{"name":"constructQuery","returnType":"java.lang.String","args":["java.lang.String","[Ljava.lang.String;"],"exceptions":[]},"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.InvalidJobConfException":{"name":"org.apache.hadoop.mapred.InvalidJobConfException","methods":{}},"org.apache.hadoop.mapred.SequenceFileRecordReader":{"name":"org.apache.hadoop.mapred.SequenceFileRecordReader","methods":{"java.lang.Class getKeyClass()":{"name":"getKeyClass","returnType":"java.lang.Class","args":[],"exceptions":[]},"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"java.lang.Class getValueClass()":{"name":"getValueClass","returnType":"java.lang.Class","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.join.InnerJoinRecordReader":{"name":"org.apache.hadoop.mapred.join.InnerJoinRecordReader","methods":{}},"org.apache.hadoop.mapred.lib.MultipleOutputs":{"name":"org.apache.hadoop.mapred.lib.MultipleOutputs","methods":{"boolean getCountersEnabled(org.apache.hadoop.mapred.JobConf)":{"name":"getCountersEnabled","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.OutputCollector getCollector(java.lang.String, java.lang.String, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getCollector","returnType":"org.apache.hadoop.mapred.OutputCollector","args":["java.lang.String","java.lang.String","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"java.lang.Class getNamedOutputKeyClass(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"getNamedOutputKeyClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"void setCountersEnabled(org.apache.hadoop.mapred.JobConf, boolean)":{"name":"setCountersEnabled","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","boolean"],"exceptions":[]},"boolean isMultiNamedOutput(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"isMultiNamedOutput","returnType":"boolean","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"java.lang.Class getNamedOutputFormatClass(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"getNamedOutputFormatClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"java.util.Iterator getNamedOutputs()":{"name":"getNamedOutputs","returnType":"java.util.Iterator","args":[],"exceptions":[]},"java.util.List getNamedOutputsList(org.apache.hadoop.mapred.JobConf)":{"name":"getNamedOutputsList","returnType":"java.util.List","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.OutputCollector getCollector(java.lang.String, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getCollector","returnType":"org.apache.hadoop.mapred.OutputCollector","args":["java.lang.String","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void addMultiNamedOutput(org.apache.hadoop.mapred.JobConf, java.lang.String, java.lang.Class, java.lang.Class, java.lang.Class)":{"name":"addMultiNamedOutput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","java.lang.Class","java.lang.Class","java.lang.Class"],"exceptions":[]},"void addNamedOutput(org.apache.hadoop.mapred.JobConf, java.lang.String, java.lang.Class, java.lang.Class, java.lang.Class)":{"name":"addNamedOutput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","java.lang.Class","java.lang.Class","java.lang.Class"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"java.lang.Class getNamedOutputValueClass(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"getNamedOutputValueClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner":{"name":"org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner","methods":{"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]},"java.lang.String getPartitionFile(org.apache.hadoop.conf.Configuration)":{"name":"getPartitionFile","returnType":"java.lang.String","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"void setPartitionFile(org.apache.hadoop.conf.Configuration, org.apache.hadoop.fs.Path)":{"name":"setPartitionFile","returnType":"void","args":["org.apache.hadoop.conf.Configuration","org.apache.hadoop.fs.Path"],"exceptions":[]},"int getPartition(org.apache.hadoop.io.WritableComparable, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["org.apache.hadoop.io.WritableComparable","java.lang.Object","int"],"exceptions":[]}}},"org.apache.hadoop.mapred.MultiFileInputFormat":{"name":"org.apache.hadoop.mapred.MultiFileInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat","methods":{"org.apache.hadoop.io.SequenceFile$CompressionType getOutputCompressionType(org.apache.hadoop.mapreduce.JobContext)":{"name":"getOutputCompressionType","returnType":"org.apache.hadoop.io.SequenceFile$CompressionType","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setOutputCompressionType(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.io.SequenceFile$CompressionType)":{"name":"setOutputCompressionType","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.io.SequenceFile$CompressionType"],"exceptions":[]}}},"org.apache.hadoop.mapred.Counters":{"name":"org.apache.hadoop.mapred.Counters","methods":{"void log(org.apache.commons.logging.Log)":{"name":"log","returnType":"void","args":["org.apache.commons.logging.Log"],"exceptions":[]},"void incrAllCounters(org.apache.hadoop.mapred.Counters)":{"name":"incrAllCounters","returnType":"void","args":["org.apache.hadoop.mapred.Counters"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Group getGroup(java.lang.String)":{"name":"getGroup","returnType":"org.apache.hadoop.mapred.Counters$Group","args":["java.lang.String"],"exceptions":[]},"void incrCounter(java.lang.String, java.lang.String, long)":{"name":"incrCounter","returnType":"void","args":["java.lang.String","java.lang.String","long"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter findCounter(java.lang.String, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"int size()":{"name":"size","returnType":"int","args":[],"exceptions":[]},"java.lang.String makeEscapedCompactString()":{"name":"makeEscapedCompactString","returnType":"java.lang.String","args":[],"exceptions":[]},"void incrCounter(java.lang.Enum, long)":{"name":"incrCounter","returnType":"void","args":["java.lang.Enum","long"],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.Counters sum(org.apache.hadoop.mapred.Counters, org.apache.hadoop.mapred.Counters)":{"name":"sum","returnType":"org.apache.hadoop.mapred.Counters","args":["org.apache.hadoop.mapred.Counters","org.apache.hadoop.mapred.Counters"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter findCounter(java.lang.String, int, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","int","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.CounterGroupBase getGroup(java.lang.String)":{"name":"getGroup","returnType":"org.apache.hadoop.mapreduce.counters.CounterGroupBase","args":["java.lang.String"],"exceptions":[]},"java.lang.String makeCompactString()":{"name":"makeCompactString","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapred.Counters fromEscapedCompactString(java.lang.String) throws java.text.ParseException":{"name":"fromEscapedCompactString","returnType":"org.apache.hadoop.mapred.Counters","args":["java.lang.String"],"exceptions":["java.text.ParseException"]},"long getCounter(java.lang.Enum)":{"name":"getCounter","returnType":"long","args":["java.lang.Enum"],"exceptions":[]},"java.util.Collection getGroupNames()":{"name":"getGroupNames","returnType":"java.util.Collection","args":[],"exceptions":[]},"java.lang.Iterable getGroupNames()":{"name":"getGroupNames","returnType":"java.lang.Iterable","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.join.ResetableIterator":{"name":"org.apache.hadoop.mapred.join.ResetableIterator","methods":{}},"org.apache.hadoop.mapreduce.lib.input.CombineTextInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineTextInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.KeyValueTextInputFormat":{"name":"org.apache.hadoop.mapred.KeyValueTextInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsBinaryInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsBinaryInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.join.ArrayListBackedIterator":{"name":"org.apache.hadoop.mapred.join.ArrayListBackedIterator","methods":{}},"org.apache.hadoop.mapred.lib.db.DBConfiguration":{"name":"org.apache.hadoop.mapred.lib.db.DBConfiguration","methods":{"void configureDB(org.apache.hadoop.mapred.JobConf, java.lang.String, java.lang.String, java.lang.String, java.lang.String)":{"name":"configureDB","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","java.lang.String","java.lang.String","java.lang.String"],"exceptions":[]},"void configureDB(org.apache.hadoop.mapred.JobConf, java.lang.String, java.lang.String)":{"name":"configureDB","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String","java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.KeyFieldBasedComparator":{"name":"org.apache.hadoop.mapred.lib.KeyFieldBasedComparator","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReaderWrapper":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReaderWrapper","methods":{"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.TaskReport":{"name":"org.apache.hadoop.mapred.TaskReport","methods":{"org.apache.hadoop.mapred.TaskAttemptID getSuccessfulTaskAttempt()":{"name":"getSuccessfulTaskAttempt","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":[],"exceptions":[]},"java.util.Collection getRunningTaskAttempts()":{"name":"getRunningTaskAttempts","returnType":"java.util.Collection","args":[],"exceptions":[]},"org.apache.hadoop.mapred.Counters getCounters()":{"name":"getCounters","returnType":"org.apache.hadoop.mapred.Counters","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskID getTaskID()":{"name":"getTaskID","returnType":"org.apache.hadoop.mapred.TaskID","args":[],"exceptions":[]},"void setSuccessfulAttempt(org.apache.hadoop.mapred.TaskAttemptID)":{"name":"setSuccessfulAttempt","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptID"],"exceptions":[]},"void setRunningTaskAttempts(java.util.Collection)":{"name":"setRunningTaskAttempts","returnType":"void","args":["java.util.Collection"],"exceptions":[]},"java.lang.String getTaskId()":{"name":"getTaskId","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.map.TokenCounterMapper":{"name":"org.apache.hadoop.mapreduce.lib.map.TokenCounterMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void map(java.lang.Object, org.apache.hadoop.io.Text, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","org.apache.hadoop.io.Text","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.output.TextOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.TextOutputFormat","methods":{"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorJobBase":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorJobBase","methods":{"void setup(org.apache.hadoop.conf.Configuration)":{"name":"setup","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.NullOutputFormat":{"name":"org.apache.hadoop.mapred.lib.NullOutputFormat","methods":{"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable)":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf)":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.InvalidFileTypeException":{"name":"org.apache.hadoop.mapred.InvalidFileTypeException","methods":{}},"org.apache.hadoop.mapreduce.tools.CLI":{"name":"org.apache.hadoop.mapreduce.tools.CLI","methods":{"void displayJobList([Lorg.apache.hadoop.mapreduce.JobStatus;, java.io.PrintWriter)":{"name":"displayJobList","returnType":"void","args":["[Lorg.apache.hadoop.mapreduce.JobStatus;","java.io.PrintWriter"],"exceptions":[]},"void displayJobList([Lorg.apache.hadoop.mapreduce.JobStatus;) throws java.lang.InterruptedException, java.io.IOException":{"name":"displayJobList","returnType":"void","args":["[Lorg.apache.hadoop.mapreduce.JobStatus;"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void main([Ljava.lang.String;) throws java.lang.Exception":{"name":"main","returnType":"void","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]},"int run([Ljava.lang.String;) throws java.lang.Exception":{"name":"run","returnType":"int","args":["[Ljava.lang.String;"],"exceptions":["java.lang.Exception"]}}},"org.apache.hadoop.mapred.lib.db.DBInputFormat":{"name":"org.apache.hadoop.mapred.lib.db.DBInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void setInput(org.apache.hadoop.mapred.JobConf, java.lang.Class, java.lang.String, java.lang.String, java.lang.String, [Ljava.lang.String;)":{"name":"setInput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class","java.lang.String","java.lang.String","java.lang.String","[Ljava.lang.String;"],"exceptions":[]},"void setInput(org.apache.hadoop.mapred.JobConf, java.lang.Class, java.lang.String, java.lang.String)":{"name":"setInput","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class","java.lang.String","java.lang.String"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.ComposableInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.join.ComposableInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.lib.join.ComposableRecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.Reporter":{"name":"org.apache.hadoop.mapred.Reporter","methods":{"void incrCounter(java.lang.Enum, long)":{"name":"incrCounter","returnType":"void","args":["java.lang.Enum","long"],"exceptions":[]},"void incrCounter(java.lang.String, java.lang.String, long)":{"name":"incrCounter","returnType":"void","args":["java.lang.String","java.lang.String","long"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter getCounter(java.lang.String, java.lang.String)":{"name":"getCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter getCounter(java.lang.Enum)":{"name":"getCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.Enum"],"exceptions":[]},"org.apache.hadoop.mapred.InputSplit getInputSplit() throws java.lang.UnsupportedOperationException":{"name":"getInputSplit","returnType":"org.apache.hadoop.mapred.InputSplit","args":[],"exceptions":["java.lang.UnsupportedOperationException"]},"float getProgress()":{"name":"getProgress","returnType":"float","args":[],"exceptions":[]},"void setStatus(java.lang.String)":{"name":"setStatus","returnType":"void","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.InputFormat":{"name":"org.apache.hadoop.mapreduce.InputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.InputSampler":{"name":"org.apache.hadoop.mapred.lib.InputSampler","methods":{"void writePartitionFile(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.lib.InputSampler$Sampler) throws java.lang.InterruptedException, java.io.IOException, java.lang.ClassNotFoundException":{"name":"writePartitionFile","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.lib.InputSampler$Sampler"],"exceptions":["java.lang.InterruptedException","java.io.IOException","java.lang.ClassNotFoundException"]}}},"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorCombiner":{"name":"org.apache.hadoop.mapred.lib.aggregate.ValueAggregatorCombiner","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void map(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.StringValueMax":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.StringValueMax","methods":{"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"java.lang.String getVal()":{"name":"getVal","returnType":"java.lang.String","args":[],"exceptions":[]},"java.util.ArrayList getCombinerOutput()":{"name":"getCombinerOutput","returnType":"java.util.ArrayList","args":[],"exceptions":[]},"java.lang.String getReport()":{"name":"getReport","returnType":"java.lang.String","args":[],"exceptions":[]},"void addNextValue(java.lang.Object)":{"name":"addNextValue","returnType":"void","args":["java.lang.Object"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.ArrayListBackedIterator":{"name":"org.apache.hadoop.mapreduce.lib.join.ArrayListBackedIterator","methods":{"void add(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean next(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"void reset()":{"name":"reset","returnType":"void","args":[],"exceptions":[]},"boolean replay(org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"replay","returnType":"boolean","args":["org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void clear()":{"name":"clear","returnType":"void","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.JobPriority":{"name":"org.apache.hadoop.mapred.JobPriority","methods":{"[Lorg.apache.hadoop.mapred.JobPriority; values()":{"name":"values","returnType":"[Lorg.apache.hadoop.mapred.JobPriority;","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobPriority valueOf(java.lang.String)":{"name":"valueOf","returnType":"org.apache.hadoop.mapred.JobPriority","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.output.FileOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.FileOutputFormat","methods":{"boolean getCompressOutput(org.apache.hadoop.mapreduce.JobContext)":{"name":"getCompressOutput","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException, org.apache.hadoop.mapred.FileAlreadyExistsException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException","org.apache.hadoop.mapred.FileAlreadyExistsException"]},"org.apache.hadoop.fs.Path getWorkOutputPath(org.apache.hadoop.mapreduce.TaskInputOutputContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getWorkOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskInputOutputContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setOutputPath(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.fs.Path)":{"name":"setOutputPath","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.fs.Path"],"exceptions":[]},"void setOutputCompressorClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setOutputCompressorClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.fs.Path getPathForWorkFile(org.apache.hadoop.mapreduce.TaskInputOutputContext, java.lang.String, java.lang.String) throws java.lang.InterruptedException, java.io.IOException":{"name":"getPathForWorkFile","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskInputOutputContext","java.lang.String","java.lang.String"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.String getUniqueFile(org.apache.hadoop.mapreduce.TaskAttemptContext, java.lang.String, java.lang.String)":{"name":"getUniqueFile","returnType":"java.lang.String","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","java.lang.String","java.lang.String"],"exceptions":[]},"org.apache.hadoop.fs.Path getOutputPath(org.apache.hadoop.mapreduce.JobContext)":{"name":"getOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"org.apache.hadoop.mapreduce.OutputCommitter getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"getOutputCommitter","returnType":"org.apache.hadoop.mapreduce.OutputCommitter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Class getOutputCompressorClass(org.apache.hadoop.mapreduce.JobContext, java.lang.Class)":{"name":"getOutputCompressorClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapreduce.JobContext","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.fs.Path getDefaultWorkFile(org.apache.hadoop.mapreduce.TaskAttemptContext, java.lang.String) throws java.io.IOException":{"name":"getDefaultWorkFile","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapreduce.TaskAttemptContext","java.lang.String"],"exceptions":["java.io.IOException"]},"void setCompressOutput(org.apache.hadoop.mapreduce.Job, boolean)":{"name":"setCompressOutput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","boolean"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorReducer":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorReducer","methods":{"void reduce(java.lang.Object, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setup(org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"setup","returnType":"void","args":["org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.join.CompositeRecordReader":{"name":"org.apache.hadoop.mapred.join.CompositeRecordReader","methods":{"int id()":{"name":"id","returnType":"int","args":[],"exceptions":[]},"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"void accept(org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector, org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"accept","returnType":"void","args":["org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector","org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.WritableComparable key()":{"name":"key","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"void skip(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"skip","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"int compareTo(org.apache.hadoop.mapred.join.ComposableRecordReader)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapred.join.ComposableRecordReader"],"exceptions":[]},"void add(org.apache.hadoop.mapred.join.ComposableRecordReader) throws java.io.IOException":{"name":"add","returnType":"void","args":["org.apache.hadoop.mapred.join.ComposableRecordReader"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.WritableComparable createKey()":{"name":"createKey","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"void key(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"key","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.chain.ChainReducer":{"name":"org.apache.hadoop.mapreduce.lib.chain.ChainReducer","methods":{"void addMapper(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, org.apache.hadoop.conf.Configuration) throws java.io.IOException":{"name":"addMapper","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","org.apache.hadoop.conf.Configuration"],"exceptions":["java.io.IOException"]},"void setReducer(org.apache.hadoop.mapreduce.Job, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, org.apache.hadoop.conf.Configuration)":{"name":"setReducer","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","org.apache.hadoop.conf.Configuration"],"exceptions":[]},"void run(org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.ID":{"name":"org.apache.hadoop.mapreduce.ID","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"int compareTo(org.apache.hadoop.mapreduce.ID)":{"name":"compareTo","returnType":"int","args":["org.apache.hadoop.mapreduce.ID"],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"int getId()":{"name":"getId","returnType":"int","args":[],"exceptions":[]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.SequenceFileAsTextRecordReader":{"name":"org.apache.hadoop.mapred.SequenceFileAsTextRecordReader","methods":{"boolean next(org.apache.hadoop.io.Text, org.apache.hadoop.io.Text) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.Text","org.apache.hadoop.io.Text"],"exceptions":["java.io.IOException"]},"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"org.apache.hadoop.io.Text createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"org.apache.hadoop.io.Text createKey()":{"name":"createKey","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.partition.HashPartitioner":{"name":"org.apache.hadoop.mapreduce.lib.partition.HashPartitioner","methods":{"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.ChainReducer":{"name":"org.apache.hadoop.mapred.lib.ChainReducer","methods":{"void setReducer(org.apache.hadoop.mapred.JobConf, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, boolean, org.apache.hadoop.mapred.JobConf)":{"name":"setReducer","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","boolean","org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void reduce(java.lang.Object, java.util.Iterator, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.util.Iterator","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void addMapper(org.apache.hadoop.mapred.JobConf, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, boolean, org.apache.hadoop.mapred.JobConf)":{"name":"addMapper","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","boolean","org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.MultipleInputs":{"name":"org.apache.hadoop.mapred.lib.MultipleInputs","methods":{"void addInputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path, java.lang.Class)":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path","java.lang.Class"],"exceptions":[]},"void addInputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path, java.lang.Class, java.lang.Class)":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path","java.lang.Class","java.lang.Class"],"exceptions":[]}}},"org.apache.hadoop.mapred.SequenceFileOutputFormat":{"name":"org.apache.hadoop.mapred.SequenceFileOutputFormat","methods":{"[Lorg.apache.hadoop.io.SequenceFile$Reader; getReaders(org.apache.hadoop.conf.Configuration, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"getReaders","returnType":"[Lorg.apache.hadoop.io.SequenceFile$Reader;","args":["org.apache.hadoop.conf.Configuration","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"void setOutputCompressionType(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.io.SequenceFile$CompressionType)":{"name":"setOutputCompressionType","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.io.SequenceFile$CompressionType"],"exceptions":[]},"org.apache.hadoop.io.SequenceFile$CompressionType getOutputCompressionType(org.apache.hadoop.mapred.JobConf)":{"name":"getOutputCompressionType","returnType":"org.apache.hadoop.io.SequenceFile$CompressionType","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorDescriptor":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorDescriptor","methods":{"java.util.ArrayList generateKeyValPairs(java.lang.Object, java.lang.Object)":{"name":"generateKeyValPairs","returnType":"java.util.ArrayList","args":["java.lang.Object","java.lang.Object"],"exceptions":[]},"void configure(org.apache.hadoop.conf.Configuration)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.map.MultithreadedMapper":{"name":"org.apache.hadoop.mapreduce.lib.map.MultithreadedMapper","methods":{"void run(org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setMapperClass(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setMapperClass","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"int getNumberOfThreads(org.apache.hadoop.mapreduce.JobContext)":{"name":"getNumberOfThreads","returnType":"int","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"java.lang.Class getMapperClass(org.apache.hadoop.mapreduce.JobContext)":{"name":"getMapperClass","returnType":"java.lang.Class","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void setNumberOfThreads(org.apache.hadoop.mapreduce.Job, int)":{"name":"setNumberOfThreads","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","int"],"exceptions":[]}}},"org.apache.hadoop.mapred.Mapper":{"name":"org.apache.hadoop.mapred.Mapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.TaskType":{"name":"org.apache.hadoop.mapreduce.TaskType","methods":{"[Lorg.apache.hadoop.mapreduce.TaskType; values()":{"name":"values","returnType":"[Lorg.apache.hadoop.mapreduce.TaskType;","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.TaskType valueOf(java.lang.String)":{"name":"valueOf","returnType":"org.apache.hadoop.mapreduce.TaskType","args":["java.lang.String"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.TextInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.TextInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext)":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":[]}}},"org.apache.hadoop.mapred.OutputCommitter":{"name":"org.apache.hadoop.mapred.OutputCommitter","methods":{"void cleanupJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"cleanupJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void commitJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"commitJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void setupTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"setupTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void abortTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void recoverTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"recoverTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isCommitJobRepeatable(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"isCommitJobRepeatable","returnType":"boolean","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void cleanupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"cleanupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void abortJob(org.apache.hadoop.mapreduce.JobContext, org.apache.hadoop.mapreduce.JobStatus$State) throws java.io.IOException":{"name":"abortJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext","org.apache.hadoop.mapreduce.JobStatus$State"],"exceptions":["java.io.IOException"]},"void abortTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean needsTaskCommit(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isCommitJobRepeatable(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"isCommitJobRepeatable","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void abortJob(org.apache.hadoop.mapred.JobContext, int) throws java.io.IOException":{"name":"abortJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext","int"],"exceptions":["java.io.IOException"]},"void commitTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"isRecoverySupported","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"boolean needsTaskCommit(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void setupJob(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"setupJob","returnType":"void","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]},"void setupTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"setupTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void commitTask(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"isRecoverySupported","returnType":"boolean","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void setupJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"setupJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void commitJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"commitJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void recoverTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"recoverTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported()":{"name":"isRecoverySupported","returnType":"boolean","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.InputFormat":{"name":"org.apache.hadoop.mapred.InputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.SkipBadRecords":{"name":"org.apache.hadoop.mapred.SkipBadRecords","methods":{"void setMapperMaxSkipRecords(org.apache.hadoop.conf.Configuration, long)":{"name":"setMapperMaxSkipRecords","returnType":"void","args":["org.apache.hadoop.conf.Configuration","long"],"exceptions":[]},"int getAttemptsToStartSkipping(org.apache.hadoop.conf.Configuration)":{"name":"getAttemptsToStartSkipping","returnType":"int","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"long getReducerMaxSkipGroups(org.apache.hadoop.conf.Configuration)":{"name":"getReducerMaxSkipGroups","returnType":"long","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"long getMapperMaxSkipRecords(org.apache.hadoop.conf.Configuration)":{"name":"getMapperMaxSkipRecords","returnType":"long","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"void setSkipOutputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path)":{"name":"setSkipOutputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path"],"exceptions":[]},"void setReducerMaxSkipGroups(org.apache.hadoop.conf.Configuration, long)":{"name":"setReducerMaxSkipGroups","returnType":"void","args":["org.apache.hadoop.conf.Configuration","long"],"exceptions":[]},"void setAutoIncrMapperProcCount(org.apache.hadoop.conf.Configuration, boolean)":{"name":"setAutoIncrMapperProcCount","returnType":"void","args":["org.apache.hadoop.conf.Configuration","boolean"],"exceptions":[]},"boolean getAutoIncrReducerProcCount(org.apache.hadoop.conf.Configuration)":{"name":"getAutoIncrReducerProcCount","returnType":"boolean","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"boolean getAutoIncrMapperProcCount(org.apache.hadoop.conf.Configuration)":{"name":"getAutoIncrMapperProcCount","returnType":"boolean","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"org.apache.hadoop.fs.Path getSkipOutputPath(org.apache.hadoop.conf.Configuration)":{"name":"getSkipOutputPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"void setAutoIncrReducerProcCount(org.apache.hadoop.conf.Configuration, boolean)":{"name":"setAutoIncrReducerProcCount","returnType":"void","args":["org.apache.hadoop.conf.Configuration","boolean"],"exceptions":[]},"void setAttemptsToStartSkipping(org.apache.hadoop.conf.Configuration, int)":{"name":"setAttemptsToStartSkipping","returnType":"void","args":["org.apache.hadoop.conf.Configuration","int"],"exceptions":[]}}},"org.apache.hadoop.mapred.TaskAttemptID":{"name":"org.apache.hadoop.mapred.TaskAttemptID","methods":{"org.apache.hadoop.mapred.TaskAttemptID read(java.io.DataInput) throws java.io.IOException":{"name":"read","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]},"java.lang.String getTaskAttemptIDsPattern(java.lang.String, java.lang.Integer, org.apache.hadoop.mapreduce.TaskType, java.lang.Integer, java.lang.Integer)":{"name":"getTaskAttemptIDsPattern","returnType":"java.lang.String","args":["java.lang.String","java.lang.Integer","org.apache.hadoop.mapreduce.TaskType","java.lang.Integer","java.lang.Integer"],"exceptions":[]},"org.apache.hadoop.mapred.TaskAttemptID forName(java.lang.String) throws java.lang.IllegalArgumentException":{"name":"forName","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":["java.lang.String"],"exceptions":["java.lang.IllegalArgumentException"]},"org.apache.hadoop.mapreduce.TaskID getTaskID()":{"name":"getTaskID","returnType":"org.apache.hadoop.mapreduce.TaskID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapred.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.JobID getJobID()":{"name":"getJobID","returnType":"org.apache.hadoop.mapreduce.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskID getTaskID()":{"name":"getTaskID","returnType":"org.apache.hadoop.mapred.TaskID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.TaskAttemptID downgrade(org.apache.hadoop.mapreduce.TaskAttemptID)":{"name":"downgrade","returnType":"org.apache.hadoop.mapred.TaskAttemptID","args":["org.apache.hadoop.mapreduce.TaskAttemptID"],"exceptions":[]},"java.lang.String getTaskAttemptIDsPattern(java.lang.String, java.lang.Integer, java.lang.Boolean, java.lang.Integer, java.lang.Integer)":{"name":"getTaskAttemptIDsPattern","returnType":"java.lang.String","args":["java.lang.String","java.lang.Integer","java.lang.Boolean","java.lang.Integer","java.lang.Integer"],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorCombiner":{"name":"org.apache.hadoop.mapreduce.lib.aggregate.ValueAggregatorCombiner","methods":{"void reduce(java.lang.Object, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["java.lang.Object","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void reduce(org.apache.hadoop.io.Text, java.lang.Iterable, org.apache.hadoop.mapreduce.Reducer$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"reduce","returnType":"void","args":["org.apache.hadoop.io.Text","java.lang.Iterable","org.apache.hadoop.mapreduce.Reducer$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.OutputFormat":{"name":"org.apache.hadoop.mapred.OutputFormat","methods":{"void checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf) throws java.io.IOException":{"name":"checkOutputSpecs","returnType":"void","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.RecordWriter getRecordWriter(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf, java.lang.String, org.apache.hadoop.util.Progressable) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapred.RecordWriter","args":["org.apache.hadoop.fs.FileSystem","org.apache.hadoop.mapred.JobConf","java.lang.String","org.apache.hadoop.util.Progressable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.RunningJob":{"name":"org.apache.hadoop.mapred.RunningJob","methods":{"void setJobPriority(java.lang.String) throws java.io.IOException":{"name":"setJobPriority","returnType":"void","args":["java.lang.String"],"exceptions":["java.io.IOException"]},"boolean isComplete() throws java.io.IOException":{"name":"isComplete","returnType":"boolean","args":[],"exceptions":["java.io.IOException"]},"void killTask(java.lang.String, boolean) throws java.io.IOException":{"name":"killTask","returnType":"void","args":["java.lang.String","boolean"],"exceptions":["java.io.IOException"]},"float cleanupProgress() throws java.io.IOException":{"name":"cleanupProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"int getJobState() throws java.io.IOException":{"name":"getJobState","returnType":"int","args":[],"exceptions":["java.io.IOException"]},"boolean isSuccessful() throws java.io.IOException":{"name":"isSuccessful","returnType":"boolean","args":[],"exceptions":["java.io.IOException"]},"float mapProgress() throws java.io.IOException":{"name":"mapProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"float setupProgress() throws java.io.IOException":{"name":"setupProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getFailureInfo() throws java.io.IOException":{"name":"getFailureInfo","returnType":"java.lang.String","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getJobName()":{"name":"getJobName","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobID getID()":{"name":"getID","returnType":"org.apache.hadoop.mapred.JobID","args":[],"exceptions":[]},"org.apache.hadoop.mapred.JobStatus getJobStatus() throws java.io.IOException":{"name":"getJobStatus","returnType":"org.apache.hadoop.mapred.JobStatus","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getJobID()":{"name":"getJobID","returnType":"java.lang.String","args":[],"exceptions":[]},"java.lang.String getJobFile()":{"name":"getJobFile","returnType":"java.lang.String","args":[],"exceptions":[]},"void waitForCompletion() throws java.io.IOException":{"name":"waitForCompletion","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.mapred.TaskCompletionEvent; getTaskCompletionEvents(int) throws java.io.IOException":{"name":"getTaskCompletionEvents","returnType":"[Lorg.apache.hadoop.mapred.TaskCompletionEvent;","args":["int"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.Counters getCounters() throws java.io.IOException":{"name":"getCounters","returnType":"org.apache.hadoop.mapred.Counters","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getHistoryUrl() throws java.io.IOException":{"name":"getHistoryUrl","returnType":"java.lang.String","args":[],"exceptions":["java.io.IOException"]},"float reduceProgress() throws java.io.IOException":{"name":"reduceProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"void killTask(org.apache.hadoop.mapred.TaskAttemptID, boolean) throws java.io.IOException":{"name":"killTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptID","boolean"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.conf.Configuration getConfiguration()":{"name":"getConfiguration","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"[Ljava.lang.String; getTaskDiagnostics(org.apache.hadoop.mapred.TaskAttemptID) throws java.io.IOException":{"name":"getTaskDiagnostics","returnType":"[Ljava.lang.String;","args":["org.apache.hadoop.mapred.TaskAttemptID"],"exceptions":["java.io.IOException"]},"boolean isRetired() throws java.io.IOException":{"name":"isRetired","returnType":"boolean","args":[],"exceptions":["java.io.IOException"]},"void killJob() throws java.io.IOException":{"name":"killJob","returnType":"void","args":[],"exceptions":["java.io.IOException"]},"java.lang.String getTrackingURL()":{"name":"getTrackingURL","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.FileInputFormat":{"name":"org.apache.hadoop.mapred.FileInputFormat","methods":{"void setInputPaths(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"setInputPaths","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void setInputPathFilter(org.apache.hadoop.mapred.JobConf, java.lang.Class)":{"name":"setInputPathFilter","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class"],"exceptions":[]},"void addInputPaths(org.apache.hadoop.mapred.JobConf, java.lang.String)":{"name":"addInputPaths","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.String"],"exceptions":[]},"void setInputPaths(org.apache.hadoop.mapred.JobConf, [Lorg.apache.hadoop.fs.Path;)":{"name":"setInputPaths","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","[Lorg.apache.hadoop.fs.Path;"],"exceptions":[]},"org.apache.hadoop.fs.PathFilter getInputPathFilter(org.apache.hadoop.mapred.JobConf)":{"name":"getInputPathFilter","returnType":"org.apache.hadoop.fs.PathFilter","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"[Lorg.apache.hadoop.fs.Path; getInputPaths(org.apache.hadoop.mapred.JobConf)":{"name":"getInputPaths","returnType":"[Lorg.apache.hadoop.fs.Path;","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void addInputPath(org.apache.hadoop.mapred.JobConf, org.apache.hadoop.fs.Path)":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","org.apache.hadoop.fs.Path"],"exceptions":[]},"[Lorg.apache.hadoop.mapred.InputSplit; getSplits(org.apache.hadoop.mapred.JobConf, int) throws java.io.IOException":{"name":"getSplits","returnType":"[Lorg.apache.hadoop.mapred.InputSplit;","args":["org.apache.hadoop.mapred.JobConf","int"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsTextRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.input.SequenceFileAsTextRecordReader","methods":{"org.apache.hadoop.io.Text getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"org.apache.hadoop.io.Text getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"org.apache.hadoop.io.Text","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.output.MapFileOutputFormat":{"name":"org.apache.hadoop.mapreduce.lib.output.MapFileOutputFormat","methods":{"org.apache.hadoop.mapreduce.RecordWriter getRecordWriter(org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.io.IOException":{"name":"getRecordWriter","returnType":"org.apache.hadoop.mapreduce.RecordWriter","args":["org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.Writable getEntry([Lorg.apache.hadoop.io.MapFile$Reader;, org.apache.hadoop.mapreduce.Partitioner, org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"getEntry","returnType":"org.apache.hadoop.io.Writable","args":["[Lorg.apache.hadoop.io.MapFile$Reader;","org.apache.hadoop.mapreduce.Partitioner","org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.io.MapFile$Reader; getReaders(org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration) throws java.io.IOException":{"name":"getReaders","returnType":"[Lorg.apache.hadoop.io.MapFile$Reader;","args":["org.apache.hadoop.fs.Path","org.apache.hadoop.conf.Configuration"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.aggregate.LongValueMax":{"name":"org.apache.hadoop.mapred.lib.aggregate.LongValueMax","methods":{}},"org.apache.hadoop.mapred.lib.CombineFileRecordReader":{"name":"org.apache.hadoop.mapred.lib.CombineFileRecordReader","methods":{"long getPos() throws java.io.IOException":{"name":"getPos","returnType":"long","args":[],"exceptions":["java.io.IOException"]},"float getProgress() throws java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.io.IOException"]},"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.Mapper":{"name":"org.apache.hadoop.mapreduce.Mapper","methods":{"void run(org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.FixedLengthInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.FixedLengthInputFormat","methods":{"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setRecordLength(org.apache.hadoop.conf.Configuration, int)":{"name":"setRecordLength","returnType":"void","args":["org.apache.hadoop.conf.Configuration","int"],"exceptions":[]},"int getRecordLength(org.apache.hadoop.conf.Configuration)":{"name":"getRecordLength","returnType":"int","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]}}},"org.apache.hadoop.mapred.InvalidInputException":{"name":"org.apache.hadoop.mapred.InvalidInputException","methods":{"java.util.List getProblems()":{"name":"getProblems","returnType":"java.util.List","args":[],"exceptions":[]},"java.lang.String getMessage()":{"name":"getMessage","returnType":"java.lang.String","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.input.MultipleInputs":{"name":"org.apache.hadoop.mapreduce.lib.input.MultipleInputs","methods":{"void addInputPath(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.fs.Path, java.lang.Class)":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.fs.Path","java.lang.Class"],"exceptions":[]},"void addInputPath(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.fs.Path, java.lang.Class, java.lang.Class)":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.fs.Path","java.lang.Class","java.lang.Class"],"exceptions":[]}}},"org.apache.hadoop.mapred.OutputCollector":{"name":"org.apache.hadoop.mapred.OutputCollector","methods":{"void collect(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"collect","returnType":"void","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.output.MultipleOutputs":{"name":"org.apache.hadoop.mapreduce.lib.output.MultipleOutputs","methods":{"void write(java.lang.Object, java.lang.Object, java.lang.String) throws java.lang.InterruptedException, java.io.IOException":{"name":"write","returnType":"void","args":["java.lang.Object","java.lang.Object","java.lang.String"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setCountersEnabled(org.apache.hadoop.mapreduce.Job, boolean)":{"name":"setCountersEnabled","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","boolean"],"exceptions":[]},"boolean getCountersEnabled(org.apache.hadoop.mapreduce.JobContext)":{"name":"getCountersEnabled","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void close() throws java.lang.InterruptedException, java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void write(java.lang.String, java.lang.Object, java.lang.Object, java.lang.String) throws java.lang.InterruptedException, java.io.IOException":{"name":"write","returnType":"void","args":["java.lang.String","java.lang.Object","java.lang.Object","java.lang.String"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void addNamedOutput(org.apache.hadoop.mapreduce.Job, java.lang.String, java.lang.Class, java.lang.Class, java.lang.Class)":{"name":"addNamedOutput","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String","java.lang.Class","java.lang.Class","java.lang.Class"],"exceptions":[]},"void write(java.lang.String, java.lang.Object, java.lang.Object) throws java.lang.InterruptedException, java.io.IOException":{"name":"write","returnType":"void","args":["java.lang.String","java.lang.Object","java.lang.Object"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.join.OverrideRecordReader":{"name":"org.apache.hadoop.mapred.join.OverrideRecordReader","methods":{}},"org.apache.hadoop.mapred.join.ComposableRecordReader":{"name":"org.apache.hadoop.mapred.join.ComposableRecordReader","methods":{"int id()":{"name":"id","returnType":"int","args":[],"exceptions":[]},"void accept(org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector, org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"accept","returnType":"void","args":["org.apache.hadoop.mapred.join.CompositeRecordReader$JoinCollector","org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.WritableComparable key()":{"name":"key","returnType":"org.apache.hadoop.io.WritableComparable","args":[],"exceptions":[]},"void skip(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"skip","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]},"boolean hasNext()":{"name":"hasNext","returnType":"boolean","args":[],"exceptions":[]},"void key(org.apache.hadoop.io.WritableComparable) throws java.io.IOException":{"name":"key","returnType":"void","args":["org.apache.hadoop.io.WritableComparable"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.TextInputFormat":{"name":"org.apache.hadoop.mapred.TextInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.InverseMapper":{"name":"org.apache.hadoop.mapred.lib.InverseMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionMapper":{"name":"org.apache.hadoop.mapreduce.lib.fieldsel.FieldSelectionMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void setup(org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"setup","returnType":"void","args":["org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.counters.AbstractCounters":{"name":"org.apache.hadoop.mapreduce.counters.AbstractCounters","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.Enum)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.Enum"],"exceptions":[]},"int countCounters()":{"name":"countCounters","returnType":"int","args":[],"exceptions":[]},"boolean getWriteAllCounters()":{"name":"getWriteAllCounters","returnType":"boolean","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.CounterGroupBase addGroup(org.apache.hadoop.mapreduce.counters.CounterGroupBase)":{"name":"addGroup","returnType":"org.apache.hadoop.mapreduce.counters.CounterGroupBase","args":["org.apache.hadoop.mapreduce.counters.CounterGroupBase"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"java.lang.String toString()":{"name":"toString","returnType":"java.lang.String","args":[],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String, org.apache.hadoop.mapreduce.FileSystemCounter)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","org.apache.hadoop.mapreduce.FileSystemCounter"],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.CounterGroupBase addGroup(java.lang.String, java.lang.String)":{"name":"addGroup","returnType":"org.apache.hadoop.mapreduce.counters.CounterGroupBase","args":["java.lang.String","java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.CounterGroupBase getGroup(java.lang.String)":{"name":"getGroup","returnType":"org.apache.hadoop.mapreduce.counters.CounterGroupBase","args":["java.lang.String"],"exceptions":[]},"java.util.Iterator iterator()":{"name":"iterator","returnType":"java.util.Iterator","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.Limits limits()":{"name":"limits","returnType":"org.apache.hadoop.mapreduce.counters.Limits","args":[],"exceptions":[]},"void setWriteAllCounters(boolean)":{"name":"setWriteAllCounters","returnType":"void","args":["boolean"],"exceptions":[]},"java.lang.Iterable getGroupNames()":{"name":"getGroupNames","returnType":"java.lang.Iterable","args":[],"exceptions":[]},"void incrAllCounters(org.apache.hadoop.mapreduce.counters.AbstractCounters)":{"name":"incrAllCounters","returnType":"void","args":["org.apache.hadoop.mapreduce.counters.AbstractCounters"],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.SequenceFileAsTextInputFormat":{"name":"org.apache.hadoop.mapred.SequenceFileAsTextInputFormat","methods":{"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.Counters$Group":{"name":"org.apache.hadoop.mapred.Counters$Group","methods":{"int hashCode()":{"name":"hashCode","returnType":"int","args":[],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter findCounter(java.lang.String, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"int size()":{"name":"size","returnType":"int","args":[],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter getCounter(int, java.lang.String)":{"name":"getCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["int","java.lang.String"],"exceptions":[]},"java.lang.String makeEscapedCompactString()":{"name":"makeEscapedCompactString","returnType":"java.lang.String","args":[],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String, boolean)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","boolean"],"exceptions":[]},"boolean equals(java.lang.Object)":{"name":"equals","returnType":"boolean","args":["java.lang.Object"],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String, java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","java.lang.String"],"exceptions":[]},"void write(java.io.DataOutput) throws java.io.IOException":{"name":"write","returnType":"void","args":["java.io.DataOutput"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapred.Counters$Counter addCounter(java.lang.String, java.lang.String, long)":{"name":"addCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","java.lang.String","long"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter getCounterForName(java.lang.String)":{"name":"getCounterForName","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapreduce.counters.CounterGroupBase getUnderlyingGroup()":{"name":"getUnderlyingGroup","returnType":"org.apache.hadoop.mapreduce.counters.CounterGroupBase","args":[],"exceptions":[]},"java.util.Iterator iterator()":{"name":"iterator","returnType":"java.util.Iterator","args":[],"exceptions":[]},"void incrAllCounters(org.apache.hadoop.mapreduce.counters.CounterGroupBase)":{"name":"incrAllCounters","returnType":"void","args":["org.apache.hadoop.mapreduce.counters.CounterGroupBase"],"exceptions":[]},"void setDisplayName(java.lang.String)":{"name":"setDisplayName","returnType":"void","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter findCounter(java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter addCounter(java.lang.String, java.lang.String, long)":{"name":"addCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String","java.lang.String","long"],"exceptions":[]},"long getCounter(java.lang.String)":{"name":"getCounter","returnType":"long","args":["java.lang.String"],"exceptions":[]},"org.apache.hadoop.mapred.Counters$Counter findCounter(java.lang.String, boolean)":{"name":"findCounter","returnType":"org.apache.hadoop.mapred.Counters$Counter","args":["java.lang.String","boolean"],"exceptions":[]},"org.apache.hadoop.mapreduce.Counter findCounter(java.lang.String)":{"name":"findCounter","returnType":"org.apache.hadoop.mapreduce.Counter","args":["java.lang.String"],"exceptions":[]},"void addCounter(org.apache.hadoop.mapred.Counters$Counter)":{"name":"addCounter","returnType":"void","args":["org.apache.hadoop.mapred.Counters$Counter"],"exceptions":[]},"java.lang.String getName()":{"name":"getName","returnType":"java.lang.String","args":[],"exceptions":[]},"void addCounter(org.apache.hadoop.mapreduce.Counter)":{"name":"addCounter","returnType":"void","args":["org.apache.hadoop.mapreduce.Counter"],"exceptions":[]},"java.lang.String getDisplayName()":{"name":"getDisplayName","returnType":"java.lang.String","args":[],"exceptions":[]},"void readFields(java.io.DataInput) throws java.io.IOException":{"name":"readFields","returnType":"void","args":["java.io.DataInput"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.MultipleSequenceFileOutputFormat":{"name":"org.apache.hadoop.mapred.lib.MultipleSequenceFileOutputFormat","methods":{}},"org.apache.hadoop.mapreduce.lib.map.InverseMapper":{"name":"org.apache.hadoop.mapreduce.lib.map.InverseMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapreduce.Mapper$Context) throws java.lang.InterruptedException, java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapreduce.Mapper$Context"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.db.DBWritable":{"name":"org.apache.hadoop.mapreduce.lib.db.DBWritable","methods":{"void readFields(java.sql.ResultSet) throws java.sql.SQLException":{"name":"readFields","returnType":"void","args":["java.sql.ResultSet"],"exceptions":["java.sql.SQLException"]},"void write(java.sql.PreparedStatement) throws java.sql.SQLException":{"name":"write","returnType":"void","args":["java.sql.PreparedStatement"],"exceptions":["java.sql.SQLException"]}}},"org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader","methods":{"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.input.FileInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.input.FileInputFormat","methods":{"void setInputPaths(org.apache.hadoop.mapreduce.Job, [Lorg.apache.hadoop.fs.Path;) throws java.io.IOException":{"name":"setInputPaths","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","[Lorg.apache.hadoop.fs.Path;"],"exceptions":["java.io.IOException"]},"void setInputPathFilter(org.apache.hadoop.mapreduce.Job, java.lang.Class)":{"name":"setInputPathFilter","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.Class"],"exceptions":[]},"long getMinSplitSize(org.apache.hadoop.mapreduce.JobContext)":{"name":"getMinSplitSize","returnType":"long","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void addInputPath(org.apache.hadoop.mapreduce.Job, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"addInputPath","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"[Lorg.apache.hadoop.fs.Path; getInputPaths(org.apache.hadoop.mapreduce.JobContext)":{"name":"getInputPaths","returnType":"[Lorg.apache.hadoop.fs.Path;","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"boolean getInputDirRecursive(org.apache.hadoop.mapreduce.JobContext)":{"name":"getInputDirRecursive","returnType":"boolean","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void setInputDirRecursive(org.apache.hadoop.mapreduce.Job, boolean)":{"name":"setInputDirRecursive","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","boolean"],"exceptions":[]},"long getMaxSplitSize(org.apache.hadoop.mapreduce.JobContext)":{"name":"getMaxSplitSize","returnType":"long","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"org.apache.hadoop.fs.PathFilter getInputPathFilter(org.apache.hadoop.mapreduce.JobContext)":{"name":"getInputPathFilter","returnType":"org.apache.hadoop.fs.PathFilter","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]},"void setMinInputSplitSize(org.apache.hadoop.mapreduce.Job, long)":{"name":"setMinInputSplitSize","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","long"],"exceptions":[]},"void setMaxInputSplitSize(org.apache.hadoop.mapreduce.Job, long)":{"name":"setMaxInputSplitSize","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","long"],"exceptions":[]},"void setInputPaths(org.apache.hadoop.mapreduce.Job, java.lang.String) throws java.io.IOException":{"name":"setInputPaths","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String"],"exceptions":["java.io.IOException"]},"void addInputPaths(org.apache.hadoop.mapreduce.Job, java.lang.String) throws java.io.IOException":{"name":"addInputPaths","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String"],"exceptions":["java.io.IOException"]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.join.MultiFilterRecordReader":{"name":"org.apache.hadoop.mapred.join.MultiFilterRecordReader","methods":{"java.lang.Object createKey()":{"name":"createKey","returnType":"java.lang.Object","args":[],"exceptions":[]},"java.lang.Object createValue()":{"name":"createValue","returnType":"java.lang.Object","args":[],"exceptions":[]},"boolean next(org.apache.hadoop.io.WritableComparable, org.apache.hadoop.io.Writable) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["org.apache.hadoop.io.WritableComparable","org.apache.hadoop.io.Writable"],"exceptions":["java.io.IOException"]},"int compareTo(java.lang.Object)":{"name":"compareTo","returnType":"int","args":["java.lang.Object"],"exceptions":[]},"boolean next(java.lang.Object, java.lang.Object) throws java.io.IOException":{"name":"next","returnType":"boolean","args":["java.lang.Object","java.lang.Object"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.io.Writable createValue()":{"name":"createValue","returnType":"org.apache.hadoop.io.Writable","args":[],"exceptions":[]}}},"org.apache.hadoop.mapreduce.lib.join.CompositeInputFormat":{"name":"org.apache.hadoop.mapreduce.lib.join.CompositeInputFormat","methods":{"java.lang.String compose(java.lang.String, java.lang.Class, [Lorg.apache.hadoop.fs.Path;)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.String","java.lang.Class","[Lorg.apache.hadoop.fs.Path;"],"exceptions":[]},"void setFormat(org.apache.hadoop.conf.Configuration) throws java.io.IOException":{"name":"setFormat","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.mapreduce.RecordReader createRecordReader(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"createRecordReader","returnType":"org.apache.hadoop.mapreduce.RecordReader","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.String compose(java.lang.Class, java.lang.String)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.Class","java.lang.String"],"exceptions":[]},"java.lang.String compose(java.lang.String, java.lang.Class, [Ljava.lang.String;)":{"name":"compose","returnType":"java.lang.String","args":["java.lang.String","java.lang.Class","[Ljava.lang.String;"],"exceptions":[]},"java.util.List getSplits(org.apache.hadoop.mapreduce.JobContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"getSplits","returnType":"java.util.List","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]}}},"org.apache.hadoop.mapred.FileOutputCommitter":{"name":"org.apache.hadoop.mapred.FileOutputCommitter","methods":{"void cleanupJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"cleanupJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void setupTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"setupTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isCommitJobRepeatable(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"isCommitJobRepeatable","returnType":"boolean","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void abortTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"abortTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean needsTaskCommit(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"needsTaskCommit","returnType":"boolean","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getWorkPath(org.apache.hadoop.mapred.TaskAttemptContext, org.apache.hadoop.fs.Path) throws java.io.IOException":{"name":"getWorkPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.TaskAttemptContext","org.apache.hadoop.fs.Path"],"exceptions":["java.io.IOException"]},"void abortJob(org.apache.hadoop.mapred.JobContext, int) throws java.io.IOException":{"name":"abortJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext","int"],"exceptions":["java.io.IOException"]},"void commitTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"commitTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"isRecoverySupported","returnType":"boolean","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"org.apache.hadoop.fs.Path getTaskAttemptPath(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"getTaskAttemptPath","returnType":"org.apache.hadoop.fs.Path","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"void setupJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"setupJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void commitJob(org.apache.hadoop.mapred.JobContext) throws java.io.IOException":{"name":"commitJob","returnType":"void","args":["org.apache.hadoop.mapred.JobContext"],"exceptions":["java.io.IOException"]},"void recoverTask(org.apache.hadoop.mapred.TaskAttemptContext) throws java.io.IOException":{"name":"recoverTask","returnType":"void","args":["org.apache.hadoop.mapred.TaskAttemptContext"],"exceptions":["java.io.IOException"]},"boolean isRecoverySupported()":{"name":"isRecoverySupported","returnType":"boolean","args":[],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.aggregate.StringValueMin":{"name":"org.apache.hadoop.mapred.lib.aggregate.StringValueMin","methods":{}},"org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedPartitioner":{"name":"org.apache.hadoop.mapreduce.lib.partition.KeyFieldBasedPartitioner","methods":{"org.apache.hadoop.conf.Configuration getConf()":{"name":"getConf","returnType":"org.apache.hadoop.conf.Configuration","args":[],"exceptions":[]},"void setKeyFieldPartitionerOptions(org.apache.hadoop.mapreduce.Job, java.lang.String)":{"name":"setKeyFieldPartitionerOptions","returnType":"void","args":["org.apache.hadoop.mapreduce.Job","java.lang.String"],"exceptions":[]},"void setConf(org.apache.hadoop.conf.Configuration)":{"name":"setConf","returnType":"void","args":["org.apache.hadoop.conf.Configuration"],"exceptions":[]},"int getPartition(java.lang.Object, java.lang.Object, int)":{"name":"getPartition","returnType":"int","args":["java.lang.Object","java.lang.Object","int"],"exceptions":[]},"java.lang.String getKeyFieldPartitionerOption(org.apache.hadoop.mapreduce.JobContext)":{"name":"getKeyFieldPartitionerOption","returnType":"java.lang.String","args":["org.apache.hadoop.mapreduce.JobContext"],"exceptions":[]}}},"org.apache.hadoop.mapred.SequenceFileInputFilter":{"name":"org.apache.hadoop.mapred.SequenceFileInputFilter","methods":{"void setFilterClass(org.apache.hadoop.conf.Configuration, java.lang.Class)":{"name":"setFilterClass","returnType":"void","args":["org.apache.hadoop.conf.Configuration","java.lang.Class"],"exceptions":[]},"org.apache.hadoop.mapred.RecordReader getRecordReader(org.apache.hadoop.mapred.InputSplit, org.apache.hadoop.mapred.JobConf, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"getRecordReader","returnType":"org.apache.hadoop.mapred.RecordReader","args":["org.apache.hadoop.mapred.InputSplit","org.apache.hadoop.mapred.JobConf","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.lib.join.InnerJoinRecordReader":{"name":"org.apache.hadoop.mapreduce.lib.join.InnerJoinRecordReader","methods":{}},"org.apache.hadoop.mapred.MapRunner":{"name":"org.apache.hadoop.mapred.MapRunner","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void run(org.apache.hadoop.mapred.RecordReader, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapred.RecordReader","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapreduce.RecordReader":{"name":"org.apache.hadoop.mapreduce.RecordReader","methods":{"java.lang.Object getCurrentValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentValue","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void initialize(org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext) throws java.lang.InterruptedException, java.io.IOException":{"name":"initialize","returnType":"void","args":["org.apache.hadoop.mapreduce.InputSplit","org.apache.hadoop.mapreduce.TaskAttemptContext"],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"boolean nextKeyValue() throws java.lang.InterruptedException, java.io.IOException":{"name":"nextKeyValue","returnType":"boolean","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"float getProgress() throws java.lang.InterruptedException, java.io.IOException":{"name":"getProgress","returnType":"float","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"java.lang.Object getCurrentKey() throws java.lang.InterruptedException, java.io.IOException":{"name":"getCurrentKey","returnType":"java.lang.Object","args":[],"exceptions":["java.lang.InterruptedException","java.io.IOException"]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.lib.ChainMapper":{"name":"org.apache.hadoop.mapred.lib.ChainMapper","methods":{"void map(java.lang.Object, java.lang.Object, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"map","returnType":"void","args":["java.lang.Object","java.lang.Object","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]},"void addMapper(org.apache.hadoop.mapred.JobConf, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, java.lang.Class, boolean, org.apache.hadoop.mapred.JobConf)":{"name":"addMapper","returnType":"void","args":["org.apache.hadoop.mapred.JobConf","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","java.lang.Class","boolean","org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void close() throws java.io.IOException":{"name":"close","returnType":"void","args":[],"exceptions":["java.io.IOException"]}}},"org.apache.hadoop.mapred.JobConfigurable":{"name":"org.apache.hadoop.mapred.JobConfigurable","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner":{"name":"org.apache.hadoop.mapred.lib.KeyFieldBasedPartitioner","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]}}},"org.apache.hadoop.mapred.lib.MultithreadedMapRunner":{"name":"org.apache.hadoop.mapred.lib.MultithreadedMapRunner","methods":{"void configure(org.apache.hadoop.mapred.JobConf)":{"name":"configure","returnType":"void","args":["org.apache.hadoop.mapred.JobConf"],"exceptions":[]},"void run(org.apache.hadoop.mapred.RecordReader, org.apache.hadoop.mapred.OutputCollector, org.apache.hadoop.mapred.Reporter) throws java.io.IOException":{"name":"run","returnType":"void","args":["org.apache.hadoop.mapred.RecordReader","org.apache.hadoop.mapred.OutputCollector","org.apache.hadoop.mapred.Reporter"],"exceptions":["java.io.IOException"]}}}}}