ReadStatWriter

Struct ReadStatWriter 

Source
pub struct ReadStatWriter {
    pub(crate) wtr: Option<ReadStatWriterFormat>,
    pub(crate) wrote_header: bool,
    pub(crate) wrote_start: bool,
}
Expand description

Manages writing Arrow [RecordBatch] data to the configured output format.

Supports streaming writes across multiple batches. The writer is created lazily on the first call to write and finalized via finish.

Fields§

§wtr: Option<ReadStatWriterFormat>

The format-specific writer, created on first write.

§wrote_header: bool

Whether the CSV header row has been written.

§wrote_start: bool

Whether any data has been written (controls file creation vs. append).

Implementations§

Source§

impl ReadStatWriter

Source

pub const fn new() -> Self

Creates a new ReadStatWriter with no active writer.

Source

fn open_output(&self, path: &Path) -> Result<File, ReadStatError>

Opens an output file: creates or truncates on first write, appends on subsequent writes.

Source

pub fn write_batch_to_parquet( batch: &RecordBatch, schema: &Schema, output_path: &Path, compression: Option<ParquetCompression>, compression_level: Option<u32>, buffer_size_bytes: usize, ) -> Result<(), ReadStatError>

Write a single batch to a Parquet file (for parallel writes). Uses SpooledTempFile to keep data in memory until buffer_size_bytes threshold.

§Errors

Returns an error if compression configuration is invalid, writing fails, or the output file cannot be created.

Source

pub fn merge_parquet_files( temp_files: &[PathBuf], output_path: &Path, schema: &Schema, compression: Option<ParquetCompression>, compression_level: Option<u32>, ) -> Result<(), ReadStatError>

Merge multiple Parquet files into one by reading and rewriting all batches.

§Errors

Returns an error if any temp file cannot be read, the output file cannot be created, or writing fails.

Source

fn resolve_compression( compression: Option<ParquetCompression>, compression_level: Option<u32>, ) -> Result<ParquetCompressionCodec, ReadStatError>

Source

pub fn finish( &mut self, d: &ReadStatData, wc: &WriteConfig, in_path: &Path, ) -> Result<(), ReadStatError>

Finalizes the writer, flushing any remaining data and printing a summary.

in_path is used for display messages showing the source file name.

§Errors

Returns an error if the underlying writer fails to flush or close, or if the output format is not enabled.

Source

fn print_finish_message( &self, d: &ReadStatData, wc: &WriteConfig, in_path: &Path, )

Source

fn finish_feather(&mut self) -> Result<(), ReadStatError>

Source

fn finish_parquet(&mut self) -> Result<(), ReadStatError>

Source

pub fn write( &mut self, d: &ReadStatData, wc: &WriteConfig, ) -> Result<(), ReadStatError>

Writes a single batch of data in the format determined by wc.

Handles writer initialization on first call and CSV header writing.

§Errors

Returns an error if the output file cannot be opened, writing fails, or the output format is not enabled.

Source

fn write_data_to_csv( &mut self, d: &ReadStatData, wc: &WriteConfig, ) -> Result<(), ReadStatError>

Source

fn write_data_to_feather( &mut self, d: &ReadStatData, wc: &WriteConfig, ) -> Result<(), ReadStatError>

Source

fn write_data_to_ndjson( &mut self, d: &ReadStatData, wc: &WriteConfig, ) -> Result<(), ReadStatError>

Source

fn write_data_to_parquet( &mut self, d: &ReadStatData, wc: &WriteConfig, ) -> Result<(), ReadStatError>

Source

fn write_data_to_stdout( &mut self, d: &ReadStatData, ) -> Result<(), ReadStatError>

Source

fn write_header_to_stdout( &mut self, d: &ReadStatData, ) -> Result<(), ReadStatError>

Source

pub fn write_metadata( &self, md: &ReadStatMetadata, rsp: &ReadStatPath, as_json: bool, ) -> Result<(), ReadStatError>

Writes metadata to stdout (pretty-printed) or as JSON.

§Errors

Returns an error if JSON serialization fails.

Source

pub fn write_metadata_to_json( &self, md: &ReadStatMetadata, ) -> Result<(), ReadStatError>

Serializes metadata as pretty-printed JSON and writes to stdout.

§Errors

Returns an error if JSON serialization fails.

Source

pub fn write_metadata_to_stdout( &self, md: &ReadStatMetadata, rsp: &ReadStatPath, ) -> Result<(), ReadStatError>

Writes metadata to stdout in a human-readable format.

§Errors

This method currently always succeeds but returns Result for consistency with other writer methods.

Trait Implementations§

Source§

impl Default for ReadStatWriter

Source§

fn default() -> ReadStatWriter

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.