public Object getFieldValue(_Fields field) { switch (field) { case NUM_ROWS: return getNum_rows(); case COLUMN_DATA_CHUNKS: return getColumn_data_chunks(); } throw new IllegalStateException(); }
public BlockletHeader readBlockletHeader() throws IOException { int len = readIntFromStream(); byte[] b = new byte[len]; if (!readBytesFromStream(b, 0, len)) { throw new EOFException("Failed to read blocklet header"); } BlockletHeader header = CarbonUtil.readBlockletHeader(b); rowNums = header.getBlocklet_info().getNum_rows(); rowIndex = 0; return header; }
blockletInfo.setNumberOfRows(blockletInfoThrift.getNum_rows()); return blockletInfo;
void apppendBlocklet(DataOutputStream outputStream) throws IOException { outputStream.write(CarbonStreamOutputFormat.CARBON_SYNC_MARKER); BlockletInfo blockletInfo = new BlockletInfo(); blockletInfo.setNum_rows(getRowIndex() + 1); BlockletHeader blockletHeader = new BlockletHeader(); blockletHeader.setBlocklet_length(getCount()); blockletHeader.setMutation(MutationType.INSERT); blockletHeader.setBlocklet_info(blockletInfo); // add blocklet level min/max blockletMinMaxIndex = generateBlockletMinMax(); if (blockletInfo.getNum_rows() > 1) { BlockletIndex blockletIndex = new BlockletIndex(); blockletIndex.setMin_max_index(CarbonMetadataUtil.convertMinMaxIndex(blockletMinMaxIndex)); blockletHeader.setBlocklet_index(blockletIndex); } byte[] headerBytes = CarbonUtil.getByteArray(blockletHeader); outputStream.writeInt(headerBytes.length); outputStream.write(headerBytes); byte[] compressed = compressor.compressByte(getBytes(), getCount()); outputStream.writeInt(compressed.length); outputStream.write(compressed); }
private boolean scanBlockletAndFillVector(BlockletHeader header) throws IOException { int rowNums = header.getBlocklet_info().getNum_rows(); vectorProxy = new CarbonVectorProxy(MemoryMode.OFF_HEAP, outputSchema, rowNums, false); vectorProxy.setNumRows(rowNums);