use spark_connect::SparkSessionBuilder;
#[tokio::main]
async fn main() {
let host = std::env::var("DATABRICKS_HOST")
.expect("DATABRICKS_HOST env var not set");
let cluster_id = std::env::var("DATABRICKS_CLUSTER_ID")
.expect("DATABRICKS_CLUSTER_ID env var not set");
let token = std::env::var("DATABRICKS_TOKEN")
.expect("DATABRICKS_TOKEN env var not set");
let session = SparkSessionBuilder::new(&format!(
"sc://{host}:443/;\
use_ssl=true;\
x-databricks-cluster-id={cluster_id};\
token={token};"
))
.build()
.await
.expect("Failed to create Spark session");
let batches = session
.query("SELECT COUNT(*) FROM raw.raw_balance")
.execute()
.await
.unwrap();
println!("Retrieved: {:?}", batches);
}