Python 链接 presto

目录

链接presto 需要安装以下模块

问题

解决


Anaconda 3.x 、Python3.x

链接presto 需要安装以下模块

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 命令

 

你可能感兴趣的:(Python)