우선 hive 를 MR 엔진으로 돌리면


set mapreduce.job.queuename=큐이름


형태로 지정한다. 하지만 tez엔진을 쓰면 이 옵션은 동작하지 않는다.


tez에서 큐 이름을 지정하는건 옵션이 다르다.


set tez.queue.name=큐이름;



추가적으로, hive에서는 job name이 hql의 앞쪽 명령어로 지정되어 yarn의 리소스를 보면 대충 어떤 쿼리가 yarn에서 돌고있는지 인지가 가능한데, 문제는 tez엔진에서는 job name을 지정하는 옵션이 안먹는다 


참고로, tez 엔진으로 hive쿼리를 실행하면 job name이 

HIVE-f737252c-20d3-4f32-9277-15f206f2b0f8 같은 UUID 패턴으로 생성되서 어떤 쿼리가 돌고 있는건지 알길이 없다.


결국 큐이름을 이용해 작업을 구분하고있다.


hive 상위버전에서는 해결되었다는 소문도 있던거 같은데 아직까진 모르겠다.


+ Recent posts