首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pyhive在python中运行presto查询?

如何使用pyhive在python中运行presto查询?
EN

Stack Overflow用户
提问于 2019-03-27 13:06:25
回答 1查看 5.1K关注 0票数 1

我正在尝试使用pyhive库在python中运行presto查询,但是最大重试错误即将出现。我正在本地的jupyter笔记本(笔记本电脑)中运行它。我认为它无法连接到预置节点。我使用Azure hdinsight集群,并在头节点上安装了预置应用程序(使用星突发分发)。我使用了集群用户名和密码,也尝试过head节点ssh用户和密码,但都没有工作。下面是我的代码:

代码语言:javascript
复制
from pyhive import presto
conn= presto.connect(
    host='clustername-ssh.azurehdinsight.net',
    port=8085,
    username='sshuser'
    password='sshpassword',
    protocol='https'
    ).cursor()
conn.execute('SELECT * FROM hive.default.parquettest limit 1')

我得到的错误是:

ConnectionError: ConnectionError port=8085):最大重试超过url: /v1/语句(由NewConnectionError(':未能建立新连接: Errno 110连接超时‘)引起)

但是,当我在head节点的终端上运行它时,它可以工作:

代码语言:javascript
复制
from pyhive import presto
conn= presto.connect(
    host='localhost',
    port=8085).cursor()
conn.execute('SELECT * FROM hive.default.parquettest limit 1')

我想我错过了一些关键的东西。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2020-06-24 16:52:22

听起来像是权限/身份验证问题。目前,我正在本地机器上使用一个jupyter笔记本,使用prestodb库查询公司的预览群集。

所以基本上:

代码语言:javascript
复制
import prestodb

conn=prestodb.dbapi.connect(
    host='presto.bar.foo.com',
    port=80, user='foo',
    password='bar'
    catalog='hive',
    schema='default',
)

cur = conn.cursor()
cur.execute(
'SELECT * FROM "schema"."db" limit 10')
records = cur.fetchall()
print(records[0])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55377970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档