Я тестирую операции чтения и записи между таблицей улья и пандами.
Я могу успешно прочитать данные из улья в панду, используя приведенный ниже код.
from impala.dbapi import connect
import pandas as pd
conn = connect(host='myhostaddress',port=21050,kerberos_service_name='impala',
auth_mechanism='GSSAPI',use_ssl=True,
ca_cert='/opt/cloudera/...pem',
database='mydb'
)
cursor = conn.cursor()
df = pd.read_sql('select * from my_table',con=conn)
Я могу читать таблицу от улья до панды.
Теперь пытаемся записать простой pandas df в таблицу улья, используя приведенный ниже код.
test_df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
test_df.to_sql('test_table',con=conn)
Но я получаю сообщение об ошибке
DatabaseErrorTraceback (most recent call last)
<ipython-input-24-967eed4bac18> in<module>()
----> 1 test_df.to_sql('test_table',con=conn)
....
....
DatabaseError: Execution failed on sql: SELECT name FROM sqlite_master WHERE type='table' AND name=?;
AnalysisException: Could not resolve table reference: 'sqlite_master'<br>
unable to rollback