1

我正在测试配置单元表和熊猫之间的读写操作。

我可以使用下面的代码成功地从 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
4

0 回答 0