2017-08-29 297 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()