1

How do I set a queue name from a command line when running Pig on TEZ?

I would like to run a Pig script from the command line such as:

pig -useHCatalog -p INPUT=input_dir \
                                 -p 'OUT_FILE=out_file \
                                 -p UDF_PATH=udf.py \
                                 -f ./script_name.pig \
                                 -Dmapred.job.queue.name=my_queue_name \
                                 -x tez;

I tried the following settings:

-tez.job.queue.name=my_queue_name
-q mapreduce.job.queuename=my_queue_name
-Dmapred.job.queue.name=my_queue_name
-q my_queue_name

However, my job is not running in the queue I specified.

Thank you!

verkter
  • 758
  • 4
  • 15
  • 29

2 Answers2

1

The property is tez.queue.name.

<property>
    <name>tez.queue.name</name>
    <value>myqueue</value>
</property> 

So try

-tez.queue.name=my_queue_name
nobody
  • 10,892
  • 8
  • 45
  • 63
0

In my version of pig (0.16.0.2.5.3.0-37) I could not set this parameter in the command line.

Instead adding

SET tez.queue.name 'my_queue';

to the beginning of the PIG script did work.