Package com.clickhouse.client
Class ClickHouseDataProcessor
- java.lang.Object
-
- com.clickhouse.client.ClickHouseDataProcessor
-
- Direct Known Subclasses:
ClickHouseRowBinaryProcessor,ClickHouseTabSeparatedProcessor
public abstract class ClickHouseDataProcessor extends Object
This defines a data processor for dealing with one or multipleClickHouseFormat.
-
-
Field Summary
Fields Modifier and Type Field Description protected List<ClickHouseColumn>columnsprotected ClickHouseConfigconfigstatic List<ClickHouseColumn>DEFAULT_COLUMNSprotected static StringERROR_UNKNOWN_DATA_TYPEprotected ClickHouseInputStreaminputprotected OutputStreamoutputprotected Map<String,Object>settings
-
Constructor Summary
Constructors Modifier Constructor Description protectedClickHouseDataProcessor(ClickHouseConfig config, ClickHouseInputStream input, OutputStream output, List<ClickHouseColumn> columns, Map<String,Object> settings)Default constructor.
-
Method Summary
-
-
-
Field Detail
-
DEFAULT_COLUMNS
public static final List<ClickHouseColumn> DEFAULT_COLUMNS
-
ERROR_UNKNOWN_DATA_TYPE
protected static final String ERROR_UNKNOWN_DATA_TYPE
- See Also:
- Constant Field Values
-
config
protected final ClickHouseConfig config
-
input
protected final ClickHouseInputStream input
-
output
protected final OutputStream output
-
columns
protected final List<ClickHouseColumn> columns
-
-
Constructor Detail
-
ClickHouseDataProcessor
protected ClickHouseDataProcessor(ClickHouseConfig config, ClickHouseInputStream input, OutputStream output, List<ClickHouseColumn> columns, Map<String,Object> settings) throws IOException
Default constructor.- Parameters:
config- non-null confinguration contains information like formatinput- input stream for deserialization, can be null whenoutputis notoutput- outut stream for serialization, can be null wheninputis notcolumns- nullable columnssettings- nullable settings- Throws:
IOException- when failed to read columns from input stream
-
-
Method Detail
-
buildAggMappings
protected static void buildAggMappings(Map<ClickHouseAggregateFunction,ClickHouseDeserializer<ClickHouseValue>> deserializers, Map<ClickHouseAggregateFunction,ClickHouseSerializer<ClickHouseValue>> serializers, ClickHouseDeserializer<ClickHouseValue> d, ClickHouseSerializer<ClickHouseValue> s, ClickHouseAggregateFunction... types)
-
buildMappings
protected static <E extends Enum<E>,T extends ClickHouseValue> void buildMappings(Map<E,ClickHouseDeserializer<? extends ClickHouseValue>> deserializers, Map<E,ClickHouseSerializer<? extends ClickHouseValue>> serializers, ClickHouseDeserializer<T> d, ClickHouseSerializer<T> s, E... types)
-
readColumns
protected abstract List<ClickHouseColumn> readColumns() throws IOException
Read columns from input stream. Usually this will be only called once during instantiation.- Returns:
- list of columns
- Throws:
IOException- when failed to read columns from input stream
-
getColumns
public final List<ClickHouseColumn> getColumns()
Gets list of columns to process.- Returns:
- list of columns to process
-
records
public abstract Iterable<ClickHouseRecord> records()
Returns an iterable collection of records which can be walked through in a foreach loop. Please pay attention that: 1)UncheckedIOExceptionmight be thrown when iterating through the collection; and 2) it's not supposed to be called for more than once.- Returns:
- non-null iterable collection
-
-