Python連接Impala


Impyla是用於分布式查詢引擎的HiveServer2實現(如Impala、Hive)的python客戶端

1)安裝impyla

pip install impyla

安裝報錯

 

 解決辦法:

根據提示下載對應的工具

 

https://visualstudio.microsoft.com/zh-hans/downloads/

 

 

 

 

 直接下載安裝即可

 

 

 工具安裝完成后,繼續pip install impyla

 

 

 安裝成功

代碼測試:

 

from impala.dbapi import connect
conn = connect(host='xxx.xxx.xxx.xxx', port=21050)
cur = conn.cursor()
cur.execute('show databases;')
database_list=cur.fetchall()
for data in database_list:
   print(data)

 

 

 OK 正常連接

 

 參照以前的Mysql連接工具類,寫了個連接Impala的工具類:

 
         
from impala.dbapi import connect

class IMPALA:
def __init__(self,host,port,user,pwd,db):
self.host = host
self.port = port
self.user = user
self.pwd = pwd
self.db = db



def __GetConnect(self):
if not self.db:
raise(NameError,"沒有設置數據庫信息")
self.conn = connect(host=self.host,port=self.port,user=self.user,password=self.pwd,database=self.db)

cur = self.conn.cursor()
if not cur:
raise(NameError,"連接數據庫失敗")
else:
return cur

def ExecQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()

#查詢完畢后必須關閉連接
self.conn.close()
return resList

def ExecNonQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM