Version:

User-Defined Function Implementation

UDFs can be implemented in any of the following APIs:

Tutorials

The following tutorials detail the implementation & execution of distributed User-Defined Functions Overview (UDFs) in the respective APIs. Also provided are examples of UDFs, including a simple table copy and a more complex integration into a machine-learning library's demo program.

UDF Prerequisites

  • Kinetica v5.4 or later

  • UDFs enabled in /opt/gpudb/core/etc/gpudb.conf:

    enable_procs = true
    
  • The system_admin role (for creating and executing procs) or Proc Level Permissions (for executing procs). See Security (User/Role Management) for more information on setting roles and permissions

  • User authorization enabled (recommended); see Security Configuration section for details

  • Kinetica UDF APIs; these come packaged with the default Kinetica installation, but can be downloaded separately, if developing UDFs without a local Kinetica instance installed

API

C++

C++ UDF API
A reference for the C++ UDF API
Running C++ UDFs
How to run a C++ UDF in the Kinetica environment
UDF C++ Examples
Complete examples of distributed UDFs

Java

Java UDF API
A reference for the Java UDF API
Running Java UDFs
How to run a Java UDF in the Kinetica environment
UDF Java Examples
Complete example of a distributed UDF

Python

Python UDF API
A reference for the Python UDF API
Running Python UDFs
How to run a Python UDF in the Kinetica environment
UDF Python Examples
Complete examples of distributed UDFs

Simulating UDFs

UDF Simulator
How to simulate running a UDF written in any API

Compatibility Matrix

The following chart shows the version compatibilities between the various UDF APIs and a target database server.

Database C++ Java Python
6.2 6.2.0 6.2.0 6.2.0
7.0 7.0 7.0 7.0