我正在尝试将我的数据框中的记录插入到存储在 Hive 集群上的现有表中。我无法使用 sqlalchemy 引擎,因为我使用的是 JDBC 连接。
我的代码是:
cursor = conn.cursor()
engine = sqlalchemy.create_engine('driver://', creator=conn)
dff = pd.DataFrame([[1, 2], ['process 1', 'process 2']], columns=['id', 'description'])
sql_query = "INSERT INTO default.my_table SELECT * FROM {0}".format(dff)
#dff.to_sql(name='my_table', schema='default', con=engine.connect(), if_exists='append')#I also tried this but it gives me error: 'Connection' object is not callable
cursor.execute(sql_query)
我更喜欢用户 INSERT INTO SELECT 因为 INSERT INTO VALUES 因为我的数据中的模式可以在未来改变,并且有了这种依赖关系,我只需要更改我的数据库表。
使用我当前的代码,我得到了这个:
CAUSED BY: Exception: Syntax error
我该如何解决我的问题?