Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications. Visit the Apache Phoenix website here. This is the repo for the Phoenix Query Server (PQS).
Copyright ©2020 Apache Software Foundation. All Rights Reserved.
This repository will build a tarball which is capable of running the Phoenix Query Server.
By default, this tarball does not contain a Phoenix client jar as it is meant to be agnostic of Phoenix version (one PQS release can be used against any Phoenix version). Today, PQS builds against the Phoenix 4.15.0-HBase-1.4 release.
Note that the resulting Query Server binaries are not tied to any Phoenix, Hbase or Hadoop versions, and will work with all recent Phoenix versions.
$ mvn clean package
To build a release of PQS which packages a specific version of Phoenix, specify the package-phoenix-client
system property
and specify the phoenix.version
system property to indicate a specific Phoenix version, as well as
the phoenix.client.artifactid
to choose the phoenix-client HBase variant for 4.16+ / 5.1+.
$ mvn clean package -Dpackage.phoenix.client -Dphoenix.version=5.1.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-2.4
mvn package
will run the unit tests while building, but it will not run the integration test suite.
The IT suite is run when executing mvn install
or mvn verify
. The Phoenix client artifact specified
with phoenix.version
and phoenix.client.artifactid
is used for running the integration tests.
When specifying phoenix.version
and phoenix.client.artifactid
, also specify the HBase version to
be used for integration testing by activating the corresponding hbase<minor.major>
profile.
When using a Phoenix 5.1+ version, activate the hbase-2.x
profile in addition to the
profile for the minor 2.x version.
NOTE that the integration tests cannot be currently run with Phoenix 4.16+ or 5.1+, so the examples below will fail. See https://issues.apache.org/jira/browse/PHOENIX-6324
$ mvn clean verify -Dpackage.phoenix.client -Dphoenix.version=4.16.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-1.3 -Phbase-1.3
$ mvn clean install -Dpackage.phoenix.client -Dphoenix.version=5.1.0-SNAPSHOT -Dphoenix.client.artifactid=phoenix-client-hbase-2.1 -Phbase-2.1 -Phbase-2.x
Phoenix-queryserver currently supports generating the standard set of Maven Project Info Reports, as well as Spotbugs, Apache Creadur RAT, OWASP Dependency-Check, and Jacoco Code Coverage reports.
To run all available reports
$ mvn clean verify site -Dspotbugs.site
To run OWASP, RAT and Spotbugs, but not Jacoco
$ mvn clean compile test-compile site -Dspotbugs.site
The reports are accessible via target/site/index.html
, under the main project,
as well as each of the subprojects. (not every project has all reports)