我使用pyhs2通过python查询hive,但是我无法在查询中设置队列。
我想将队列设置为adhoc
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")
查询的第二部分未执行
答案 0 :(得分:0)
显然无法使用pyhs2
运行多个语句,因此您无法设置映射队列名称。 Pyhs2不再被维护,自述文件建议使用支持这些操作的PyHive。
答案 1 :(得分:0)
嗯,也许Angelo所说的并不是真的。 您可以在不同的上下文中设置它。
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()
我希望你明白了。