Apache Cloudberry PXF (Platform Extension Framework) consists of 3 groups of artifacts, each developed using a different underlying technology:
pxf (external table) and pxf_fdw (foreign data wrapper) libraries and extension filespxf.war file, Tomcat server, dependent JAR files, templates and scriptspxf-cli executableThe PXF build system can create an RPM package on CentOS platform and a DEB package on Ubuntu platform, respectively. PXF compiles against and generates packages for Apache Cloudberry.
For example, apache-cloudberry-pxf-incubating-1.2.3-1.el7.x86_64.rpm represents an RPM package of PXF version 1.2.3 intended to work with Apache Cloudberry on CentOS / Red Hat 7 operating systems.
On CentOS platforms PXF product is packaged as an RPM. The specification on how to build the RPM is provided by the cloudberry-pxf.spec file in this directory. The following key design decisions were made:
apache-cloudberry-pxf-incubating/usr/local/cloudberry-pxf-[VERSION] directory (e.g. /usr/local/cloudberry-pxf-1.2.3)pxf init command issued by a user after the install1apache-cloudberry-pxf-incubating-1.2.3-1.el7.x86_64.rpm and apache-cloudberry-pxf-incubating-1.2.3-1.el8.x86_64.rpmTo build an RPM, follow these steps:
rpm-build package: sudo yum install rpm-buildsource $GPHOME/greenplum_path.sh(for Cloudberry 2.0) or source $GPHOME/cloudberry-env.sh (for Cloudberry 2.1+) to configure your PATH to be able to find pg_config programmake clean rpm from the top-level directory to build artifacts and assemble the RPMbuild/rpmbuild/RPMS directoryTo install PXF from an RPM, follow these steps:
1.2.3 will be installed to work with Apache Cloudberry.rpm -Uvh apache-cloudberry-pxf-incubating-1.2.3-1.el7.x86_64.rpm to install the RPM into /usr/local/cloudberry-pxf-1.2.3chown gpadmin:gpadmin /usr/local/cloudberry-pxf-1.2.3 to change ownership of PXF installation to the user gpadmin. Specify a different user other than gpadmin, if desired.After these steps, the PXF product will be installed and is ready to be configured. If there was a previous installation of PXF, the files and the runtime directories from the older version will be removed. The PXF configuration directory should remain intact. You will need to have Java installed to run the PXF server.
To remove the installed PXF package, follow these steps:
rpm -e apache-cloudberry-pxf-incubating. This will remove all files installed by the RPM package and the PXF runtime directories. The PXF configuration directory should remain intact.