天天看点

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