pub struct JsonSource { /* private fields */ }Expand description
JsonSource holds the extra configuration that is necessary for JsonOpener
Implementations§
Source§impl JsonSource
impl JsonSource
Sourcepub fn new(table_schema: impl Into<TableSchema>) -> Self
pub fn new(table_schema: impl Into<TableSchema>) -> Self
Initialize a JsonSource with the provided schema
Sourcepub fn with_newline_delimited(self, newline_delimited: bool) -> Self
pub fn with_newline_delimited(self, newline_delimited: bool) -> Self
Set whether to read as newline-delimited JSON.
When true (default), expects newline-delimited format.
When false, expects JSON array format [{...}, {...}].
Source§impl JsonSource
impl JsonSource
Sourcepub fn try_from_proto(
node: &PhysicalPlanNode,
ctx: &ExecutionPlanDecodeCtx<'_>,
) -> Result<Arc<dyn ExecutionPlan>>
pub fn try_from_proto( node: &PhysicalPlanNode, ctx: &ExecutionPlanDecodeCtx<'_>, ) -> Result<Arc<dyn ExecutionPlan>>
Reconstructs a DataSourceExec from a protobuf JsonScan.
Defaults to newline-delimited JSON because protobuf does not encode the mode.
Trait Implementations§
Source§impl Clone for JsonSource
impl Clone for JsonSource
Source§fn clone(&self) -> JsonSource
fn clone(&self) -> JsonSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl FileSource for JsonSource
impl FileSource for JsonSource
Source§fn try_to_proto(
&self,
base: &FileScanConfig,
ctx: &ExecutionPlanEncodeCtx<'_>,
) -> Result<Option<PhysicalPlanNode>>
fn try_to_proto( &self, base: &FileScanConfig, ctx: &ExecutionPlanEncodeCtx<'_>, ) -> Result<Option<PhysicalPlanNode>>
Emit a JsonScan node wrapping the shared base config.
Source§fn create_file_opener(
&self,
object_store: Arc<dyn ObjectStore>,
base_config: &FileScanConfig,
_partition: usize,
) -> Result<Arc<dyn FileOpener>>
fn create_file_opener( &self, object_store: Arc<dyn ObjectStore>, base_config: &FileScanConfig, _partition: usize, ) -> Result<Arc<dyn FileOpener>>
dyn FileOpener based on given parameters. Read moreSource§fn table_schema(&self) -> &TableSchema
fn table_schema(&self) -> &TableSchema
Source§fn with_batch_size(&self, batch_size: usize) -> Arc<dyn FileSource> ⓘ
fn with_batch_size(&self, batch_size: usize) -> Arc<dyn FileSource> ⓘ
Source§fn try_pushdown_projection(
&self,
projection: &ProjectionExprs,
) -> Result<Option<Arc<dyn FileSource>>>
fn try_pushdown_projection( &self, projection: &ProjectionExprs, ) -> Result<Option<Arc<dyn FileSource>>>
Source§fn projection(&self) -> Option<&ProjectionExprs>
fn projection(&self) -> Option<&ProjectionExprs>
Self::table_schema. Read moreSource§fn metrics(&self) -> &ExecutionPlanMetricsSet
fn metrics(&self) -> &ExecutionPlanMetricsSet
Source§fn file_type(&self) -> &str
fn file_type(&self) -> &str
Source§fn apply_expressions(
&self,
f: &mut dyn FnMut(&Arc<dyn PhysicalExpr>) -> Result<TreeNodeRecursion>,
) -> Result<TreeNodeRecursion>
fn apply_expressions( &self, f: &mut dyn FnMut(&Arc<dyn PhysicalExpr>) -> Result<TreeNodeRecursion>, ) -> Result<TreeNodeRecursion>
Source§fn create_morselizer(
&self,
object_store: Arc<dyn ObjectStore>,
base_config: &FileScanConfig,
partition: usize,
) -> Result<Box<dyn Morselizer>, DataFusionError>
fn create_morselizer( &self, object_store: Arc<dyn ObjectStore>, base_config: &FileScanConfig, partition: usize, ) -> Result<Box<dyn Morselizer>, DataFusionError>
dyn Morselizer based on given parameters. Read moreSource§fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
Source§fn fmt_extra(
&self,
_t: DisplayFormatType,
_f: &mut Formatter<'_>,
) -> Result<(), Error>
fn fmt_extra( &self, _t: DisplayFormatType, _f: &mut Formatter<'_>, ) -> Result<(), Error>
Source§fn supports_repartitioning(&self) -> bool
fn supports_repartitioning(&self) -> bool
Source§fn repartitioned(
&self,
target_partitions: usize,
repartition_file_min_size: usize,
output_ordering: Option<LexOrdering>,
config: &FileScanConfig,
) -> Result<Option<FileScanConfig>, DataFusionError>
fn repartitioned( &self, target_partitions: usize, repartition_file_min_size: usize, output_ordering: Option<LexOrdering>, config: &FileScanConfig, ) -> Result<Option<FileScanConfig>, DataFusionError>
FileSource, redistribute files across partitions
according to their size. Allows custom file formats to implement their
own repartitioning logic. Read moreSource§fn try_pushdown_filters(
&self,
filters: Vec<Arc<dyn PhysicalExpr>>,
_config: &ConfigOptions,
) -> Result<FilterPushdownPropagation<Arc<dyn FileSource>>, DataFusionError>
fn try_pushdown_filters( &self, filters: Vec<Arc<dyn PhysicalExpr>>, _config: &ConfigOptions, ) -> Result<FilterPushdownPropagation<Arc<dyn FileSource>>, DataFusionError>
Source§fn try_pushdown_sort(
&self,
order: &[PhysicalSortExpr],
eq_properties: &EquivalenceProperties,
) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
fn try_pushdown_sort( &self, order: &[PhysicalSortExpr], eq_properties: &EquivalenceProperties, ) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
Source§fn try_reverse_output(
&self,
_order: &[PhysicalSortExpr],
_eq_properties: &EquivalenceProperties,
) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
fn try_reverse_output( &self, _order: &[PhysicalSortExpr], _eq_properties: &EquivalenceProperties, ) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
Renamed to try_pushdown_sort. This method was never limited to reversing output. It will be removed in 59.0.0 or later.
Self::try_pushdown_sort.Source§fn reorder_files(&self, files: Vec<PartitionedFile>) -> Vec<PartitionedFile>
fn reorder_files(&self, files: Vec<PartitionedFile>) -> Vec<PartitionedFile>
Source§fn with_schema_adapter_factory(
&self,
_factory: Arc<dyn SchemaAdapterFactory>,
) -> Result<Arc<dyn FileSource>, DataFusionError>
fn with_schema_adapter_factory( &self, _factory: Arc<dyn SchemaAdapterFactory>, ) -> Result<Arc<dyn FileSource>, DataFusionError>
SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
Source§fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
Source§impl From<JsonSource> for Arc<dyn FileSource>
impl From<JsonSource> for Arc<dyn FileSource>
Source§fn from(source: JsonSource) -> Self
fn from(source: JsonSource) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for JsonSource
impl !UnwindSafe for JsonSource
impl Freeze for JsonSource
impl Send for JsonSource
impl Sync for JsonSource
impl Unpin for JsonSource
impl UnsafeUnpin for JsonSource
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
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> ⓘ
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> ⓘ
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