Hi Everyone,
I was trying to read a Sequence File which i moved from HDFS to my local file
system in a java program. To do this i used SequenceFile.Reader.
The following is the constructor for SequenceFile.Reader which generates an
exception:
SequenceFile.Reader sfr = new SequenceFile.Reader(new LocalFileSystem(), new
Path(inputFile), new Configuration());
where inputFile is a path like /home/user/inputSeq.dat
and the exception:
Exception in thread "main" java.lang.NullPointerException
at org.apache.hadoop.fs.FileSystem.getDefaultBlockSize(FileSystem.java:1270)
at
org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:359)
at
org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:671)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1417)
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1412)
at TestSequenceR.main(TestSequenceR.java:12)
I packaged the program to read the sequence file into a jar and ran it as java
-jar. I wanted to avoid using hadoop for this since while reading the file I
will have shared variables and the file is not that big to merit using hadoop
on a cluster for this step.
So I feel I am missing something elementary on this. I thought just importing
SequenceFile.Reader would do the job for me but supposedly it does not.
It would be great if someone could throw more light on this.
Thanks
H