I'm using set request_pool= to run an impala query with specific resource pool, but with no success.
When i connect to impala-shell and run set request_pool=xxx, I get REQUEST_POOL set to xxx, after running my query i see it still running under the default pool.
How i can also pass this if i want to run the impala-shell with variables like impala-shell -i xxxx -q yyyy., Can i add to this commnad the set request_pool.
Thanks in advance
Seems also this option is not working at all:
impala-shell -i xxxx -q request_pool=new_pool; select...
tried to run
impala-shell -i xxxx -q request_pool=new_pool;mpala-shell -i xxxx -q select ...
impala-shell -i xxxx -q "request_pool=new_pool" " select ..."
impala-shell -i xxxx -q "request_pool=new_pool"; -q " select ..."
My bad: forgot that -q is used for a single query use.
I solved the issue by putting the 2 select statement at file and used the -f option.
Still investigate the issue of the pool.
my solution is creating a new resource pool with its name same as its user:group.
then set the placement rule: "Use the pool root.[primary group], only if the pool exists."
Now looks like impala will choose right resource pool after a user login into impala-shell. it also works at HUE.
however, the further test shows the user has same name with pool becomes able to use every pool!!
The only issue I can see is the way you are writing request_pool, it should be all Caps else it will not set to the specific pool.
Kinldy use impala-shell -k -i hostname:portnum -B -q 'set REQUEST_POOL=pool_name;'
Hope this will resolve the issue.
NOTE: I am considering that the Impala Admission Control is applied and the poolname is the one that is created using Cloudera Manager.