UDFs can be implemented in any of the following APIs:
Tutorials
The following tutorials detail the implementation & execution of distributed User-Defined Functions (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
UDFs enabled in
/opt/gpudb/core/etc/gpudb.conf
:enable_procs = true
User authorization enabled (recommended); see Security Configuration section for details
The system_admin role (for creating and executing procs) or Proc Level Permissions (for executing procs as a non-admin). See Security (User/Role Management) for more information on setting roles and permissions
Kinetica UDF APIs; these can be downloaded from GitHub. See one of the API references below for installation instructions.
Development
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 |
7.1 | 7.1 | 7.1 | 7.1 |