Python鏈接presto

若是要使用Python來鏈接Presto,就須要相關的驅動包。
目前發現有兩個驅動包,分別是:
pyhive : https://github.com/dropbox/PyHive
presto-python-client : https://github.com/prestodb/presto-python-client
其中第二個是Presto官方本身弄的,不過使用率沒有pyhive高。在Superset中也是用pyhive來鏈接的,並且pyhive能夠集成到sqlalchemy裏,從而無縫地銜接pandas。python

下面就簡單介紹一下怎麼用pyhive來鏈接presto。
sqlalchemy提供了一個統一的鏈接方式,很是
pyhive實質是安裝了一個驅動,因此任何python裏能建立通常化的數據庫鏈接的模塊均可以用來建立Presto鏈接。
安裝pyhive後,就能夠執行下面的代碼。git

from sqlalchemy import *
from sqlalchemy.engine import create_engine
from sqlalchemy.schema import *
import pandas as pd
# Presto
engine = create_engine('presto://host:port/hive/my_schema')  # host是服務器ip,port是端口,hive指的是Presto的catalog,my_schema是hive的schema。
df = pd.read_sql("select * from test",engine) # 和通常pandas從數據庫中讀取數據無任何區別,分析師們應該很是熟悉了。
print(df)
相關文章
相關標籤/搜索