天天看點

presto和druid擷取資料

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()