Struct arrow_ipc::reader::FileReaderBuilder
source · pub struct FileReaderBuilder { /* private fields */ }
Expand description
Build an Arrow FileReader
with custom options.
Implementations§
source§impl FileReaderBuilder
impl FileReaderBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Options for creating a new FileReader
.
To convert a builder into a reader, call FileReaderBuilder::build
.
sourcepub fn with_projection(self, projection: Vec<usize>) -> Self
pub fn with_projection(self, projection: Vec<usize>) -> Self
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.
sourcepub fn build<R: Read + Seek>(
self,
reader: R,
) -> Result<FileReader<R>, ArrowError>
pub fn build<R: Read + Seek>( self, reader: R, ) -> Result<FileReader<R>, ArrowError>
Build FileReader
with given reader.