blob: efa6655f241ac1ff3ba3a45695f006e2fa1c559a [file]
use spark_connect_rs;
use spark_connect_rs::{SparkSession, SparkSessionBuilder};
use spark_connect_rs::functions::col;
// This example demonstrates creating a Spark DataFrame from a CSV with read options
// and then adding transformations for 'select' & 'filter'
// printing the results as "show(...)"
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let spark: SparkSession = SparkSessionBuilder::default().build().await?;
let paths = vec!["/opt/spark/examples/src/main/resources/people.csv".to_string()];
let mut df = spark
.read()
.format("csv")
.option("header", "True")
.option("delimiter", ";")
.load(paths);
df.filter("age > 30")
.select(vec![col("name")])
.show(Some(5), None, None)
.await?;
// print results
// +-------------+
// | show_string |
// +-------------+
// | +----+ |
// | |name| |
// | +----+ |
// | |Bob | |
// | +----+ |
// | |
// +-------------+
Ok(())
}