ワンクリックで
polars-submit
Run Polars queries or scripts on oleander, locally or distributed, and save results to the lake catalog.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Run Polars queries or scripts on oleander, locally or distributed, and save results to the lake catalog.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use lake-query to explore your data; compare seasonal revenue, analyze product changes, count new user signups, or find whatever answers are hidden in your data.
How to submit, monitor, and configure Spark jobs on oleander using MCP, the CLI, and the TypeScript SDK.
Engine-agnostic guidance for working with the oleander lake catalog, including naming conventions, catalog hierarchy, and table reference patterns.
Spark-specific patterns for reading and writing oleander lake catalog tables, including append vs overwrite, avoiding driver writes, and reusable table naming.
General Apache Spark best practices for scalable, maintainable, and performant DataFrame jobs.
oleander-specific Spark guidance for connected OpenLineage, collect() pitfalls, and environment variable usage.
| name | polars-submit |
| description | Run Polars queries or scripts on oleander, locally or distributed, and save results to the lake catalog. |
Use this skill when running Polars on oleander from the CLI, choosing between query and script mode, or deciding whether to use distributed compute.
For shared catalog conventions such as naming and namespaces, also use lake-catalog.
Use query mode for quick SQL-style exploration:
oleander polars "select * from events limit 10" \
--table events=my_namespace.events
In query mode, pass each source table with --table. Use alias=namespace.table when the SQL should refer to a short name like events.
Use script mode for idiomatic Polars logic:
oleander polars --script ./job.py \
--param table=my_namespace.events \
--param limit=100
Script mode is the default choice when the work is easier to express with the Polars DataFrame API than with SQL.
oleander injects the runtime pieces for you. In script mode, these are already available:
plcatalogscan(table)paramsYour script must assign result to a Polars LazyFrame or DataFrame.
Good:
table = params.get("table", "default.my_table")
result = (
scan(table)
.filter(pl.col("value") > 0)
.group_by("category")
.agg(pl.len().alias("rows"))
)
Avoid:
.collect() yourself.remote() yourselfFor oleander Polars examples, pass table identifiers as namespace.table strings such as default.sf_311 or analytics.daily_metrics.
scan(table), use namespace.table--table alias=..., use namespace.table--save, use namespace.tableThe catalog is selected separately with --catalog and defaults to oleander.
Use --save when the result should be written to the lake catalog:
oleander polars --script ./job.py \
--param table=default.sf_311 \
--save analytics.top_rows \
--save-mode overwrite
Use overwrite when replacing the full result. Use append for incremental writes.
Use distributed mode only for large workloads:
oleander polars --script ./job.py \
--param table=default.sf_311 \
--distributed \
--save analytics.large_result \
--save-mode overwrite
Distributed runs write results to the lake catalog and are better for large jobs where startup cost is worth it.