lenchv / hive-driver

Driver for connection to Apache Hive via Thrift API
MIT License
40 stars 9 forks source link

how to set yarn queue? #40

Closed taoistwar closed 2 years ago

taoistwar commented 2 years ago

How to execute hql query in specific yarn queue?

lenchv commented 2 years ago

Hi @taoistwar ! I cannot say exactly, but you can redefine configuration when open session or execute statement: https://github.com/lenchv/hive-driver/blob/master/thrift/TCLIService.thrift#L583 https://github.com/lenchv/hive-driver/blob/master/thrift/TCLIService.thrift#L721

So you should try to pass the following parameters on those actions: https://community.cloudera.com/t5/Support-Questions/Hive-CLI-against-specific-queue/td-p/189667

mapred.job.queue.name=<queuename>
// or
tez.queue.name=<queuename>

E.g.

const session = await client.openSession({
        client_protocol: TCLIService_types.TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V10,
        configuration: {
                "mapred.job.queue.name": "<queuename>"
        }
});

or

await session.executeStatement(
        'select * from pokes', {
                confOverlay: {
                        "mapred.job.queue.name": "<queuename>"
                }
        }
);

If it doesn't help, you should dig in the direction of thrift api provided by Hive: https://github.com/lenchv/hive-driver/blob/master/thrift/TCLIService.thrift

Please, let me know if it helps or you find a way to process it.