Hive Translator (hive)

Also see common JDBC Translators information.

The Hive translator, known by the type name hive, is for use with Hive v.10 and SparkSQL v1.0 and later.

Capabilities

Hive is compatible with a limited set of data types. It does not have native support for time/XML or large objects (LOBs). These limitations are reflected in the translator capabilities. Although a Teiid view can use these types, the transformation must specify the necessary conversions. Note that in those situations, evaluations are processed in Teiid engine.

Do not use the DatabaseTimeZone translator property with the Hive translator.

Hive only supports EQUI join, so using any other joins types on its source tables will result in inefficient queries.

To write criteria based on partitioned columns, model them on the source table, but do not include them in selection columns.

Note
The Hive importer does not have the concept of catalog or source schema, nor does it import keys, procedures, indexes, and so forth.
Import properties
trimColumnNames

For Hive 0.11.0 and later, the DESCRIBE command metadata is inappropriately returned with padding. Set this property to true to remove white space from column names. Defaults to false.

useDatabaseMetaData

For Hive 0.13.0 and later, the normal JDBC DatabaseMetaData facilities are sufficient to perform an import. Set to true to use the normal import logic with the option to import index information disabled. Defaults to false. When true, trimColumnNames has no effect. If it is set to false, the typical JDBC DatabaseMetaData calls are not used, so not all of the common JDBC importer properties are applicable to Hive. You can still use excludeTables anyway.

"Database Name"

When the database name used in Hive differs from default, the metadata retrieval and execution of queries does not work as expected in Teiid. The Hive JDBC driver seems to be implicitly connecting (tested with < 0.12) to "default" database, thus ignoring the database name mentioned on connection URL. You can work around this issue if you configure your connection source to send the command use {database-name}.

Teiid in WildFly environment set the following in data source configuration.

    <new-connection-sql>use {database-name}</new-connection-sql>

This is fixed in version 0.13 and later of the Hive JDBC driver. For more information, see https://issues.apache.org/jira/browse/HIVE-4256.

Limitations

Empty tables might report their description without datatype information. To work around this problem when importing, you can exclude empty tables, or use the useDatabaseMetaData option.

results matching ""

    No results matching ""