Skip to main content

DataFrameBackend

Trait DataFrameBackend 

Source
pub trait DataFrameBackend: Send + Sync {
Show 19 methods // Required methods fn as_any(&self) -> &(dyn Any + Send + Sync); fn filter( &self, condition: &ExprIr, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn select( &self, exprs: &[ExprIr], ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn select_columns( &self, columns: &[&str], ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn with_column( &self, name: &str, expr: &ExprIr, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn join( &self, other: &dyn DataFrameBackend, on: &[&str], how: JoinType, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn group_by( &self, column_names: &[&str], ) -> Result<Box<dyn GroupedDataBackend>, EngineError>; fn order_by( &self, column_names: &[&str], ascending: &[bool], ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn limit(&self, n: usize) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn union( &self, other: &dyn DataFrameBackend, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn union_by_name( &self, other: &dyn DataFrameBackend, allow_missing_columns: bool, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn distinct( &self, subset: Option<Vec<&str>>, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn drop_columns( &self, columns: &[&str], ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn with_column_renamed( &self, old_name: &str, new_name: &str, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn cross_join( &self, other: &dyn DataFrameBackend, ) -> Result<Box<dyn DataFrameBackend>, EngineError>; fn collect(&self) -> Result<CollectedRows, EngineError>; fn schema(&self) -> Result<StructType, EngineError>; fn columns(&self) -> Result<Vec<String>, EngineError>; fn count(&self) -> Result<u64, EngineError>;
}
Expand description

Backend for DataFrame operations. All expression arguments use ExprIr. Implementors can be downcast via as_any() for backend-specific operations (e.g. join).

Required Methods§

Source

fn as_any(&self) -> &(dyn Any + Send + Sync)

For downcasting to concrete backend type (e.g. for join with same backend).

Source

fn filter( &self, condition: &ExprIr, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn select( &self, exprs: &[ExprIr], ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn select_columns( &self, columns: &[&str], ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn with_column( &self, name: &str, expr: &ExprIr, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn join( &self, other: &dyn DataFrameBackend, on: &[&str], how: JoinType, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn group_by( &self, column_names: &[&str], ) -> Result<Box<dyn GroupedDataBackend>, EngineError>

Source

fn order_by( &self, column_names: &[&str], ascending: &[bool], ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn limit(&self, n: usize) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn union( &self, other: &dyn DataFrameBackend, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn union_by_name( &self, other: &dyn DataFrameBackend, allow_missing_columns: bool, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn distinct( &self, subset: Option<Vec<&str>>, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn drop_columns( &self, columns: &[&str], ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn with_column_renamed( &self, old_name: &str, new_name: &str, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn cross_join( &self, other: &dyn DataFrameBackend, ) -> Result<Box<dyn DataFrameBackend>, EngineError>

Source

fn collect(&self) -> Result<CollectedRows, EngineError>

Source

fn schema(&self) -> Result<StructType, EngineError>

Source

fn columns(&self) -> Result<Vec<String>, EngineError>

Source

fn count(&self) -> Result<u64, EngineError>

Implementors§