pub struct ParquetObjectWriter {
w: BufWriter,
}
Expand description
ParquetObjectWriter
for writing to parquet to [ObjectStore
]
let store = Arc::new(InMemory::new());
let col = Arc::new(Int64Array::from_iter_values([1, 2, 3])) as ArrayRef;
let to_write = RecordBatch::try_from_iter([("col", col)]).unwrap();
let object_store_writer = ParquetObjectWriter::new(store.clone(), Path::from("test"));
let mut writer =
AsyncArrowWriter::try_new(object_store_writer, to_write.schema(), None).unwrap();
writer.write(&to_write).await.unwrap();
writer.close().await.unwrap();
let buffer = store
.get(&Path::from("test"))
.await
.unwrap()
.bytes()
.await
.unwrap();
let mut reader = ParquetRecordBatchReaderBuilder::try_new(buffer)
.unwrap()
.build()
.unwrap();
let read = reader.next().unwrap().unwrap();
assert_eq!(to_write, read);
Fields§
§w: BufWriter
Implementations§
Source§impl ParquetObjectWriter
impl ParquetObjectWriter
Sourcepub fn new(store: Arc<dyn ObjectStore>, path: Path) -> Self
pub fn new(store: Arc<dyn ObjectStore>, path: Path) -> Self
Create a new ParquetObjectWriter
that writes to the specified path in the given store.
To configure the writer behavior, please build [BufWriter
] and then use Self::from_buf_writer
Sourcepub fn from_buf_writer(w: BufWriter) -> Self
pub fn from_buf_writer(w: BufWriter) -> Self
Construct a new ParquetObjectWriter via a existing BufWriter.
Sourcepub fn into_inner(self) -> BufWriter
pub fn into_inner(self) -> BufWriter
Consume the writer and return the underlying BufWriter.
Trait Implementations§
Source§impl Debug for ParquetObjectWriter
impl Debug for ParquetObjectWriter
Auto Trait Implementations§
impl Freeze for ParquetObjectWriter
impl !RefUnwindSafe for ParquetObjectWriter
impl Send for ParquetObjectWriter
impl !Sync for ParquetObjectWriter
impl Unpin for ParquetObjectWriter
impl !UnwindSafe for ParquetObjectWriter
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