Apache Phoenix Translator (phoenix)
Also see common JDBC Translators information.
The Apache Phoenix translator, known by the type name phoenix, exposes querying functionality to HBase tables. Apache Phoenix is a JDBC SQL interface for HBase that is required for this translator as it pushes down commands into Phoenix SQL.
The translator is also known by the deprecated name hbase. The name change reflects that the translator is specific to Phoenix and that there could be other translators introduced in the future to connect to HBase.
Do not use the DatabaseTimezone
property with this translator.
The HBase translator cannot process Join commands. Phoenix uses the HBase Table Row ID as the Primary Key. This Translator is developed with Phoenix 4.3 or greater for HBase 0.98.1 or greater.
Note
|
The translator implements INSERT /UPDATE through the Phoenix UPSERT operation.
This means you can see different behavior than with standard INSERT /UPDATE .
For example, repeated inserts will not throw a duplicate key exception, but will instead update the row in question.
|
Note
|
Due to Phoenix driver limitations, the importer does not look for unique constraints, and defaults to not importing foreign keys. |
Note
|
The translator can process SQL OFFSET arguments and other features starting with Phoenix 4.8.
The Phoenix driver hard codes the server version in PhoenixDatabaseMetaData , and does not otherwise provide a way to detect the server version at runtime.
If a newer driver is used with an older server, set the database version translator property manually.
|
Warning
|
The Phoenix driver does not have robust handling of time values. If your time values are normalized to use a date component of 1970-01-01, then the default handling will work correctly. If not, then the time column should be modeled as timestamp instead. |