The metadata load uses DESCRIBE keyword which tires to retrieve type name in String runtimeType = getRuntimeType(type); However, with Hive 0.11 the type name is returned with padding spaces. Hence all the data types are resolved to default java.lang.String for Hive Translator. This relates to
The related JIRA is https://issues.jboss.org/browse/TEIID-2671
Ramesh Reddy <rareddy> made a comment on jira TEIID-2671 Ok, this sounded familiar, but after loading sandbox, I saw https://issues.jboss.org/browse/TEIID-2524 which was logged before and resolved. Since we are recommending 0.11 version of the driver do the "trim" always instead of requiring a translator override?
Steven Hawkins <shawkins> made a comment on jira TEIID-2671 If we are going to require .11, then yes we can remove the override. If not, the override should stay and also apply to the column types. We can also look at adding auto-version detection logic like the other jdbc translators so that the user doesn't have to explicitly set to trim.
Ramesh Reddy <rareddy> made a comment on jira TEIID-2671 Sorry I confused myself - Looking more closely TEIID-2524, was about column names, not column types, so that got fixed in 0.11, so one may never need to define a "importer.trimColumNames" importer property. Only working with 0.10 one may need this. - This JIRA was talking about the data types on the same columns, but while testing I have not seen the behavior indicated. Filip, do have a sample data file/vdb that I can use to duplicate the issue?
Ramesh, I will send you an e-mail and provide you with the vdb and connection information so that you can connect to the Hive Server that is exhibiting the issue.
Ramesh Reddy <rareddy> updated the status of jira TEIID-2671 to Resolved
Ramesh Reddy <rareddy> made a comment on jira TEIID-2671 1) Hive 0.11 driver can return the types names with spaces appended to it, to trimming them before the checking for defined type is required to detect correct runtime type 2) 0.71 driver when originally the translator developed it looks like in resultset.getTimestamp(index, cal) method cal parameter is ignored, and in 0.11 this method is written as not supported 3) correction for above was required to retrive the timestamp value correctly 4) Since we are recommending 0.11, updated the module.xml with correct version numbers in the documents section 5) Hive also released Hive2 driver where the driver class is org.apache.hive.jdbc.HiveDriver, provided ds example for this driver in docs section 6) tested with both drivers against the local and gss database
Steven Hawkins <shawkins> updated the status of jira TEIID-2671 to Closed