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 connectconn = 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 connectclass 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()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. vue實現web在線聊天功能2. JavaEE SpringMyBatis是什么? 它和Hibernate的區別及如何配置MyBatis3. JavaScript實現頁面動態驗證碼的實現示例4. 完美解決vue 中多個echarts圖表自適應的問題5. Java使用Tesseract-Ocr識別數字6. Springboot 全局日期格式化處理的實現7. SpringBoot+TestNG單元測試的實現8. 解決Android Studio 格式化 Format代碼快捷鍵問題9. 在Chrome DevTools中調試JavaScript的實現10. Python使用urlretrieve實現直接遠程下載圖片的示例代碼
