From 2b7a2b01c0da17ddcb0731600d4f30440cd12350 Mon Sep 17 00:00:00 2001 From: Jeffrey <22608443+Jefffrey@users.noreply.github.com> Date: Sun, 5 Nov 2023 21:49:22 +1100 Subject: [PATCH] Support for Int RLE v1 encoding (#24) --- src/arrow_reader.rs | 7 +- src/arrow_reader/column.rs | 4 + src/arrow_reader/column/binary.rs | 8 +- src/arrow_reader/column/date.rs | 6 +- src/arrow_reader/column/int.rs | 9 +- src/arrow_reader/column/string.rs | 36 ++-- src/arrow_reader/column/timestamp.rs | 12 +- src/error.rs | 14 ++ src/reader/decode.rs | 75 ++++++++ src/reader/decode/rle_v1.rs | 258 +++++++++++++++++++++++++++ src/reader/decode/util.rs | 12 ++ tests/basic/data/demo-11-zlib.orc | Bin 0 -> 408522 bytes tests/basic/main.rs | 11 ++ 13 files changed, 417 insertions(+), 35 deletions(-) create mode 100644 src/reader/decode/rle_v1.rs create mode 100644 tests/basic/data/demo-11-zlib.orc diff --git a/src/arrow_reader.rs b/src/arrow_reader.rs index d338e6e3..48ee1c5e 100644 --- a/src/arrow_reader.rs +++ b/src/arrow_reader.rs @@ -9,6 +9,7 @@ use arrow::array::{ }; use arrow::datatypes::{ Date32Type, Int16Type, Int32Type, Int64Type, Schema, SchemaRef, TimestampNanosecondType, + UInt64Type, }; use arrow::error::ArrowError; use arrow::record_batch::{RecordBatch, RecordBatchReader}; @@ -51,6 +52,10 @@ impl ArrowReader { batch_size, } } + + pub fn total_row_count(&self) -> u64 { + self.cursor.reader.metadata().footer.number_of_rows() + } } pub fn create_arrow_schema(cursor: &Cursor) -> Schema { @@ -288,7 +293,7 @@ impl NaiveStripeDecoder { StringDecoder::Dictionary((indexes, dictionary)) => { match indexes.collect_chunk(chunk).transpose()? { Some(indexes) => { - fields.push(Arc::new(DictionaryArray::::new( + fields.push(Arc::new(DictionaryArray::::new( indexes.into(), dictionary.clone(), ))); diff --git a/src/arrow_reader/column.rs b/src/arrow_reader/column.rs index a0f453cc..5dd7cc8e 100644 --- a/src/arrow_reader/column.rs +++ b/src/arrow_reader/column.rs @@ -180,6 +180,10 @@ impl Column { pub fn kind(&self) -> crate::proto::r#type::Kind { self.column.kind() } + + pub fn name(&self) -> &str { + &self.name + } } pub struct NullableIterator { diff --git a/src/arrow_reader/column/binary.rs b/src/arrow_reader/column/binary.rs index f0e04c09..672ab5c0 100644 --- a/src/arrow_reader/column/binary.rs +++ b/src/arrow_reader/column/binary.rs @@ -18,7 +18,7 @@ use crate::arrow_reader::column::present::new_present_iter; use crate::arrow_reader::column::{Column, NullableIterator}; use crate::error; use crate::proto::stream::Kind; -use crate::reader::decode::rle_v2::RleReaderV2; +use crate::reader::decode::get_direct_unsigned_rle_reader; use crate::reader::decode::variable_length::Values; use crate::reader::decompress::Decompressor; @@ -33,8 +33,8 @@ pub fn new_binary_iterator(column: &Column) -> error::Result error::Result>, - lengths: Box> + Send>, + lengths: Box> + Send>, } impl Iterator for DirectBinaryIterator { diff --git a/src/arrow_reader/column/date.rs b/src/arrow_reader/column/date.rs index edbfd586..8f98a025 100644 --- a/src/arrow_reader/column/date.rs +++ b/src/arrow_reader/column/date.rs @@ -5,7 +5,7 @@ use crate::arrow_reader::column::present::new_present_iter; use crate::arrow_reader::column::{Column, NullableIterator}; use crate::error::{self, Result}; use crate::proto::stream::Kind; -use crate::reader::decode::rle_v2::RleReaderV2; +use crate::reader::decode::get_direct_signed_rle_reader; pub const UNIX_EPOCH_FROM_CE: i32 = 719_163; @@ -43,8 +43,8 @@ pub fn new_date_iter(column: &Column) -> Result> { let data = column .stream(Kind::Data) .transpose()? - .map(|reader| Box::new(RleReaderV2::try_new(reader, true, true))) - .context(error::InvalidColumnSnafu { name: &column.name })?; + .map(|reader| get_direct_signed_rle_reader(column, reader)) + .context(error::InvalidColumnSnafu { name: &column.name })??; Ok(NullableIterator { present: Box::new(present.into_iter()), diff --git a/src/arrow_reader/column/int.rs b/src/arrow_reader/column/int.rs index 9183dd43..b01d8834 100644 --- a/src/arrow_reader/column/int.rs +++ b/src/arrow_reader/column/int.rs @@ -4,7 +4,7 @@ use crate::arrow_reader::column::present::new_present_iter; use crate::arrow_reader::column::{Column, NullableIterator}; use crate::error::{InvalidColumnSnafu, Result}; use crate::proto::stream::Kind; -use crate::reader::decode::rle_v2::RleReaderV2; +use crate::reader::decode::get_direct_signed_rle_reader; pub fn new_i64_iter(column: &Column) -> Result> { let present = new_present_iter(column)?.collect::>>()?; @@ -12,11 +12,8 @@ pub fn new_i64_iter(column: &Column) -> Result> { let iter = column .stream(Kind::Data) .transpose()? - .map(|reader| { - Box::new(RleReaderV2::try_new(reader, true, true)) - as Box> + Send> - }) - .context(InvalidColumnSnafu { name: &column.name })?; + .map(|reader| get_direct_signed_rle_reader(column, reader)) + .context(InvalidColumnSnafu { name: &column.name })??; Ok(NullableIterator { present: Box::new(present.into_iter()), diff --git a/src/arrow_reader/column/string.rs b/src/arrow_reader/column/string.rs index 556a60a6..51b5744a 100644 --- a/src/arrow_reader/column/string.rs +++ b/src/arrow_reader/column/string.rs @@ -8,13 +8,13 @@ use crate::arrow_reader::column::{Column, NullableIterator}; use crate::error::{self, Result}; use crate::proto::column_encoding::Kind as ColumnEncodingKind; use crate::proto::stream::Kind; -use crate::reader::decode::rle_v2::RleReaderV2; use crate::reader::decode::variable_length::Values; +use crate::reader::decode::RleVersion; use crate::reader::decompress::Decompressor; pub struct DirectStringIterator { values: Box>, - lengths: Box> + Send>, + lengths: Box> + Send>, } impl Iterator for DirectStringIterator { @@ -35,7 +35,10 @@ impl Iterator for DirectStringIterator { } } -pub fn new_direct_string_iter(column: &Column) -> Result> { +pub fn new_direct_string_iter( + column: &Column, + rle_version: RleVersion, +) -> Result> { let present = new_present_iter(column)?.collect::>>()?; let values = column @@ -47,7 +50,7 @@ pub fn new_direct_string_iter(column: &Column) -> Result Result Result<(NullableIterator, ArrayRef)> { +pub fn new_arrow_dict_string_decoder( + column: &Column, + rle_version: RleVersion, +) -> Result<(NullableIterator, ArrayRef)> { let present = new_present_iter(column)?.collect::>>()?; // DictionaryData @@ -69,7 +75,7 @@ pub fn new_arrow_dict_string_decoder(column: &Column) -> Result<(NullableIterato let lengths = column .stream(Kind::Length) .transpose()? - .map(|reader| Box::new(RleReaderV2::try_new(reader, false, true))) + .map(|reader| rle_version.get_unsigned_rle_reader(reader)) .context(error::InvalidColumnSnafu { name: &column.name })?; let iter = DirectStringIterator { values, lengths }; @@ -78,7 +84,7 @@ pub fn new_arrow_dict_string_decoder(column: &Column) -> Result<(NullableIterato let indexes = column .stream(Kind::Data) .transpose()? - .map(|reader| Box::new(RleReaderV2::try_new(reader, false, true))) + .map(|reader| rle_version.get_unsigned_rle_reader(reader)) .context(error::InvalidColumnSnafu { name: &column.name })?; let dictionary = StringArray::from_iter(values.into_iter().map(Some)); @@ -94,19 +100,19 @@ pub fn new_arrow_dict_string_decoder(column: &Column) -> Result<(NullableIterato pub enum StringDecoder { Direct(NullableIterator), - Dictionary((NullableIterator, ArrayRef)), + Dictionary((NullableIterator, ArrayRef)), } impl StringDecoder { pub fn new(column: &Column) -> Result { - match column.encoding().kind() { - ColumnEncodingKind::DirectV2 => { - Ok(StringDecoder::Direct(new_direct_string_iter(column)?)) - } - ColumnEncodingKind::DictionaryV2 => Ok(StringDecoder::Dictionary( - new_arrow_dict_string_decoder(column)?, + let kind = column.encoding().kind(); + match kind { + ColumnEncodingKind::Direct | ColumnEncodingKind::DirectV2 => Ok(StringDecoder::Direct( + new_direct_string_iter(column, kind.into())?, )), - other => unimplemented!("{other:?}"), + ColumnEncodingKind::Dictionary | ColumnEncodingKind::DictionaryV2 => Ok( + StringDecoder::Dictionary(new_arrow_dict_string_decoder(column, kind.into())?), + ), } } } diff --git a/src/arrow_reader/column/timestamp.rs b/src/arrow_reader/column/timestamp.rs index be27809e..add43ea3 100644 --- a/src/arrow_reader/column/timestamp.rs +++ b/src/arrow_reader/column/timestamp.rs @@ -5,14 +5,14 @@ use crate::arrow_reader::column::present::new_present_iter; use crate::arrow_reader::column::{Column, NullableIterator}; use crate::error::{self, Result}; use crate::proto::stream::Kind; -use crate::reader::decode::rle_v2::RleReaderV2; +use crate::reader::decode::{get_direct_signed_rle_reader, get_direct_unsigned_rle_reader}; // TIMESTAMP_BASE is 1 January 2015, the base value for all timestamp values. const TIMESTAMP_BASE: i64 = 1420070400; pub struct TimestampIterator { data: Box> + Send>, - secondary: Box> + Send>, + secondary: Box> + Send>, } impl Iterator for TimestampIterator { @@ -50,14 +50,14 @@ pub fn new_timestamp_iter(column: &Column) -> Result = std::result::Result; + +impl From for ArrowError { + fn from(value: Error) -> Self { + ArrowError::ExternalError(Box::new(value)) + } +} diff --git a/src/reader/decode.rs b/src/reader/decode.rs index db18c350..35381fd4 100644 --- a/src/reader/decode.rs +++ b/src/reader/decode.rs @@ -1,6 +1,81 @@ +use std::io::Read; + +use crate::arrow_reader::column::Column; +use crate::error::{InvalidColumnEncodingSnafu, Result}; +use crate::proto; + +use self::rle_v1::{SignedRleReaderV1, UnsignedRleReaderV1}; +use self::rle_v2::{RleReaderV2, UnsignedRleReaderV2}; + pub mod boolean_rle; pub mod byte_rle; pub mod float; +pub mod rle_v1; pub mod rle_v2; mod util; pub mod variable_length; + +#[derive(Clone, Copy, Debug)] +pub enum RleVersion { + V1, + V2, +} + +impl RleVersion { + pub fn get_unsigned_rle_reader( + &self, + reader: R, + ) -> Box> + Send> { + match self { + RleVersion::V1 => Box::new(UnsignedRleReaderV1::new(reader)), + RleVersion::V2 => Box::new(UnsignedRleReaderV2::try_new(reader, true)), + } + } +} + +impl From for RleVersion { + fn from(value: proto::column_encoding::Kind) -> Self { + match value { + proto::column_encoding::Kind::Direct => Self::V1, + proto::column_encoding::Kind::Dictionary => Self::V1, + proto::column_encoding::Kind::DirectV2 => Self::V2, + proto::column_encoding::Kind::DictionaryV2 => Self::V2, + } + } +} + +pub fn get_direct_signed_rle_reader( + column: &Column, + reader: R, +) -> Result> + Send>> { + match column.encoding().kind() { + crate::proto::column_encoding::Kind::Direct => Ok(Box::new(SignedRleReaderV1::new(reader))), + crate::proto::column_encoding::Kind::DirectV2 => { + Ok(Box::new(RleReaderV2::try_new(reader, true, true))) + } + k => InvalidColumnEncodingSnafu { + name: column.name(), + encoding: k, + } + .fail(), + } +} + +pub fn get_direct_unsigned_rle_reader( + column: &Column, + reader: R, +) -> Result> + Send>> { + match column.encoding().kind() { + crate::proto::column_encoding::Kind::Direct => { + Ok(Box::new(UnsignedRleReaderV1::new(reader))) + } + crate::proto::column_encoding::Kind::DirectV2 => { + Ok(Box::new(UnsignedRleReaderV2::try_new(reader, true))) + } + k => InvalidColumnEncodingSnafu { + name: column.name(), + encoding: k, + } + .fail(), + } +} diff --git a/src/reader/decode/rle_v1.rs b/src/reader/decode/rle_v1.rs new file mode 100644 index 00000000..255f3b8e --- /dev/null +++ b/src/reader/decode/rle_v1.rs @@ -0,0 +1,258 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +//! Handling decoding of Integer Run Length Encoded V1 data in ORC files + +use std::io::Read; + +use crate::error::Result; + +use super::util::{read_u8, read_vslong, read_vulong, try_read_u8}; + +/// Hold state of the decoding effort. +enum UnsignedDecodingState { + /// First created, haven't read anything + Initial, + /// Sequence of integers that differ by a fixed delta. + Run { + base: u64, + delta: i64, + length: usize, + }, + /// Sequence of `length` varint encoded integers. + Literals { length: usize }, + /// Exhausted input stream. + Exhausted, +} + +impl UnsignedDecodingState { + /// Decode header byte to determine sub-encoding. + /// Runs start with a positive byte, and literals with a negative byte. + fn get_state(reader: &mut R) -> Result { + match try_read_u8(reader)?.map(|byte| byte as i8) { + Some(byte) if byte < 0 => { + let length = byte.unsigned_abs() as usize; + Ok(Self::Literals { length }) + } + Some(byte) => { + let byte = byte as u8; + let length = byte as usize + 3; + let delta = read_u8(reader)? as i8; + let delta = delta as i64; + let base = read_vulong(reader)?; + Ok(Self::Run { + base, + delta, + length, + }) + } + None => Ok(Self::Exhausted), + } + } +} + +/// Decodes a stream of Integer Run Length Encoded version 1 bytes. +pub struct UnsignedRleReaderV1 { + reader: R, + state: UnsignedDecodingState, +} + +impl UnsignedRleReaderV1 { + pub fn new(reader: R) -> Self { + Self { + reader, + state: UnsignedDecodingState::Initial, + } + } + + fn iter_helper(&mut self) -> Result> { + match self.state { + UnsignedDecodingState::Initial => { + self.state = UnsignedDecodingState::get_state(&mut self.reader)?; + // this is safe as UnsignedDecodingState::Initial is only ever set in new() + self.iter_helper() + } + UnsignedDecodingState::Run { + base, + delta, + length, + } => { + let num = base; + if length == 1 { + self.state = UnsignedDecodingState::get_state(&mut self.reader)?; + } else { + self.state = UnsignedDecodingState::Run { + base: base.saturating_add_signed(delta), + delta, + length: length - 1, + }; + } + Ok(Some(num)) + } + UnsignedDecodingState::Literals { length } => { + let num = read_vulong(&mut self.reader)?; + if length == 1 { + self.state = UnsignedDecodingState::get_state(&mut self.reader)?; + } else { + self.state = UnsignedDecodingState::Literals { length: length - 1 }; + } + Ok(Some(num)) + } + UnsignedDecodingState::Exhausted => Ok(None), + } + } +} + +impl Iterator for UnsignedRleReaderV1 { + type Item = Result; + + fn next(&mut self) -> Option { + self.iter_helper().transpose() + } +} + +/// Signed version of [`UnsignedDecodingState`]. +enum SignedDecodingState { + Initial, + Run { + base: i64, + delta: i64, + length: usize, + }, + Literals { + length: usize, + }, + Exhausted, +} + +impl SignedDecodingState { + fn get_state(reader: &mut R) -> Result { + match try_read_u8(reader)?.map(|byte| byte as i8) { + Some(byte) if byte < 0 => { + let length = byte.unsigned_abs() as usize; + Ok(Self::Literals { length }) + } + Some(byte) => { + let byte = byte as u8; + let length = byte as usize + 3; + let delta = read_u8(reader)? as i8; + let delta = delta as i64; + let base = read_vslong(reader)?; + Ok(Self::Run { + base, + delta, + length, + }) + } + None => Ok(Self::Exhausted), + } + } +} + +/// Signed version of [`UnsignedIntV1RLEDecoder`]. +pub struct SignedRleReaderV1 { + reader: R, + state: SignedDecodingState, +} + +impl SignedRleReaderV1 { + pub fn new(reader: R) -> Self { + Self { + reader, + state: SignedDecodingState::Initial, + } + } + + fn iter_helper(&mut self) -> Result> { + match self.state { + SignedDecodingState::Initial => { + self.state = SignedDecodingState::get_state(&mut self.reader)?; + self.iter_helper() + } + SignedDecodingState::Run { + base, + delta, + length, + } => { + let num = base; + if length == 1 { + self.state = SignedDecodingState::get_state(&mut self.reader)?; + } else { + self.state = SignedDecodingState::Run { + base: base.saturating_add(delta), + delta, + length: length - 1, + }; + } + Ok(Some(num)) + } + SignedDecodingState::Literals { length } => { + let num = read_vslong(&mut self.reader)?; + if length == 1 { + self.state = SignedDecodingState::get_state(&mut self.reader)?; + } else { + self.state = SignedDecodingState::Literals { length: length - 1 }; + } + Ok(Some(num)) + } + SignedDecodingState::Exhausted => Ok(None), + } + } +} + +impl Iterator for SignedRleReaderV1 { + type Item = Result; + + fn next(&mut self) -> Option { + self.iter_helper().transpose() + } +} + +#[cfg(test)] +mod tests { + use std::io::Cursor; + + use super::*; + + #[test] + fn test_run() -> Result<()> { + let input = [0x61, 0x00, 0x07]; + let decoder = UnsignedRleReaderV1::new(Cursor::new(&input)); + let expected = vec![7; 100]; + let actual = decoder.collect::>>()?; + assert_eq!(actual, expected); + + let input = [0x61, 0xff, 0x64]; + let decoder = UnsignedRleReaderV1::new(Cursor::new(&input)); + let expected = (1..=100).rev().collect::>(); + let actual = decoder.collect::>>()?; + assert_eq!(actual, expected); + + Ok(()) + } + + #[test] + fn test_literal() -> Result<()> { + let input = [0xfb, 0x02, 0x03, 0x06, 0x07, 0xb]; + let decoder = UnsignedRleReaderV1::new(Cursor::new(&input)); + let expected = vec![2, 3, 6, 7, 11]; + let actual = decoder.collect::>>()?; + assert_eq!(actual, expected); + + Ok(()) + } +} diff --git a/src/reader/decode/util.rs b/src/reader/decode/util.rs index 9dea34c5..d82aadaf 100644 --- a/src/reader/decode/util.rs +++ b/src/reader/decode/util.rs @@ -12,6 +12,18 @@ pub fn read_u8(reader: &mut impl Read) -> Result { Ok(byte[0]) } +/// Like [`read_u8()`] but returns `Ok(None)` if reader has reached EOF +#[inline] +pub fn try_read_u8(reader: &mut impl Read) -> Result> { + let mut byte = [0]; + let length = reader.read(&mut byte).context(error::IoSnafu)?; + if length == 0 { + Ok(None) + } else { + Ok(Some(byte[0])) + } +} + pub fn bytes_to_long_be(r: &mut R, mut n: usize) -> Result { let mut out: i64 = 0; diff --git a/tests/basic/data/demo-11-zlib.orc b/tests/basic/data/demo-11-zlib.orc new file mode 100644 index 0000000000000000000000000000000000000000..db0ff15ea53267e741ba0b2b199319d1b83d6138 GIT binary patch literal 408522 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�Pj%Z52WCmYv^kWMT_G` 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 literal 0 HcmV?d00001 diff --git a/tests/basic/main.rs b/tests/basic/main.rs index 14b49313..a0b9df06 100644 --- a/tests/basic/main.rs +++ b/tests/basic/main.rs @@ -265,6 +265,17 @@ pub async fn async_basic_test_0() { ) } +#[test] +pub fn v0_file_test() { + let path = basic_path("demo-11-zlib.orc"); + let reader = new_arrow_reader_root(&path); + let _expected_row_count = reader.total_row_count(); + let batches = reader.collect::, _>>().unwrap(); + let _total_rows: usize = batches.iter().map(|b| b.num_rows()).sum(); + // TODO: not reading entire file, debug + // assert_eq!(expected_row_count as usize, total_rows); +} + #[test] pub fn alltypes_test() { let compressions = ["none", "snappy", "zlib", "lzo", "zstd", "lz4"];