HADOOP-8395. Text shell command unnecessarily demands that a SequenceFile's key class be WritableComparable (harsh)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1337449 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Harsh J 2012-05-12 06:03:39 +00:00
parent 3d18382285
commit 810ae618fd
2 changed files with 5 additions and 3 deletions

View File

@ -133,6 +133,9 @@ Trunk (unreleased changes)
HADOOP-8375. test-patch should stop immediately once it has found HADOOP-8375. test-patch should stop immediately once it has found
compilation errors (bobby) compilation errors (bobby)
HADOOP-8395. Text shell command unnecessarily demands that a
SequenceFile's key class be WritableComparable (harsh)
OPTIMIZATIONS OPTIMIZATIONS
HADOOP-7761. Improve the performance of raw comparisons. (todd) HADOOP-7761. Improve the performance of raw comparisons. (todd)

View File

@ -34,7 +34,6 @@
import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableComparable;
import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.CompressionCodec;
import org.apache.hadoop.io.compress.CompressionCodecFactory; import org.apache.hadoop.io.compress.CompressionCodecFactory;
import org.apache.hadoop.util.ReflectionUtils; import org.apache.hadoop.util.ReflectionUtils;
@ -136,7 +135,7 @@ protected InputStream getInputStream(PathData item) throws IOException {
protected class TextRecordInputStream extends InputStream { protected class TextRecordInputStream extends InputStream {
SequenceFile.Reader r; SequenceFile.Reader r;
WritableComparable<?> key; Writable key;
Writable val; Writable val;
DataInputBuffer inbuf; DataInputBuffer inbuf;
@ -148,7 +147,7 @@ public TextRecordInputStream(FileStatus f) throws IOException {
r = new SequenceFile.Reader(lconf, r = new SequenceFile.Reader(lconf,
SequenceFile.Reader.file(fpath)); SequenceFile.Reader.file(fpath));
key = ReflectionUtils.newInstance( key = ReflectionUtils.newInstance(
r.getKeyClass().asSubclass(WritableComparable.class), lconf); r.getKeyClass().asSubclass(Writable.class), lconf);
val = ReflectionUtils.newInstance( val = ReflectionUtils.newInstance(
r.getValueClass().asSubclass(Writable.class), lconf); r.getValueClass().asSubclass(Writable.class), lconf);
inbuf = new DataInputBuffer(); inbuf = new DataInputBuffer();