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>
TimestampColumnReader. 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
Fields Modifier and Type Field Description static intJULIAN_EPOCH_OFFSET_DAYSstatic longMICROS_PER_MILLISECONDstatic longMICROS_PER_SECONDstatic longMILLIS_IN_DAYstatic longMILLIS_PER_SECONDstatic longNANOS_PER_MICROSECONDSstatic longNANOS_PER_MILLISECONDstatic longNANOS_PER_SECOND-
Fields inherited from class org.apache.flink.formats.parquet.vector.reader.AbstractColumnReader
descriptor, dictionary, maxDefLevel, runLenDecoder
-
-
Constructor Summary
Constructors Constructor Description TimestampColumnReader(boolean utcTimestamp, org.apache.parquet.column.ColumnDescriptor descriptor, org.apache.parquet.column.page.PageReader pageReader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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 booleansupportLazyDecode()Support lazy dictionary ids decode.-
Methods inherited from class org.apache.flink.formats.parquet.vector.reader.AbstractColumnReader
afterReadPage, checkTypeName, readToVector
-
-
-
-
Field Detail
-
JULIAN_EPOCH_OFFSET_DAYS
public static final int JULIAN_EPOCH_OFFSET_DAYS
- See Also:
- Constant Field Values
-
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 Detail
-
TimestampColumnReader
public TimestampColumnReader(boolean utcTimestamp, org.apache.parquet.column.ColumnDescriptor descriptor, org.apache.parquet.column.page.PageReader pageReader) throws IOException- Throws:
IOException
-
-
Method Detail
-
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)
-
-