Class TransferableBlockUtils
- java.lang.Object
-
- org.apache.pinot.query.runtime.blocks.TransferableBlockUtils
-
public final class TransferableBlockUtils extends Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static TransferableBlockgetEndOfStreamTransferableBlock()static TransferableBlockgetEndOfStreamTransferableBlock(Map<String,String> statsMap)static TransferableBlockgetErrorTransferableBlock(Exception e)static TransferableBlockgetErrorTransferableBlock(Map<Integer,String> exceptions)static booleanisEndOfStream(TransferableBlock transferableBlock)static Iterator<TransferableBlock>splitBlock(TransferableBlock block, DataBlock.Type type, int maxBlockSize)Split a block into multiple block so that each block size is within maxBlockSize.
-
-
-
Method Detail
-
getEndOfStreamTransferableBlock
public static TransferableBlock getEndOfStreamTransferableBlock()
-
getEndOfStreamTransferableBlock
public static TransferableBlock getEndOfStreamTransferableBlock(Map<String,String> statsMap)
-
getErrorTransferableBlock
public static TransferableBlock getErrorTransferableBlock(Exception e)
-
getErrorTransferableBlock
public static TransferableBlock getErrorTransferableBlock(Map<Integer,String> exceptions)
-
isEndOfStream
public static boolean isEndOfStream(TransferableBlock transferableBlock)
-
splitBlock
public static Iterator<TransferableBlock> splitBlock(TransferableBlock block, DataBlock.Type type, int maxBlockSize)
Split a block into multiple block so that each block size is within maxBlockSize. Currently,- For row data block, we split for row type dataBlock.
- For columnar data block, exceptions are thrown.
- For metadata block, split is not supported.
- Parameters:
block- the data blocktype- type of blockmaxBlockSize- Each chunk of data is estimated to be less than maxBlockSize- Returns:
- a list of data block chunks
-
-