query

Function query 

Source
pub fn query(df: &DataFrame, sql: &str) -> IngestionResult<DataFrame>
Expand description

Execute a SQL query against a single DataFrame.

The input is registered as the table DEFAULT_TABLE (i.e. df), so callers should write queries like: SELECT ... FROM df WHERE ....

ยงExample

use rust_data_processing::pipeline::DataFrame;
use rust_data_processing::sql;
use rust_data_processing::types::{DataSet, DataType, Field, Schema, Value};

let ds = DataSet::new(
    Schema::new(vec![
        Field::new("id", DataType::Int64),
        Field::new("active", DataType::Bool),
    ]),
    vec![
        vec![Value::Int64(1), Value::Bool(true)],
        vec![Value::Int64(2), Value::Bool(false)],
    ],
);

let out = sql::query(
    &DataFrame::from_dataset(&ds)?,
    "SELECT id FROM df WHERE active = TRUE ORDER BY id",
)?
.collect()?;

assert_eq!(out.row_count(), 1);