9.5.2. Apache Phoenix Translator(phoenix)
また、一般的な JDBC 翻訳の 情報も併せて参照してください。
タイプ名 phoenix によって認識される Apache Phoenix translator は、HBase テーブルへのクエリー機能を公開します。Apache Phoenix は、このコマンドを Phoenix SQL にプッシュする際に、このトランスレーターに必要な HBase の JDBC SQL インターフェースです。
トランスレーターは、非推奨の hbase の名前でも知られています。この名前の変更により、トランスレーターは Phoenix 固有のものであり、将来 HBase に接続するため、他の翻訳者が導入される可能性があります。
このトランスレーターでは DatabaseTimezone
プロパティーを使用しないでください。
HBase translator は参加コマンドを処理できません。Phoenix は HBase Table Row ID を プライマリー Key として使用します。この Translator は、HBase 0.98.1 以降の Phoenix 4.3 以降で開発されます。
トランスレーターは、Phoenix UPSERT
操作で INSERT
/UPDATE
を実装します。これは、標準の INSERT
/UPDATE
とは異なる動作を確認できることを意味します。たとえば、繰り返し挿入してもキーの重複例外は発生せず、代わりに問題の行を更新します。
Phoenix ドライバーの制限により、インポーターは一意の制約を検索しず、デフォルトでは外部キーをインポートしません。
トランスレーターは、SQL OFFSET
引数および Phoenix 4.8 以降の他の機能を処理できます。Phoenix ドライバーは、PhoenixDatabaseMetaData
でサーバーバージョンをハードコーディングし、実行時にサーバーバージョンを検出する方法を提供しません。古いサーバーで新しいドライバーを使用する場合は、データベースバージョン translator プロパティーを手動で設定します。
Phoenix ドライバーには、時間の値を堅牢に処理していません。時間の値が 1970-01-01 の日付コンポーネントを使用するように正規化されると、デフォルトの処理が正常に機能します。そうでない場合は、時間列をタイムスタンプとしてモデル化する必要があります。