This is the 7.2 version of the server-side C++ UDF API for Kinetica. UDFs are server-side programs written in this API and then installed, configured, and initiated through a separate client-side management API. These two APIs are independent of each other and do not need to be written in the same language; e.g., a UDF can be written in the C++ UDF API and managed in SQL (from Workbench, KiSQL, or other database client).
The source code for this project can be found at https://github.com/kineticadb/kinetica-udf-api-cpp
For changes to the client-side API, please refer to CHANGELOG.md.
This repository contains the Kinetica C++ UDF API in the kinetica
directory.
In the kinetica
directory, are the two files that compose the API, Proc.hpp
and Proc.cpp
. These can simply be directly included into any C++ UDF project,
as required. There are no external dependencies.
Note that due to native components this must be compiled on Linux with the same architecture as the Kinetica servers on which the UDFs will be used and a compatible glibc version.
This repository also contains an example project in the proc-example
directory, which implements a UDF in the C++ UDF API.
This example copies one or more input tables to an output table. If the output table exists, it must have compatible columns to the input tables.
To build the example, run the following command in the proc-example
directory:
make
This will produce an executable, proc-example
. This executable can be uploaded
to Kinetica via the GAdmin UDF tab by clicking New and using the following
parameters:
- Name:
proc-example
(or as desired) - Command:
./proc-example
- Files:
proc-example
Once uploaded, the UDF can be executed via GAdmin.
For information about UDFs in Kinetica, please see the User-Defined Functions sections of the Kinetica documentation:
- UDF Concepts: https://docs.kinetica.com/7.2/udf_overview/
- C++ UDF API: https://docs.kinetica.com/7.2/udf/cpp/writing/
- C++ UDF Management API: https://docs.kinetica.com/7.2/udf/cpp/running/
- C++ UDF Examples: https://docs.kinetica.com/7.2/udf/cpp/examples/
For bugs, please submit an issue on Github.
For support, you can post on
stackoverflow under the
kinetica
tag or
Slack.
- Ask a question on Slack: Slack
- Follow on GitHub: Follow @kineticadb
- Email us: [email protected]
- Visit: https://www.kinetica.com/contact/