apache druid和presto用于大資料處理,都借助記憶體處理大資料的聚合統計,支援python
1.druid讀取資料的python代碼:使用pydruid
from pydruid.db import connect
query = connect(host='ip', port=8888, path='/druid/v2/sql/', scheme='http')
#可以有where條件過濾任務的狀态或id
sql = "SELECT task_id,status,datasource,duration FROM sys.tasks"
curs = query.cursor()
curs.execute(str(sql))
#可循環curs擷取結果
print(curs)
2.presto可以用pyhive或prestdb,測試是prestodb性能穩定,pyhive有秒級逾時,包括使用了pyhive方式連接配接presto資料庫的superset也存在耗時問題:
(1)連接配接mysql
在presto的etc/catalgo裡建立屬性檔案,.properties字尾:
connector.name=mysql
connection-url=jdbc:mysql://ip:端口
connection-user=mysql 登入使用者
connection-password=mysql密碼
prestodb庫代碼:
import prestodb
conn=prestodb.dbapi.connect(
host='ip',
port=8080, #端口
user='mysql資料庫連接配接使用者名,在properties檔案裡有配置connection-user',
catalog='屬性檔案名,不帶字尾',
schema='資料庫名稱',
)
cur = conn.cursor()