From 04657e0cf748da64077005bbc9b95a4fa393523a Mon Sep 17 00:00:00 2001 From: Anastasiia Sergienko Date: Mon, 28 Sep 2020 13:22:56 +0200 Subject: [PATCH] #394: Described 'No suitable driver found', added a note that Hive 1.1.0 has problems with its driver. --- README.md | 2 +- doc/changes/changes_4.0.4.md | 1 + doc/dialects/hive.md | 5 +++++ ...orted_data_types.md => troubleshooting.md} | 20 +++++++++++++++++-- 4 files changed, 25 insertions(+), 3 deletions(-) rename doc/user-guide/{unrecognized_and_unsupported_data_types.md => troubleshooting.md} (65%) diff --git a/README.md b/README.md index 45c27b518..64f7ae9fb 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ This is an open source project which is officially supported by Exasol. For any Additional resources: -* [Unrecognized and Unsupported Data Types](doc/user-guide/unrecognized_and_unsupported_data_types.md) +* [Troubleshooting](doc/user-guide/troubleshooting.md) * [Changelog](doc/changes/changelog.md) * [Virtual Schema Privileges](https://docs.exasol.com/database_concepts/virtual_schema/virtual_schema_privilege.htm) diff --git a/doc/changes/changes_4.0.4.md b/doc/changes/changes_4.0.4.md index e3722aff9..5b6e84e0d 100644 --- a/doc/changes/changes_4.0.4.md +++ b/doc/changes/changes_4.0.4.md @@ -8,6 +8,7 @@ Code name: * #377: Improved Scalar Functions API documentation. * #384: Turned embedded JSON into key-value encoding in Adapter Notes API examples. * #386: Remove the documentation that was moved to the portal, added links instead. +* #394: Described 'No suitable driver found', added a note that Hive 1.1.0 has problems with its driver. ## Refactoring diff --git a/doc/dialects/hive.md b/doc/dialects/hive.md index 114f1fff7..b89202b0a 100644 --- a/doc/dialects/hive.md +++ b/doc/dialects/hive.md @@ -159,6 +159,11 @@ CREATE VIRTUAL SCHEMA ## Troubleshooting +### Virtual Schema and Hive 1.1.0 + +It is not possible to create a Virtual Schema with Hive version 1.1.0, because the JDBC drivers for it do not support the method we use for retrieving the metadata. +The unsupported driver we have tested with: `jdbc-driver hive-jdbc-1.1.0-cdh5.16.2-standalone.jar` + ### VARCHAR Columns Size Fixed at 255 Characters Hive is operating on schemaless data. Virtual Schemas — as the name suggests — require a schema. In the case of string variables this creates the situation that the Hive JDBC driver cannot tell how long strings are when asked for schema data. To achieve this it would have to scan all data first, which is not an option. diff --git a/doc/user-guide/unrecognized_and_unsupported_data_types.md b/doc/user-guide/troubleshooting.md similarity index 65% rename from doc/user-guide/unrecognized_and_unsupported_data_types.md rename to doc/user-guide/troubleshooting.md index a08443bc2..23acae95e 100644 --- a/doc/user-guide/unrecognized_and_unsupported_data_types.md +++ b/doc/user-guide/troubleshooting.md @@ -1,4 +1,6 @@ -# Unrecognized and Unsupported Data Types +# Troubleshooting + +## Unrecognized and Unsupported Data Types Not all data types present in a source database have a matching equivalent in Exasol. Also software updates on the source database can introduce new data type that the Virtual schema does not recognize. @@ -8,4 +10,18 @@ There are a few important things you need to know about those data types. 2. You can't query columns of an unrecognized / unsupported data type. If the source table contains them, you have to *explicitly* exclude them from the query. You can for example not use the asterisk (`*`) on a table that contains one ore more of those columns. This will result in an error issued by the Virtual schema. 3. If you want to query all columns except unsupported, add `1` to the columns list. Otherwise you will see the same error as if you query with the asterisk (`*`). For example, a table contains 3 columns: `bool_column` BOOLEAN, `timestamp_column` TIMESTAMP, `blob_column` BLOB. The column BLOB is not supported. If you want to query two other columns, use: `SELECT "bool_column", "timestamp_column", 1 FROM table_name;` . -4. You can't use functions that result in an unsupported / unknown data type. \ No newline at end of file +4. You can't use functions that result in an unsupported / unknown data type. + +## Exceptions and Errors + +### No Suitable Driver Found + +If you see this error message, you should check the JDBC driver you register in the EXAoperation. +If you are sure you have registered the driver correctly, but you still see the same error, check the driver: + +* Open the jar archive and make sure the file `META-INF/services/java.sql.Driver` exists. + +* If the file exists, open it and make sure it contains the driver's main class reference. + +* If the file does not exist or does not contain the correct main class reference, you can add it and re-upload the fixed jar. + You can also report the problem to the developers of the driver. \ No newline at end of file