presto支持jdbc驱动连接,从外表来看,和一般的关系型数据库连接相似。
目前发现有两个包支持直接使用,分别是:
pyhive : https://github.com/dropbox/PyHive
presto-python-client : https://github.com/prestodb/presto-python-client
其中第二个是官方自己弄的,不过看起来使用率没有第一个高。在superset中也是用pyhive来连接的。
所以只说一下怎么用pyhive来连接presto。
pyhive实质是安装了一个驱动,所以任何python里能创建一般化的数据库连接的模块都可以用来创建presto连接,下面是来自官方的例子
from sqlalchemy import * from sqlalchemy.engine import create_engine from sqlalchemy.schema import * # Presto engine = create_engine('presto://localhost:8080/hive/default') # 只需要简单地改一下所用的方言。需要说明的是,这里的hive指的是catalog,default是schema,因为presto的构造与MySQL稍有不一样 # Hive engine = create_engine('hive://localhost:10000/default') logs = Table('my_awesome_data', MetaData(bind=engine), autoload=True) print select([func.count('*')], from_obj=logs).scalar()
如对本文有疑问, 点击进行留言回复!!
去 HBase,Kylin on Parquet 性能表现如何?
如何找到Hive提交的SQL相对应的Yarn程序的applicationId
如何在 HBase Shell 命令行正常查看十六进制编码的中文?哈哈~
网友评论