Class TimestampColumnReader
java.lang.Object
org.apache.flink.formats.parquet.vector.reader.AbstractColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
org.apache.flink.formats.parquet.vector.reader.TimestampColumnReader
- All Implemented Interfaces:
ColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
public class TimestampColumnReader
extends AbstractColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
Timestamp
ColumnReader. We support INT96 and INT64 now, julianDay(4) + nanosOfDay(8). See
https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#timestamp TIMESTAMP_MILLIS
and TIMESTAMP_MICROS are the deprecated ConvertedType.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longstatic final longFields inherited from class org.apache.flink.formats.parquet.vector.reader.AbstractColumnReader
descriptor, dictionary, maxDefLevel, runLenDecoder -
Constructor Summary
ConstructorsConstructorDescriptionTimestampColumnReader(boolean utcTimestamp, org.apache.parquet.column.ColumnDescriptor descriptor, org.apache.parquet.column.page.PageReader pageReader) -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.flink.table.data.TimestampDatadecodeInt64ToTimestamp(boolean utcTimestamp, org.apache.parquet.column.Dictionary dictionary, int id, org.apache.parquet.schema.LogicalTypeAnnotation.TimeUnit timeUnit) static org.apache.flink.table.data.TimestampDatadecodeInt96ToTimestamp(boolean utcTimestamp, org.apache.parquet.column.Dictionary dictionary, int id) static org.apache.flink.table.data.TimestampDataint64ToTimestamp(boolean utcTimestamp, long value, org.apache.parquet.schema.LogicalTypeAnnotation.TimeUnit timeUnit) static org.apache.flink.table.data.TimestampDataint96ToTimestamp(boolean utcTimestamp, long nanosOfDay, int julianDay) protected voidreadBatch(int rowId, int num, org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector column) Read batch fromAbstractColumnReader.runLenDecoderandAbstractColumnReader.dataInputStream.protected voidreadBatchFromDictionaryIds(int rowId, int num, org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector column, org.apache.flink.table.data.columnar.vector.writable.WritableIntVector dictionaryIds) Decode dictionary ids to data.protected booleanSupport lazy dictionary ids decode.Methods inherited from class org.apache.flink.formats.parquet.vector.reader.AbstractColumnReader
afterReadPage, checkTypeName, readToVector
-
Field Details
-
JULIAN_EPOCH_OFFSET_DAYS
public static final int JULIAN_EPOCH_OFFSET_DAYS- See Also:
-
MILLIS_IN_DAY
public static final long MILLIS_IN_DAY -
NANOS_PER_MILLISECOND
public static final long NANOS_PER_MILLISECOND -
NANOS_PER_SECOND
public static final long NANOS_PER_SECOND -
MICROS_PER_MILLISECOND
public static final long MICROS_PER_MILLISECOND -
NANOS_PER_MICROSECONDS
public static final long NANOS_PER_MICROSECONDS -
MILLIS_PER_SECOND
public static final long MILLIS_PER_SECOND -
MICROS_PER_SECOND
public static final long MICROS_PER_SECOND
-
-
Constructor Details
-
TimestampColumnReader
public TimestampColumnReader(boolean utcTimestamp, org.apache.parquet.column.ColumnDescriptor descriptor, org.apache.parquet.column.page.PageReader pageReader) throws IOException - Throws:
IOException
-
-
Method Details
-
supportLazyDecode
protected boolean supportLazyDecode()Description copied from class:AbstractColumnReaderSupport lazy dictionary ids decode. See more inParquetDictionary. If return false, we will decode all the data first.- Overrides:
supportLazyDecodein classAbstractColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
-
readBatch
protected void readBatch(int rowId, int num, org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector column) Description copied from class:AbstractColumnReaderRead batch fromAbstractColumnReader.runLenDecoderandAbstractColumnReader.dataInputStream.- Specified by:
readBatchin classAbstractColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
-
readBatchFromDictionaryIds
protected void readBatchFromDictionaryIds(int rowId, int num, org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector column, org.apache.flink.table.data.columnar.vector.writable.WritableIntVector dictionaryIds) Description copied from class:AbstractColumnReaderDecode dictionary ids to data. FromAbstractColumnReader.runLenDecoderandAbstractColumnReader.dictionaryIdsDecoder.- Specified by:
readBatchFromDictionaryIdsin classAbstractColumnReader<org.apache.flink.table.data.columnar.vector.writable.WritableTimestampVector>
-
decodeInt64ToTimestamp
public static org.apache.flink.table.data.TimestampData decodeInt64ToTimestamp(boolean utcTimestamp, org.apache.parquet.column.Dictionary dictionary, int id, org.apache.parquet.schema.LogicalTypeAnnotation.TimeUnit timeUnit) -
decodeInt96ToTimestamp
public static org.apache.flink.table.data.TimestampData decodeInt96ToTimestamp(boolean utcTimestamp, org.apache.parquet.column.Dictionary dictionary, int id) -
int96ToTimestamp
public static org.apache.flink.table.data.TimestampData int96ToTimestamp(boolean utcTimestamp, long nanosOfDay, int julianDay) -
int64ToTimestamp
public static org.apache.flink.table.data.TimestampData int64ToTimestamp(boolean utcTimestamp, long value, org.apache.parquet.schema.LogicalTypeAnnotation.TimeUnit timeUnit)
-