public ColumnarStructBase(ObjectInspector oi, List<Integer> notSkippedColumnIDs) { List<? extends StructField> fieldRefs = ((StructObjectInspector) oi) .getAllStructFieldRefs(); int num = fieldRefs.size(); fieldInfoList = new FieldInfo[num]; for (int i = 0; i < num; i++) { ObjectInspector foi = fieldRefs.get(i).getFieldObjectInspector(); fieldInfoList[i] = new FieldInfo( createLazyObjectBase(foi), !notSkippedColumnIDs.contains(i), foi); } // maintain a list of non-NULL column IDs int min = notSkippedColumnIDs.size() > num ? num : notSkippedColumnIDs .size(); prjColIDs = new int[min]; for (int i = 0, index = 0; i < notSkippedColumnIDs.size(); ++i) { int readCol = notSkippedColumnIDs.get(i).intValue(); if (readCol < num) { prjColIDs[index] = readCol; index++; } } }
@Override public Object getStructFieldData(Object data, StructField fieldRef) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; MyField f = (MyField) fieldRef; int fieldID = f.getFieldID(); assert (fieldID >= 0 && fieldID < fields.size()); return struct.getField(fieldID); }
@Override public List<Object> getStructFieldsDataAsList(Object data) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; return struct.getFieldsAsList(); } }
@Override public SerDeStats getSerDeStats() { // must be different assert (lastOperationSerialize != lastOperationDeserialize); if (lastOperationSerialize) { stats.setRawDataSize(serializedSize); } else { stats.setRawDataSize(cachedLazyStruct.getRawDataSerializedSize()); } return stats; }
@Override public Object deserialize(Writable blob) throws SerDeException { if (!(blob instanceof BytesRefArrayWritable)) { throw new SerDeException(getClass().toString() + ": expects BytesRefArrayWritable!"); } BytesRefArrayWritable cols = (BytesRefArrayWritable) blob; cachedLazyStruct.init(cols); lastOperationSerialize = false; lastOperationDeserialize = true; return cachedLazyStruct; }
int byteLength = getLength(objectInspector, cachedByteArrayRef, rawBytesField.getStart(), rawBytesField.getLength()); if (byteLength == -1) { return field.getObject(); } else { if (getLength(objectInspector, cachedByteArrayRef, rawBytesField.getStart(), rawBytesField.getLength()) == -1) { return null;
@Override public SerDeStats getSerDeStats() { // must be different assert (lastOperationSerialize != lastOperationDeserialize); if (lastOperationSerialize) { stats.setRawDataSize(serializedSize); } else { stats.setRawDataSize(cachedLazyStruct.getRawDataSerializedSize()); } return stats; }
@Override public Object deserialize(Writable blob) throws SerDeException { if (!(blob instanceof BytesRefArrayWritable)) { throw new SerDeException(getClass().toString() + ": expects BytesRefArrayWritable!"); } BytesRefArrayWritable cols = (BytesRefArrayWritable) blob; cachedLazyStruct.init(cols); lastOperationSerialize = false; lastOperationDeserialize = true; return cachedLazyStruct; }
@Override public Object getStructFieldData(Object data, StructField fieldRef) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; MyField f = (MyField) fieldRef; int fieldID = f.getFieldID(); assert (fieldID >= 0 && fieldID < fields.size()); return struct.getField(fieldID); }
@Override public List<Object> getStructFieldsDataAsList(Object data) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; return struct.getFieldsAsList(); } }
@Override public SerDeStats getSerDeStats() { // must be different assert (lastOperationSerialize != lastOperationDeserialize); if (lastOperationSerialize) { stats.setRawDataSize(serializedSize); } else { stats.setRawDataSize(cachedLazyStruct.getRawDataSerializedSize()); } return stats; }
@Override public Object deserialize(Writable blob) throws SerDeException { if (!(blob instanceof BytesRefArrayWritable)) { throw new SerDeException(getClass().toString() + ": expects BytesRefArrayWritable!"); } BytesRefArrayWritable cols = (BytesRefArrayWritable) blob; cachedLazyStruct.init(cols); lastOperationSerialize = false; lastOperationDeserialize = true; return cachedLazyStruct; }
public ColumnarStructBase(ObjectInspector oi, List<Integer> notSkippedColumnIDs) { List<? extends StructField> fieldRefs = ((StructObjectInspector) oi) .getAllStructFieldRefs(); int num = fieldRefs.size(); fieldInfoList = new FieldInfo[num]; for (int i = 0; i < num; i++) { ObjectInspector foi = fieldRefs.get(i).getFieldObjectInspector(); fieldInfoList[i] = new FieldInfo( createLazyObjectBase(foi), !notSkippedColumnIDs.contains(i), foi); } // maintain a list of non-NULL column IDs int min = notSkippedColumnIDs.size() > num ? num : notSkippedColumnIDs .size(); prjColIDs = new int[min]; for (int i = 0, index = 0; i < notSkippedColumnIDs.size(); ++i) { int readCol = notSkippedColumnIDs.get(i).intValue(); if (readCol < num) { prjColIDs[index] = readCol; index++; } } }
int byteLength = getLength(objectInspector, cachedByteArrayRef, rawBytesField.getStart(), rawBytesField.getLength()); if (byteLength == -1) { return field.getObject(); } else { if (getLength(objectInspector, cachedByteArrayRef, rawBytesField.getStart(), rawBytesField.getLength()) == -1) { return null;
@Override public Object getStructFieldData(Object data, StructField fieldRef) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; MyField f = (MyField) fieldRef; int fieldID = f.getFieldID(); assert (fieldID >= 0 && fieldID < fields.size()); return struct.getField(fieldID); }
@Override public List<Object> getStructFieldsDataAsList(Object data) { if (data == null) { return null; } ColumnarStructBase struct = (ColumnarStructBase) data; return struct.getFieldsAsList(); } }
@Override public SerDeStats getSerDeStats() { // must be different assert (lastOperationSerialize != lastOperationDeserialize); if (lastOperationSerialize) { stats.setRawDataSize(serializedSize); } else { stats.setRawDataSize(cachedLazyStruct.getRawDataSerializedSize()); } return stats; }
@Override public Object deserialize(Writable blob) throws SerDeException { if (!(blob instanceof BytesRefArrayWritable)) { throw new SerDeException(getClass().toString() + ": expects BytesRefArrayWritable!"); } BytesRefArrayWritable cols = (BytesRefArrayWritable) blob; cachedLazyStruct.init(cols); lastOperationSerialize = false; lastOperationDeserialize = true; return cachedLazyStruct; }
public ColumnarStructBase(ObjectInspector oi, List<Integer> notSkippedColumnIDs) { List<? extends StructField> fieldRefs = ((StructObjectInspector) oi) .getAllStructFieldRefs(); int num = fieldRefs.size(); fieldInfoList = new FieldInfo[num]; for (int i = 0; i < num; i++) { ObjectInspector foi = fieldRefs.get(i).getFieldObjectInspector(); fieldInfoList[i] = new FieldInfo( createLazyObjectBase(foi), !notSkippedColumnIDs.contains(i), foi); } // maintain a list of non-NULL column IDs int min = notSkippedColumnIDs.size() > num ? num : notSkippedColumnIDs .size(); prjColIDs = new int[min]; for (int i = 0, index = 0; i < notSkippedColumnIDs.size(); ++i) { int readCol = notSkippedColumnIDs.get(i).intValue(); if (readCol < num) { prjColIDs[index] = readCol; index++; } } }