Data Science and UDFs Examples

This section contains information and tutorials demonstrating the capabilities of Exasol's UDFs. In-depth knowledge of data science and the R and Python programming languages is not required.

User Defined Functions (UDFs)

User Defined Functions (UDFs) provide you with the ability to program your own analysis, processing, or generation functions, and to execute them in parallel inside Exasol's high-performance cluster. By incorporating UDFs in the workflows, you can solve problems that were not solvable with plain SQL in a very efficient and elegant way. UDF scripts provide you with a highly flexible interface for implementing nearly any requirement.

Depending on the input and output specifications there are multiple types of UDFs:



Single input


Multiple rows as input


Single output

Function: executed in parallel


Aggregation function: not parallel, except for group by




Multiple output rows

Generator function / Map reduce / ETL UDFs: executed in parallel




Analytical function: not parallel, except for group by


For additional information on UDFs, refer to the UDF Scripts section in our documentation.

UDF Tutorials

The following sections provide detailed explanations and tutorials showing the capabilities of Exasol's UDFs.

The tutorials in this section are designed to work with the public demo system hosted by Exasol. If you have not already done so, sign up here to get access to the public demo system.

  • Python Classification Example

    Learn how UDFs can be used in a machine learning or data science context using Python. In this tutorial you will learn how to test the accuracy of a model, either from a SQL client or directly from your familiar Python environment such as Jupyter Notebooks.

  • R Regression Example

    Learn how to display JSON data stored in a column as a table using a simple UDF.

  • Geocoding with UDFs

    Learn how to use Exasol to add Geocodes to your data.

  • Train and Predict with R using UDFs

    Learn how to use Exasol with R and how to train and predict using UDFs.