Created on 08-14-2018 06:16 PM - edited 09-16-2022 06:35 AM
Hi All,
We have an SSIS package which is consuming data from an ODBC connection based on the Hortonworks Hive driver. We have noticed that when we use the DSN connection from our production environment the package works fine, but when calling it from an other environment it is changing the query result set. More specifically it is adding the table qualifier to the columns. We have set both ODBC connections with the same configuration, but we're still facing this issue in our lower environments. Example:On production we get "column" while on QA we get "table.column".
Could this be an issue with the default driver settings? We're using v2.1.5.1006 on Production and v2.1.6.1023 on QA.
Or is there an ODBC setting to remove the qualifier from being added to the column name?
Thanks for your assistance.
Created 08-15-2018 06:57 AM
Are you running the same query from both clients, connected to the same server (HIVE)? Dependent on the SQL you are running a table name in front of a column name can be required, so in case of different queries that might be the reason.
Created 08-15-2018 07:08 AM
Ryan, Set the below property to false to avoid table name as prefix.
set hive.resultset.use.unique.column.names=false;
Created 08-15-2018 07:22 AM
@Herald, the only thing being modified is the ODBC connection. Basically on QA we have the same configuration (host, schema, and authentication) as we have on Production. The only thing which is different is the driver version. The SSIS package is built in such a way as to minimize user manipulation and only the connection strings can be modified.
@Avinash, do I need to set hive.resultset.use.unique.column.names=false; on the ODBC configuration? Or it's a configuration on the Hive server?
Created 08-20-2018 09:01 AM
It's a configuration on hive server.
Created 08-20-2018 09:12 AM
@Avinash thanks for your reply.
This was solved by using the same driver as we had on Production.