← ClaudeAtlas

exasol-udfslisted

Exasol User Defined Functions (UDFs) and Script Language Containers (SLCs). Covers CREATE SCRIPT, SCALAR and SET functions, ExaIterator API, Python/Java/Lua/R scripts, BucketFS file access, GPU-accelerated UDFs, and building/deploying custom Script Language Containers with exaslct.
exasol-labs/exasol-agent-skills · ★ 10 · AI & Automation · score 72
Install: claude install-skill exasol-labs/exasol-agent-skills
# Exasol UDFs & Script Language Containers Trigger when the user mentions **UDF**, **user defined function**, **CREATE SCRIPT**, **ExaIterator**, **SCALAR**, **SET EMITS**, **BucketFS**, **script language container**, **SLC**, **exaslct**, **custom packages**, **GPU UDF**, **ctx.emit**, **ctx.next**, **variadic script**, **dynamic parameters**, **EMITS(...)**, **default_output_columns**, **execute script**, **pquery**, **Lua execute**, **in-database orchestration**, or any UDF/SLC-related topic. ## When to Use UDFs Use UDFs to extend SQL with custom logic that runs inside the Exasol cluster: - Per-row transforms (cleaning, parsing, hashing) - Custom aggregation across grouped rows - ML model inference (load model from BucketFS, score rows) - Calling external APIs from within SQL - Batch processing with DataFrames Use **Lua execute scripts** (not UDFs) when you need to orchestrate multi-step SQL workflows or iterative algorithms from within the database — see [references/lua-execute-scripts.md](references/lua-execute-scripts.md). ## SCALAR vs SET Decision Guide | | SCALAR | SET | |---|--------|-----| | **Input** | One row at a time | Group of rows (via GROUP BY) | | **Output** | `RETURNS <type>` (single value) | `EMITS (col1 TYPE, ...)` (zero or more rows) | | **Row iteration** | Not needed | `ctx.next()` loop required | | **SQL usage** | `SELECT udf(col) FROM t` | `SELECT udf(col) FROM t GROUP BY key` | | **Use case** | Per-row transforms | Aggregation, ML batch predict