import asyncio
from oleander_sdk import Oleander, SubmitSparkJobAndWaitOptions
async def main():
client = Oleander()
# Query the lake and iterate over results
result = await client.query("SELECT * FROM public.iris_dataset LIMIT 10")
for row in result.results.rows:
sepal_length, sepal_width = row[0], row[1]
# process each row ...
# List available Spark job scripts
jobs = await client.list_spark_jobs()
print(jobs.scripts, jobs.has_more)
# Submit a Spark job and wait for it to finish
result = await client.submit_spark_job_and_wait(
SubmitSparkJobAndWaitOptions(
namespace="my-namespace",
name="daily-etl",
script_name="etl_pipeline.py",
)
)
if result.state == "FAIL":
raise Exception(f"Run {result.run_id} failed after {result.run.duration}s")
asyncio.run(main())