PPawar
PPawar

Reputation: 11

Tableau does not read hive-serde jar in Databricks library

My project connects Tableau to Databricks using the SIMBA Spark ODBC driver. I am trying to read a HIVE table in the OpenCSVSerde format. The table has the below ROW format, INPUTFORMAT and OUTPUTFORMAT.

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH 
SERDEPROPERTIES ( 'separatorChar'=',') STORED AS INPUTFORMAT 
'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'

I have installed the hive_serde jar (both from the maven repository and also a separate downloaded JAR from the local machine) in my libraries in Databricks. However, Tableau does not seem to read the JAR. When I try to access this table from Tableau I get the below error message

[Simba][Hardy] (35) Error from server: error code: '0' error message: 'Error running query: java.lang.RuntimeException: 
MetaException(message:java.lang.ClassNotFoundException Class org.apache.hadoop.hive.serde2.OpenCSVSerde not found)'. The table "[schema_name].[table_name]" does not exist.

I have also tried installing the serde jar that is on my production cluster(thinking this could be a version issue). This does not help either and the same error pops up. Tables in the OrcSerde ROW Format is working fine.

Upvotes: 1

Views: 194

Answers (2)

Yehuda
Yehuda

Reputation: 459

I had the almost same problem,

In order for it will work, you can add Jar via Cluster configuration

or add an init script that retrieves the relevant jar and put it in folders

 /databricks/jars/
 /databricks/databricks-hive/

Upvotes: 0

PPawar
PPawar

Reputation: 11

This was caused due to the Databricks version being 6.3. It was resolved once I changed it to 6.4

Upvotes: 0

Related Questions