我正在测试配置单元表和熊猫之间的读写操作。
我可以使用下面的代码成功地从 hive 读取到 pandas 数据框。
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)
我能够读取从 hive 到 pandas df 的表格。
现在尝试使用以下代码编写一个简单的 pandas df 到 hive 表。
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