pub struct JsonFormat { /* private fields */ }Expand description
New line delimited JSON FileFormat implementation.
Implementations§
Source§impl JsonFormat
 
impl JsonFormat
Sourcepub fn with_options(self, options: JsonOptions) -> Self
 
pub fn with_options(self, options: JsonOptions) -> Self
Set JSON options
Sourcepub fn options(&self) -> &JsonOptions
 
pub fn options(&self) -> &JsonOptions
Retrieve JSON options
Sourcepub fn with_schema_infer_max_rec(self, max_rec: usize) -> Self
 
pub fn with_schema_infer_max_rec(self, max_rec: usize) -> Self
Set a limit in terms of records to scan to infer the schema
- defaults to DEFAULT_SCHEMA_INFER_MAX_RECORD
Sourcepub fn with_file_compression_type(
    self,
    file_compression_type: FileCompressionType,
) -> Self
 
pub fn with_file_compression_type( self, file_compression_type: FileCompressionType, ) -> Self
Set a FileCompressionType of JSON
- defaults to FileCompressionType::UNCOMPRESSED
Trait Implementations§
Source§impl Debug for JsonFormat
 
impl Debug for JsonFormat
Source§impl Default for JsonFormat
 
impl Default for JsonFormat
Source§fn default() -> JsonFormat
 
fn default() -> JsonFormat
Returns the “default value” for a type. Read more
Source§impl FileFormat for JsonFormat
 
impl FileFormat for JsonFormat
Source§fn as_any(&self) -> &dyn Any
 
fn as_any(&self) -> &dyn Any
Returns the table provider as 
Any so that it can be
downcast to a specific implementation.Source§fn get_ext_with_compression(
    &self,
    file_compression_type: &FileCompressionType,
) -> Result<String>
 
fn get_ext_with_compression( &self, file_compression_type: &FileCompressionType, ) -> Result<String>
Returns the extension for this FileFormat when compressed, e.g. “file.csv.gz” -> csv
Source§fn compression_type(&self) -> Option<FileCompressionType>
 
fn compression_type(&self) -> Option<FileCompressionType>
Returns whether this instance uses compression if applicable
Source§fn infer_schema<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    store: &'life2 Arc<dyn ObjectStore>,
    objects: &'life3 [ObjectMeta],
) -> Pin<Box<dyn Future<Output = Result<SchemaRef>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
 
fn infer_schema<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    store: &'life2 Arc<dyn ObjectStore>,
    objects: &'life3 [ObjectMeta],
) -> Pin<Box<dyn Future<Output = Result<SchemaRef>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
Infer the common schema of the provided objects. The objects will usually
be analysed up to a given number of records or files (as specified in the
format config) then give the estimated common schema. This might fail if
the files have schemas that cannot be merged.
Source§fn infer_stats<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    _store: &'life2 Arc<dyn ObjectStore>,
    table_schema: SchemaRef,
    _object: &'life3 ObjectMeta,
) -> Pin<Box<dyn Future<Output = Result<Statistics>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
 
fn infer_stats<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    _store: &'life2 Arc<dyn ObjectStore>,
    table_schema: SchemaRef,
    _object: &'life3 ObjectMeta,
) -> Pin<Box<dyn Future<Output = Result<Statistics>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
Infer the statistics for the provided object. The cost and accuracy of the
estimated statistics might vary greatly between file formats. Read more
Source§fn create_physical_plan<'life0, 'life1, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    conf: FileScanConfig,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn create_physical_plan<'life0, 'life1, 'async_trait>(
    &'life0 self,
    _state: &'life1 dyn Session,
    conf: FileScanConfig,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Take a list of files and convert it to the appropriate executor
according to this file format.
Source§fn create_writer_physical_plan<'life0, 'life1, 'async_trait>(
    &'life0 self,
    input: Arc<dyn ExecutionPlan>,
    _state: &'life1 dyn Session,
    conf: FileSinkConfig,
    order_requirements: Option<LexRequirement>,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
 
fn create_writer_physical_plan<'life0, 'life1, 'async_trait>(
    &'life0 self,
    input: Arc<dyn ExecutionPlan>,
    _state: &'life1 dyn Session,
    conf: FileSinkConfig,
    order_requirements: Option<LexRequirement>,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
Take a list of files and the configuration to convert it to the
appropriate writer executor according to this file format.
Source§fn file_source(&self) -> Arc<dyn FileSource>
 
fn file_source(&self) -> Arc<dyn FileSource>
Return the related FileSource such as 
CsvSource, JsonSource, etc.Auto Trait Implementations§
impl Freeze for JsonFormat
impl RefUnwindSafe for JsonFormat
impl Send for JsonFormat
impl Sync for JsonFormat
impl Unpin for JsonFormat
impl UnwindSafe for JsonFormat
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