private void readBinaryBatch(int rowId, int num, ColumnVector column) throws IOException { // This is where we implement support for the valid type conversions. // TODO: implement remaining type conversions VectorizedValuesReader data = (VectorizedValuesReader) dataColumn; if (column.isArray()) { defColumn.readBinarys(num, column, rowId, maxDefLevel, data); } else if (column.dataType() == DataTypes.TimestampType) { for (int i = 0; i < num; i++) { if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, // Read 12 bytes for INT96 ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12))); } else { column.putNull(rowId + i); } } } else { throw new UnsupportedOperationException("Unimplemented type: " + column.dataType()); } }
if (defColumn.readInteger() == maxDefLevel) { column.putInt(rowId + i, (int) ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i); if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i);
column.putLong(i, ParquetRowConverter.binaryToSQLTimestamp(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putInt(i, (int) ParquetRowConverter.binaryToUnscaledLong(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToUnscaledLong(v));
if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToSQLTimestamp(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); long rawTime = ParquetRowConverter.binaryToSQLTimestamp(v); long adjTime = DateTimeUtils.convertTz(rawTime, convertTz, UTC); column.putLong(i, adjTime); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putInt(i, (int) ParquetRowConverter.binaryToUnscaledLong(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToUnscaledLong(v));
if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToSQLTimestamp(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); long rawTime = ParquetRowConverter.binaryToSQLTimestamp(v); long adjTime = DateTimeUtils.convertTz(rawTime, convertTz, UTC); column.putLong(i, adjTime); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putInt(i, (int) ParquetRowConverter.binaryToUnscaledLong(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToUnscaledLong(v));
if (defColumn.readInteger() == maxDefLevel) { long rawTime = ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12)); column.putLong(rowId + i, rawTime); } else { if (defColumn.readInteger() == maxDefLevel) { long rawTime = ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12)); long adjTime = DateTimeUtils.convertTz(rawTime, convertTz, UTC); column.putLong(rowId + i, adjTime);
if (defColumn.readInteger() == maxDefLevel) { column.putInt(rowId + i, (int) ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i); if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i);
column.putLong(i, ParquetRowConverter.binaryToSQLTimestamp(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putInt(i, (int) ParquetRowConverter.binaryToUnscaledLong(v)); if (!column.isNullAt(i)) { Binary v = dictionary.decodeToBinary(dictionaryIds.getDictId(i)); column.putLong(i, ParquetRowConverter.binaryToUnscaledLong(v));
if (defColumn.readInteger() == maxDefLevel) { long rawTime = ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12)); column.putLong(rowId + i, rawTime); } else { if (defColumn.readInteger() == maxDefLevel) { long rawTime = ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12)); long adjTime = DateTimeUtils.convertTz(rawTime, convertTz, UTC); column.putLong(rowId + i, adjTime);
if (defColumn.readInteger() == maxDefLevel) { column.putInt(rowId + i, (int) ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i); if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i);
private void readBinaryBatch(int rowId, int num, ColumnVector column) throws IOException { // This is where we implement support for the valid type conversions. // TODO: implement remaining type conversions VectorizedValuesReader data = (VectorizedValuesReader) dataColumn; if (column.isArray()) { defColumn.readBinarys(num, column, rowId, maxDefLevel, data); } else if (column.dataType() == DataTypes.TimestampType) { for (int i = 0; i < num; i++) { if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, // Read 12 bytes for INT96 ParquetRowConverter.binaryToSQLTimestamp(data.readBinary(12))); } else { column.putNull(rowId + i); } } } else { throw new UnsupportedOperationException("Unimplemented type: " + column.dataType()); } }
if (defColumn.readInteger() == maxDefLevel) { column.putInt(rowId + i, (int) ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i); if (defColumn.readInteger() == maxDefLevel) { column.putLong(rowId + i, ParquetRowConverter.binaryToUnscaledLong(data.readBinary(arrayLen))); } else { column.putNull(rowId + i);