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