我可以使用PYHIVE连接到PRESTO并选择data back。我试图使用PYHIVE在presto上运行"insert into x select from y“,但它没有运行。我确信我错过了一些简单的东西。
from pyhive import presto
import requests
from requests.auth import HTTPBasicAuth
import pandas as pd
req_kw = {'auth': HTTPBasicAuth(user, pw),'verify':False}
conn = presto.connect(host=ht,port=prt,protocol='https',catalog='hive',username=user,requests_kwargs=req_kw)
cursor = conn.cursor()
query='select count(1) from dim.date_dim '
cursor.execute(query)
print(cursor.fetchall())
query='insert into flowersc.date_dim select * from dim.date_dim'
cursor.execute(query)
query='select count(1) from flowersc.date_dim '
cursor.execute(query)
print(cursor.fetchall())未出现任何错误
但结果显示未加载任何数据
(16624,)
任何帮助都是非常感谢的。
发布于 2019-09-28 13:45:41
你需要检查(抓取)结果
query='insert into flowersc.date_dim select * from dim.date_dim'
cursor.execute(query).next() # added .next()这是由于2018年5月Presto (https://github.com/prestosql/presto/commit/568449b8d058ed8281cc5277bb53902fd044cad7)的变化而需要的。但验证查询结果也是一种很好的做法,即检查INSERT语句是否成功。
https://stackoverflow.com/questions/58141882
复制相似问题