Setting up a development environment
Before you start developing your UDx, you need to configure your development and test environments. Development and test environments must use the same operating system and Vertica version as the production environment.
For additional language-specific requirements, see the following topics:
- Setting up the C++ SDK
- Setting up the Java SDK
- Python SDK
- Installing/upgrading the R language pack for Vertica
Development environment options
The language that you use to develop your UDx determines the setup options and requirements for your development environment. C++ developers can use the C++ UDx container, and all developers can use a non-production Vertica environment.
C++ UDx container
C++ developers can develop with the C++ UDx container. The UDx-container GitHub repository provides the tools to build a container that packages the binaries, libraries, and compilers required to develop C++ Vertica extensions. The C++ UDx container has the following build options:
-
CentOS or Ubuntu base image
-
Vertica 10.x and 11.x versions
For requirement, build, and test details, see the repository README.
Non-production Vertica environments
You can use a node in a non-production Vertica database or another machine that runs the same operating system and Vertica version as your production environment. For specific requirements and dependencies, refer to Operating System Requirements and Language Requirements.
Test environment options
To test your UDx, you need access to a non-production Vertica database. You have the following options:
- Install a single-node Vertica database on your development machine.
- Download and build a containerized test environment.
Containerized test environments
Vertica provides the following containerized options to simplify your test environment setup:
-
Vertica Community Edition (CE) container image from the Vertica DockerHub registry. See the Overview for base image and Vertica version details.
For details about Vertica CE, see Vertica community edition (CE).
-
Custom CE image with the one-node-ce GitHub repository. You can build CentOS- and Debian-based containers that are compatible with Vertica 10.x and 11.x versions.
Operating system requirements
Develop your UDx code on the same Linux platform that you use for your production Vertica database cluster. Centos- and Debian-based operating systems each require that you download additional packages.
CentOS-based operating systems
Installations on the following CentOS-based operating systems require the devtoolset-7 package:
-
CentOS
-
Red Hat Enterprise Linux
-
Oracle Enterprise Linux
Consult the documentation for your operating system for the specific installation command.
Debian-based operating systems
Installations on the following Debian-based operating systems require the GCC package version 7 or later:
Note
Vertica has not tested UDx builds that useGCC
versions later than GCC 8
.
-
Debian
-
Ubuntu
-
SUSE
-
OpenSUSE
Consult the documentation for your operating system for the specific installation command.