9.5.9. Hive Translator(hive)
また、一般的な JDBC 翻訳の 情報も併せて参照してください。
タイプ名 hive で認識される Hive Translator は、Hive v.10 および SparkSQL v1.0 以降で使用します。
機能
Hive は限定されたデータタイプのセットと互換性があります。time/XML または大規模なオブジェクト(LOB)のネイティブサポートはありません。これらの制限は、トランスレーター機能に反映されます。Data Virtualization ビューはこれらのタイプを使用できますが、変換に必要な変換を指定する必要があります。このような状況では、評価は Data Virtualization エンジンで処理されることに注意してください。
DatabaseTimeZone
translator プロパティーは Hive トランスレーターで使用しないでください。
Hive は EQUI join のみをサポートするため、ソーステーブルで他の結合タイプを使用するとクエリーが非効率になります。
パーティション化された列に基づいて基準を記述するには、ソーステーブルで条件をモデル化しますが、選択列に含まれません。
Hive インポーターにはカタログまたはソーススキーマの概念がなく、キー、手順、インデックスなどをインポートします。
プロパティーのインポート
- trimColumnNames
-
Hive 0.11.0 以降では、
DESCRIBE
コマンドメタデータは、パディングと共に適切に返され ます。列名から空白を削除するには、このプロパティーをtrue
に設定します。デフォルトはfalse
です。 - useDatabaseMetaData
-
Hive 0.13.0 以降では、インポートを実行するために通常の JDBC
DatabaseMetaData
機能があれば十分です。オプションとともに通常のインポートロジックを使用してインデックス情報を無効にするには、true
に設定します。デフォルトはfalse
です。true の場合、trimColumnNames
は影響を受けません。false に設定すると、一般的な JDBC DatabaseMetaData 呼び出しが使用されないため、共通の JDBC インポータープロパティーすべてが Hive に適用されるわけではありません。excludeTables を引き続き使用できます。
"Database Name"
Hive で使用されるデータベース名が デフォルト
のものと異なる場合、クエリーのメタデータの取得および実行は Data Virtualization で予想通りに機能しません。Hive JDBC ドライバーは暗黙的に接続(< 0.12)で「デフォルト」データベースに接続するように見えるため、接続 URL に記載されているデータベース名は無視されます。コマンドを送信するように接続ソースを設定する場合は、{database-name} を使用
することができます。
これは、バージョン 0.13 以降の Hive JDBC ドライバーで修正されています。詳細は、https://issues.apache.org/jira/browse/HIVE-4256 を参照してください。
制限事項
空のテーブルは、データタイプ情報なしに説明を報告する可能性があります。インポート時にこの問題を回避するには、空のテーブルを除外するか、useDatabaseMetaData
オプションを使用します。