UDFs can be implemented in any of the following APIs:
Tutorial
The following tutorial details the implementation & execution of distributed User-Defined Functions (UDFs) in the Python API. 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 managing procs) or Proc Level Permissions (for managing 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
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
Each UDF API should be compatible with the corresponding minor release of the database; e.g., the Python UDF v7.1 API is compatible with a Kinetica v7.1 database.