次の制限事項は、Teradata QueryGridでのHiveコネクタの使用に影響します。
- 外部関数の実行
- システム間のトランザクション セマンティックはサポートされていません。
データをエクスポートしてリモート システムにコミットした後は、ローカル システム上で後続のエラーまたはアボートが発生しても、リモート リクエストをロールバックしません。
- Support Hive Task RetriesパラメータがTrueに設定されていない限り、次のHive speculativeプロパティはサポートされておらず、デフォルトで無効になっています。
- mapreduce.map.speculative=false
- mapreduce.reduce.speculative=false
- tez.am.speculation.enabled=false
- Hiveイニシエータを使用する場合:
- エクスポートがサポートされているのはHDP 3.0.1以降のHive-on-Tez (Hive実行エンジン プロパティ = Tez)のみです。
- Hive-on-Spark (Hive実行エンジン プロパティ = Spark)では、エクスポートはサポートされません。
- ターゲット サーバーはすべての列を返し、イニシエータ サーバーは列の射影を処理します。
- Explainコマンドを使用している場合、ターゲット サーバーはクエリーおよびプラン データを返しません。
- Countコマンドを使用している場合、ターゲット サーバーはすべての列を返します。次に、イニシエータ サーバーでこれらの列を集計します。
- 最初の非ネイティブ テーブルに挿入、2番目の非ネイティブ テーブルから選択などのサブクエリーは使用できません。
- デフォルトでは、Hiveターゲット コネクタは、エクスポート クエリーが成功したときにエクスポートされた行数に関係なく、エクスポートされた行数として1を返します。Collect Approximate Activity Countコネクタ プロパティをtrueに設定すると、エクスポートされた行数が返されますが、次の制限があります。
- Hiveテーブル統計情報が不正確である場合(これは一般的ではありません)、このプロパティを有効にすると、挿入クエリーでパフォーマンス オーバーヘッドが生じる可能性があります。
- Hiveテーブルで同時挿入が実行されると不正確な行数が表示されることがあり、その結果、正確な数値ではなく概算値になる可能性があります。
- Hiveがアップグレードされた場合、または標準のHive JARファイルの場所が変更された場合は、tdqg-node restartが必要です。
- タイムスタンプ精度のデフォルト値は9です。Hive - Teradata間のリンクを使用した場合、Teradata QueryGridは小数点以下6桁を超えるデータを切り捨てます。
- リモート システムのタイム ゾーンがイニシエータ システムのタイム ゾーンと異なる場合、WHERE句で使用される日付リテラルはリモート システムのタイム ゾーンに変換されません。
- UTF-16補助文字がテーブル内で2バイトを超えると、データが切り捨てられます。
- テーブルの文字セットがLatinまたはUTF-16以外の文字セットに設定されている場合、HiveのVARCHAR、STRING、およびCHAR列ではIMPORTはサポートされません。
- LIMIT句の条件プッシュダウンはサポートされていません。