Java tutorial
/* (c) 2014 LinkedIn Corp. All rights reserved. * * 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. */ package com.linkedin.cubert.io; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Writable; import org.apache.hadoop.mapreduce.InputSplit; import com.linkedin.cubert.io.rubix.RubixInputSplit; @Deprecated public class CombinedInputSplit<K> extends InputSplit implements Writable, Configurable { List<RubixInputSplit<K, BytesWritable>> splits; Configuration conf; CombinedInputSplit() { } CombinedInputSplit(List<RubixInputSplit<K, BytesWritable>> splits) { this.splits = splits; } @Override public void write(DataOutput out) throws IOException { out.writeByte(splits.size()); for (RubixInputSplit<K, BytesWritable> split : splits) { split.write(out); } } @Override public void readFields(DataInput in) throws IOException { int nsplits = in.readByte(); splits = new ArrayList<RubixInputSplit<K, BytesWritable>>(); for (int i = 0; i < nsplits; i++) { RubixInputSplit<K, BytesWritable> split = new RubixInputSplit<K, BytesWritable>(); split.setConf(conf); split.readFields(in); splits.add(split); } } @Override public long getLength() throws IOException, InterruptedException { long length = 0; for (RubixInputSplit<K, BytesWritable> split : splits) { length += split.getLength(); } return length; } @Override public String[] getLocations() throws IOException, InterruptedException { return new String[] {}; } @Override public void setConf(Configuration conf) { this.conf = conf; } @Override public Configuration getConf() { // TODO Auto-generated method stub return null; } }