The following limitations affect use of Hive connectors with Teradata QueryGrid:
-
Transaction semantics between systems is not supported.
After data has been exported and committed to a remote system, any subsequent errors or aborts on the local system do not roll back the remote request.
- The default for Timestamp precision is nine (9); Teradata QueryGrid truncates data with more than six decimal places when using Hive-to-Teradata links.
- The following Hive speculative properties are not supported and are disabled by default.
- mapreduce.map.speculative=false
- mapreduce.reduce.speculative=false
- tez.am.speculation.enabled=false
- When using the Hive initiator:
- Export is supported for Hive-on-MR only (Hive Execution Engine property = MR).
- Export is not supported for Hive-on-Tez (Hive Execution Engine property = Tez) or Hive-on-Spark (Hive Execution Engine property = Spark)
- The target server returns all columns and the initiator server processes any column projection.
- The target server does not return query and plan data when using the Explain command.
- The target server returns all columns when using the Count command; these then aggregate on the initiator server.
- Sub-queries such as insert into 1st-non-native-table select from 2nd-non-native-table cannot be used.
- By default, the Hive target connector returns a 1 as the number of rows exported regardless of how many rows were actually exported during a successful export query. Setting the Collect Approximate Activity Count connector property to true returns the number of rows exported with the following limitations:
- If the Hive table statistics are inaccurate (this is uncommon – Hive table statistics are usually accurate), enabling this property can result in a performance overhead on the insert query.
- If there are concurrent inserts on the Hive table, an inaccurate number of rows may be displayed, resulting in an approximate result rather than a precise number.