Python如何连接SSL的Presto


Python如何连接SSL的Presto?
并将查询结果转为pandas dataFrame格式?

不加SSL的网上示例很多,但需要SSL参数的找很久没找到,这里解决了,贡献一下代码示例。

1
2
3
import pandas as pd
from sqlalchemy.engine import create_engine
from pyhive import presto

sqlalchemy方式

1
2
3
4
5
6
7
8
9
10
11
database_username = "bd-user"
database_password = "xxxxxx"
engine = create_engine(
'presto://bd-user@presto.bi.cn/hive/dwd',
connect_args={
'protocol': 'https',
'requests_kwargs':{'auth': HTTPBasicAuth(database_username,database_password), 'verify':False}
}
)
df_train = pd.read_sql("select syscode,diffday from dwd.demandsdeliverycycle_result WHERE diffday >= -30 and created_time >= '2020-01-01'",engine)
print(df_train.head(10))

pyhive方式

1
2
3
4
5
6
7
8
9
10
cursor = presto.connect(host="presto.bi.cn", port="443",
schema="dwd", catalog='hive', protocol="https",
username=database_username, password=database_password,
requests_kwargs={'verify': False}).cursor()
cursor.execute("select syscode,diffday from dwd.demandsdeliverycycle_result WHERE diffday >= -30 and created_time >= '2020-01-01'")
data = cursor.fetchall()
columnDes = cursor.description
columnNames = [columnDes[i][0] for i in range(len(columnDes))]
df_train = pd.DataFrame(data,columns=columnNames)
print(df_train.head(10))

参考链接:https://github.com/dropbox/PyHive#sqlalchemy


文章作者: KavenRan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 KavenRan !
 上一篇
Keycloak Docker镜像安装与Springboot集成使用入门 Keycloak Docker镜像安装与Springboot集成使用入门
Docker镜像安装Keycloak 官方入门文档:https://www.keycloak.org/docs/latest/getting_started/ 1.安装mysql拉取镜像docker pull mysql:5.7 内网仓
2020-04-24
下一篇 
IPD管理体系知识理解 IPD管理体系知识理解
集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。源于美国PRTM公司出版的《产品及生命周期优化法》一书。最具有代表实践者有IBM和华为。 IPD 架构与核心内
2020-02-11
  目录