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 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, 'life2, 'async_trait>(
&'life0 self,
_state: &'life1 dyn Session,
conf: FileScanConfig,
_filters: Option<&'life2 Arc<dyn PhysicalExpr>>,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn create_physical_plan<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_state: &'life1 dyn Session,
conf: FileScanConfig,
_filters: Option<&'life2 Arc<dyn PhysicalExpr>>,
) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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.Source§fn supports_filters_pushdown(
&self,
_file_schema: &Schema,
_table_schema: &Schema,
_filters: &[&Expr],
) -> Result<FilePushdownSupport, DataFusionError>
fn supports_filters_pushdown( &self, _file_schema: &Schema, _table_schema: &Schema, _filters: &[&Expr], ) -> Result<FilePushdownSupport, DataFusionError>
Check if the specified file format has support for pushing down the provided filters within
the given schemas. Added initially to support the Parquet file format’s ability to do this.
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