Apache HBase Translator (phoenix)
Also see common JDBC Translator 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 - see Phoenix Data Sources 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 there may be other translators introduced in the furture that also connect to HBase.
The DatabaseTimezone property should not be used with this translator.
The HBase Translator doesn’t support Joins. Phoenix uses the HBase Table Row ID as the Primary Key, which map to . This Translator is developed with Phoenix 4.3+ for HBase 0.98.1+.
Note
|
The translator implements INSERT/UPDATE through the Phoenix UPSERT operation. This means you can see different behavior than with standard INSERT/UPDATE - such as 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 will not look for unique constraints and defaults to not importing foreign keys. |
Note
|
The translator supports offset 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, please 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. |