2017-08-29 72 views
0

任何人都可以请指导我如何使用Python运行.hql查询。尝试过Hiveutils lib,但它在开发环境中不存在。任何其他方式来执行查询?Python脚本来运行Hive查询

+0

还有ImPyla,同时支持蜂房和帕拉(其使用相同的二进制协议) 。上次我检查,它工作。 PyHive并非如此。 –

回答

0

您可以使用PyHive:PyHive是Presto和Hive的Python DB-API和SQLAlchemy接口的集合。

实施例:

from pyhive import hive 
cursor = hive.connect('localhost').cursor() 
cursor.execute('SELECT * FROM my_awesome_data LIMIT 10') 
print(cursor.fetchone()) 
print(cursor.fetchall()) 
+0

我上次检查时,PyHive的“稳定”版本被破坏,即使在Anaconda回购站。你必须重新编译“最新”的SASL库来解决这个问题。 –

0

您可以尝试使用pyhs2,尝试如下面给出的例子中的工作

import pyhs2 
    with pyhs2.connect(host='localhost', 
      port=10000, 
      authMechanism="PLAIN", 
      user='your_user', 
      password='your_password', 
      database='your_default_db') as conn: 
     with conn.cursor() as cur: 
      print cur.getDatabases() 
      cur.execute("select * from table") 
      #Return info from query 
      print cur.getSchema()