pub struct DataBackendSession {
pub chunk_size: usize,
pub runtime: Arc<Runtime>,
/* private fields */
}
Expand description
Provides a DataFusion session and registers DataFusion queries.
The session is used to register data sources and make queries on them. A
query returns a Chunk of Arrow records. It is decoded and converted into
a Vec of data by types that implement [DecodeDataFromRecordBatch
].
Fields§
§chunk_size: usize
§runtime: Arc<Runtime>
Implementations§
Source§impl DataBackendSession
impl DataBackendSession
Sourcepub fn new(chunk_size: usize) -> Self
pub fn new(chunk_size: usize) -> Self
Creates a new DataBackendSession
instance.
pub fn write_data<T: EncodeToRecordBatch>( data: &[T], metadata: &HashMap<String, String>, stream: &mut dyn WriteStream, ) -> Result<(), DataStreamingError>
Sourcepub fn add_file<T>(
&mut self,
table_name: &str,
file_path: &str,
sql_query: Option<&str>,
) -> Result<()>where
T: DecodeDataFromRecordBatch + Into<Data>,
pub fn add_file<T>(
&mut self,
table_name: &str,
file_path: &str,
sql_query: Option<&str>,
) -> Result<()>where
T: DecodeDataFromRecordBatch + Into<Data>,
Query a file for its records. the caller must specify T
to indicate
the kind of data expected from this query.
table_name
: Logical table_name
assigned to this file. Queries to this file should address the
file by its table name.
file_path
: Path to file
sql_query
: A custom sql query to retrieve records from file. If no query is provided a default
query “SELECT * FROM <table_name
>” is run.
§Safety
The file data must be ordered by the ts_init
in ascending order for this
to work correctly.
pub fn get_query_result(&mut self) -> QueryResult
Trait Implementations§
Source§impl IntoPy<Py<PyAny>> for DataBackendSession
impl IntoPy<Py<PyAny>> for DataBackendSession
Source§impl PyClass for DataBackendSession
impl PyClass for DataBackendSession
Source§impl PyClassImpl for DataBackendSession
impl PyClassImpl for DataBackendSession
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§type ThreadChecker = SendablePyClass<DataBackendSession>
type ThreadChecker = SendablePyClass<DataBackendSession>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<DataBackendSession> for PyClassImplCollector<DataBackendSession>
impl PyClassNewTextSignature<DataBackendSession> for PyClassImplCollector<DataBackendSession>
fn new_text_signature(self) -> Option<&'static str>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a DataBackendSession
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a DataBackendSession
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut DataBackendSession
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a mut DataBackendSession
Source§impl PyMethods<DataBackendSession> for PyClassImplCollector<DataBackendSession>
impl PyMethods<DataBackendSession> for PyClassImplCollector<DataBackendSession>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for DataBackendSession
impl PyTypeInfo for DataBackendSession
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type or a subclass of this type.§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type.impl DerefToPyAny for DataBackendSession
impl Send for DataBackendSession
Auto Trait Implementations§
impl Freeze for DataBackendSession
impl !RefUnwindSafe for DataBackendSession
impl Sync for DataBackendSession
impl Unpin for DataBackendSession
impl !UnwindSafe for DataBackendSession
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> 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