pub struct BAMConfig {
pub batch_size: usize,
pub file_schema: SchemaRef,
pub object_store: Arc<dyn ObjectStore>,
pub projection: Option<Vec<usize>>,
}Expand description
The configuration for the BAM data source.
Fields§
§batch_size: usizeThe number of rows to read at a time from the object store.
file_schema: SchemaRefThe schema of the BAM file.
object_store: Arc<dyn ObjectStore>The object store to use for reading BAM files.
projection: Option<Vec<usize>>Any projections to apply to the resulting batches.
Implementations§
Source§impl BAMConfig
impl BAMConfig
Sourcepub fn new(object_store: Arc<dyn ObjectStore>, file_schema: SchemaRef) -> Self
pub fn new(object_store: Arc<dyn ObjectStore>, file_schema: SchemaRef) -> Self
Create a new BAM configuration.
Sourcepub fn with_batch_size(self, batch_size: usize) -> Self
pub fn with_batch_size(self, batch_size: usize) -> Self
Set the batch size.
Sourcepub fn with_projection(self, projection: Vec<usize>) -> Self
pub fn with_projection(self, projection: Vec<usize>) -> Self
Set the projection.
Sourcepub fn with_some_projection(self, projection: Option<Vec<usize>>) -> Self
pub fn with_some_projection(self, projection: Option<Vec<usize>>) -> Self
Set the projection from an optional vector.
Sourcepub fn projection(&self) -> Vec<usize>
pub fn projection(&self) -> Vec<usize>
Get the projection, returning the identity projection if none is set.
Sourcepub fn projected_schema(&self) -> Result<SchemaRef>
pub fn projected_schema(&self) -> Result<SchemaRef>
Get the projected schema.
Auto Trait Implementations§
impl Freeze for BAMConfig
impl !RefUnwindSafe for BAMConfig
impl Send for BAMConfig
impl Sync for BAMConfig
impl Unpin for BAMConfig
impl !UnwindSafe for BAMConfig
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 more