public static FileFormat getByOrdinal(int ordinal) { if (ordinal < 0 || ordinal >= FileFormat.values().length) { return COLUMNAR_V3; } switch (ordinal) { case 0: return COLUMNAR_V3; case 1: return ROW_V1; } return COLUMNAR_V3; } }
@Override public void write(DataOutput out) throws IOException { // write number of splits and then write all splits out.writeInt(splitList.size()); for (CarbonInputSplit split: splitList) { split.write(out); } out.writeInt(locations.length); for (int i = 0; i < locations.length; i++) { out.writeUTF(locations[i]); } out.writeInt(fileFormat.ordinal()); }
@Override public void readFields(DataInput in) throws IOException { // read all splits int numSplit = in.readInt(); splitList = new ArrayList<>(numSplit); for (int i = 0; i < numSplit; i++) { CarbonInputSplit split = new CarbonInputSplit(); split.readFields(in); splitList.add(split); } int len = in.readInt(); locations = new String[len]; for (int i = 0; i < len; i++) { locations[i] = in.readUTF(); } fileFormat = FileFormat.getByOrdinal(in.readInt()); }