Created 05-25-2017 04:21 PM
Hi,
I’m using HDP 2.6 sandbox.
Connecting to Hive using ODBC and running this command:
set hive.enforce.bucketing=true
I noticed some strange behavior:
[HY000][80][Hortonworks][Hardy] (80) Syntax or semantic analysis error thrown in server while executing query. Error message from server: Error while processing statement: Cannot modify enforce.bucketing at runtime. It is not in list of params that are allowed to be modified at runtime
I added hive.enforce.bucketing to the whitelist and it still didn't work.
Then I noticed that the error is about enforce.bucketing - without the "hive." prefix. So I added the shorter name to whitelist - and now both "enforce.bucketing" and "hive.enforce.bucketing" can be set via ODBC.
This is just an example, I found other parameters that changed to shorter names as well. In previous HDP versions, the long names were used.
Do you know the exact version in which this change took place and why?
And how come the old ODBC driver is working fine without adding anything to the whitelist?
Thanks
Created 05-25-2017 11:28 PM
hi @ozac, As per https://issues.apache.org/jira/browse/HIVE-12331 this has been removed. You neednot set this property Hive 2.x onward. HDP 2.6 ships with Apache Hive 2.1.0 version and hence you will be facing this issue. This is will set automatically
Created 05-28-2017 06:33 AM
Hi @akapratwar,
This is only an example, other parameter names where changed as well.
My application may work with different Hadoop versions and different ODBC drivers, depends on each environment.
What I'm trying to figure out is which Hadoop version introduced the parameter names change and why older ODBC driver do not require any configuration of whitelist on Hive.
Thanks