Struct FileReaderBuilder
pub struct FileReaderBuilder {
projection: Option<Vec<usize>>,
max_footer_fb_tables: usize,
max_footer_fb_depth: usize,
}
Expand description
Build an Arrow FileReader
with custom options.
Fields§
§projection: Option<Vec<usize>>
Implementations§
§impl FileReaderBuilder
impl FileReaderBuilder
pub fn new() -> FileReaderBuilder
pub fn new() -> FileReaderBuilder
Options for creating a new FileReader
.
To convert a builder into a reader, call FileReaderBuilder::build
.
pub fn with_projection(self, projection: Vec<usize>) -> FileReaderBuilder
pub fn with_projection(self, projection: Vec<usize>) -> FileReaderBuilder
Optional projection for which columns to load (zero-based column indices).
Flatbuffers option for parsing the footer. Controls the max number of fields and metadata key-value pairs that can be parsed from the schema of the footer.
By default this is set to 1_000_000
which roughly translates to a schema with
no metadata key-value pairs but 499,999 fields.
This default limit is enforced to protect against malicious files with a massive amount of flatbuffer tables which could cause a denial of service attack.
If you need to ingest a trusted file with a massive number of fields and/or
metadata key-value pairs and are facing the error "Unable to get root as footer: TooManyTables"
then increase this parameter as necessary.
Flatbuffers option for parsing the footer. Controls the max depth for schemas with nested fields parsed from the footer.
By default this is set to 64
which roughly translates to a schema with
a field nested 60 levels down through other struct fields.
This default limit is enforced to protect against malicious files with a extremely deep flatbuffer structure which could cause a denial of service attack.
If you need to ingest a trusted file with a deeply nested field and are facing the
error "Unable to get root as footer: DepthLimitReached"
then increase this
parameter as necessary.
pub fn build<R>(self, reader: R) -> Result<FileReader<R>, ArrowError>
pub fn build<R>(self, reader: R) -> Result<FileReader<R>, ArrowError>
Build FileReader
with given reader.
Trait Implementations§
§impl Debug for FileReaderBuilder
impl Debug for FileReaderBuilder
§impl Default for FileReaderBuilder
impl Default for FileReaderBuilder
§fn default() -> FileReaderBuilder
fn default() -> FileReaderBuilder
Auto Trait Implementations§
impl Freeze for FileReaderBuilder
impl RefUnwindSafe for FileReaderBuilder
impl Send for FileReaderBuilder
impl Sync for FileReaderBuilder
impl Unpin for FileReaderBuilder
impl UnwindSafe for FileReaderBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request