pyhs2在查询中设置队列

u7up0aaq  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(397)

我正在使用pyhs2通过python查询配置单元,但是我无法在查询中设置队列。
我想把队列设为临时队列

cursor.execute("set mapred.job.queue.name=adhoc;")
cursor.execute("select * from test")
pyhs2.error.Pyhs2Exception: 'Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask'

当我尝试将队列放入查询时:

cursor.execute("set mapred.job.queue.name=adhoc; select * from test")

查询的第二部分没有执行

mqkwyuun

mqkwyuun1#

显然,不可能使用 pyhs2 因此,无法设置Map的队列名称。pyhs2不再维护,自述文件建议使用支持此类操作的pyhive。

mefy6pfw

mefy6pfw2#

嗯,也许安杰洛说的不是真的。你可以这样在不同的上下文中设置它。

conn = pyhs2.connect(...)
c = conn.cursor()
c.execute('set mapred.job.queue.name=adhoc')
c.close()
c = conn.cursor()
c.execute("select * from test")
r = c.fetchall()
c.close()
conn.close()

我希望你有这个想法。

相关问题