KNOWLEDGE BASE

Hive Connections Using AtScale Fail With a Syntax Error


Published: 05 Feb 2020
Last Modified Date: 06 Feb 2020

Issue

When using a Hive data connection from a TDS file generated by AtScale, the following error may occur:
Bad Connection: Tableau could not connect to the data source.
[Hortonworks][Hardy] (35) Error from server: error code: '0' error message: 'Encountered "" at line XX, column YY. Was expecting one of: '.

Environment

  • Tableau Desktop 2019.3 or later
  • Cloudera Hadoop Hive
  • AtScale generated TDS
  • Tableau Workbook that includes Level Of Detail (LOD) expressions/calculations

Resolution

The recommended workaround is to use the Other Databases (ODBC) connector in Tableau Desktop to connect to the Hive data.  Instructions for using this connector can be found in our Help Documentation: Other Databases (ODBC). To find the necessary server and other connection information, follow these steps:

1. Open an AtScale provided TDS file in Tableau Desktop.
2. Go to the Data Source tab in the lower left.
3. In the upper left, click the drop-down arrow next to the data source name.
4. Select Edit Connection…
5. A dialog box will pop up that includes the necessary information.
 
Once the Other Databases (ODBC) connection is established, the Replace Data Sources function can be used to use the new connection in the existing workbooks.

Cause

This issue is occurring due to updates to the Hive ODBC driver capabilities and Tableau's subsequent update to make use of those abilities. Specifically, the Hive driver was updated to support the operator <=> in queries. Following this, the recent versions of Tableau Desktop and Tableau Server have also had their usage of the Hive connector updated to include the <=> operator in queries.
 
The cause of the issue and errors seen now in Tableau version 2019.3 and newer is that AtScale has not yet been update to make use of this operator. According to AtScale support, they have added supporting this operator as a feature request, but have no ETA on when that will be implemented.
Did this article resolve the issue?