一键导入
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 职业分类
| 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.
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.