Pyhive Presto вставка выберите * из не работает - PullRequest
0 голосов
/ 28 сентября 2019

Я могу использовать PYHIVE для подключения к PRESTO и выбора данных обратно.Я пытаюсь использовать PYHIVE для запуска «вставить в x выберите из y» на Presto, и он не работает.Я уверен, что мне не хватает чего-то простого.

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,)] [(0,)]

Любыепомощь очень ценится.

1 Ответ

0 голосов
/ 28 сентября 2019

Вам нужно проверить (получить) результат в

query='insert into flowersc.date_dim select * from dim.date_dim'
cursor.execute(query).fetchall() # added .fetchall()

Это необходимо из-за изменений в Presto в мае 2018 года (https://github.com/prestosql/presto/commit/568449b8d058ed8281cc5277bb53902fd044cad7).). Но это также хорошая практика для проверки результатов запроса., т.е. убедитесь, что ваш оператор INSERT успешно выполнен.

...