目录
链接presto 需要安装以下模块
问题
解决
Anaconda 3.x 、Python3.x
conda install sasl
conda install thrift
conda install thrift-sasl
conda install PyHive
from sqlalchemy import *
from sqlalchemy.engine import create_engine
from sqlalchemy.schema import *
import pandas as pd
class Main():
def __init__(self):
pass
def test_presto_connect(self):
# Presto
# host是服务器ip,port是端口,hive指的是Presto的catalog,my_schema是hive的schema。
engine = create_engine('presto://ip:port/hive/parquet')
print(engine)
# 和一般pandas从数据库中读取数据无任何区别,分析师们应该非常熟悉了。
df = pd.read_sql("select * from table_name limit 10", engine)
print(df)
def test_presto_connect1(self):
conn = prestodb.dbapi.connect(
host='ip',
port=port,
user='root',
catalog='hive',
schema='parquet'
)
cur = conn.cursor()
cur.execute("select * from table_name limit 10")
rows = cur.fetchall()
print(rows)
if __name__ == '__main__':
m = Main()
m.test_presto_connect1()
使用 conda 安装某个模块出现错误: 目标服务器积极拒绝 等问题
1、conda换源,需要分别测试
conda添加国内源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes
conda换回默认源
conda config --remove-key channels
2、可以关闭代理试下,或者 可以在Anaconda Prompt 使用 Python的 pip install 命令