/**
* Copyright 2011 Nube Technologies
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed
* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and limitations under the License.
*/
package co.nubetech.hiho.testdata;
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
public class SequenceFileForCustomObject {
private static IntWritable id[] = { new IntWritable(100),
new IntWritable(101), new IntWritable(102), new IntWritable(103),
new IntWritable(104), new IntWritable(105), new IntWritable(106),
new IntWritable(107), new IntWritable(108), new IntWritable(109) };
private static Text name[] = { new Text("Asd"), new Text("Bcf"),
new Text("Cefg"), new Text("D"), new Text("E"), new Text("F"),
new Text("G"), new Text("H"), new Text("J"), new Text("K") };
private static Text address[] = { new Text("abc"), new Text("asd"),
new Text("qwe"), new Text("fgh"), new Text("bnv"), new Text("iou"),
new Text("iwf"), new Text("ugm"), new Text("ytr"), new Text("pkl") };
private static LongWritable mobileNo[] = { new LongWritable(123),
new LongWritable(234), new LongWritable(345),
new LongWritable(456), new LongWritable(567),
new LongWritable(678), new LongWritable(789),
new LongWritable(890), new LongWritable(901), new LongWritable(012) };
private static DoubleWritable percentage[] = { new DoubleWritable(45.5),
new DoubleWritable(67.4), new DoubleWritable(32.1),
new DoubleWritable(89.32), new DoubleWritable(45.5),
new DoubleWritable(67.5), new DoubleWritable(69.6),
new DoubleWritable(65), new DoubleWritable(63.87),
new DoubleWritable(77.36), new DoubleWritable(73.11) };
public static void main(String[] args) throws IOException {
String uri = "inputnew.seq";
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
Path path = new Path(uri);
// IntWritable key = new IntWritable();
// Student value[] = new Student[10];
SequenceFile.Writer writer = null;
Student student = new Student();
try {
writer = SequenceFile.createWriter(fs, conf, path,
IntWritable.class, Student.class);
for (int i = 0; i < 10; i++) {
student.setId(id[i]);
student.setName(name[i]);
student.setAddress(address[i]);
student.setMobileNumber(mobileNo[i]);
student.setPercentage(percentage[i]);
// value[i]=student;
// System.out.printf("[%s]\t%s\t%s\n", writer.getLength(), key,
// value);
writer.append(student.getId(), student);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeStream(writer);
}
}
}