This is a native Go implementation of Hadoop's SequenceFile format.
sf, err := sequencefile.Open("foo.sequencefile")
if err != nil {
log.Fatal(err)
}
// Iterate through the file.
for sf.Scan() {
// Do something with sf.Key() and sf.Value()
}
if sf.Err() != nil {
log.Fatal(err)
}
Hadoop adds another layer of serialization for individual keys and values, depending on the class used, like BytesWritable. By default, this library will return the raw key and value bytes, still serialized. You can use the following methods to unwrap them:
func BytesWritable(b []byte) []byte
func Text(b []byte) string
func IntWritable(b []byte) int32
func LongWritable(b []byte) int64