pub struct Row {
fields: Vec<(String, Field)>,
}
Expand description
Row
represents a nested Parquet record.
Fields§
§fields: Vec<(String, Field)>
Implementations§
Source§impl Row
impl Row
Sourcepub fn new(fields: Vec<(String, Field)>) -> Row
pub fn new(fields: Vec<(String, Field)>) -> Row
Constructs a Row
from the list of fields
and returns it.
Sourcepub fn into_columns(self) -> Vec<(String, Field)>
pub fn into_columns(self) -> Vec<(String, Field)>
Move columns data out of the row. Useful to avoid internal data cloning.
§Example
use std::fs::File;
use parquet::record::Row;
use parquet::file::reader::{FileReader, SerializedFileReader};
let file = File::open("/path/to/file").unwrap();
let reader = SerializedFileReader::new(file).unwrap();
let row: Row = reader.get_row_iter(None).unwrap().next().unwrap().unwrap();
let columns = row.into_columns();
println!("row columns: {:?}", columns);
Sourcepub fn get_column_iter(&self) -> RowColumnIter<'_> ⓘ
pub fn get_column_iter(&self) -> RowColumnIter<'_> ⓘ
Get an iterator to go through all columns in the row.
§Example
use std::fs::File;
use parquet::record::Row;
use parquet::file::reader::{FileReader, SerializedFileReader};
let file = File::open("/path/to/file").unwrap();
let reader = SerializedFileReader::new(file).unwrap();
let row: Row = reader.get_row_iter(None).unwrap().next().unwrap().unwrap();
for (idx, (name, field)) in row.get_column_iter().enumerate() {
println!("column index: {}, column name: {}, column value: {}", idx, name, field);
}
Sourcepub fn to_json_value(&self) -> Value
pub fn to_json_value(&self) -> Value
Converts the row into a JSON object.
Trait Implementations§
Source§impl RowAccessor for Row
impl RowAccessor for Row
Source§fn get_timestamp_millis(&self, i: usize) -> Result<i64>
fn get_timestamp_millis(&self, i: usize) -> Result<i64>
Try to get a date value at the given index.
Source§fn get_timestamp_micros(&self, i: usize) -> Result<i64>
fn get_timestamp_micros(&self, i: usize) -> Result<i64>
Try to get a date value at the given index.
Source§fn get_decimal(&self, i: usize) -> Result<&Decimal>
fn get_decimal(&self, i: usize) -> Result<&Decimal>
Try to get a decimal value at the given index.
Source§fn get_string(&self, i: usize) -> Result<&String>
fn get_string(&self, i: usize) -> Result<&String>
Try to get a string value at the given index.
Source§impl RowFormatter for Row
impl RowFormatter for Row
impl StructuralPartialEq for Row
Auto Trait Implementations§
impl Freeze for Row
impl RefUnwindSafe for Row
impl Send for Row
impl Sync for Row
impl Unpin for Row
impl UnwindSafe for Row
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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