在 R 中使用 rimpala 将插入插入到查询中
Posted
技术标签:
【中文标题】在 R 中使用 rimpala 将插入插入到查询中【英文标题】:Forming insert into query using rimpala in R 【发布时间】:2014-08-21 15:34:35 【问题描述】:我正在尝试使用rimpala.query()
函数通过R
对impala 表执行insert into
查询,但我收到错误消息。我正在执行的查询是:
for(x in nrow)
rite <- paste("INSERT INTO table1 (account_no, data_id, date_id, industry_no, sales_no, sales) VALUES (1445367,",data_frame1$data_id[x] ,",25,11346,23,", data_frame1$sales[x], ")",sep="")
sql <- rimpala.query(rite);
其中data_frame1
是具有一堆行的数据框,nrow
是data_frame1
中的行数。第一个insert into
语句执行并将第一个数据插入到数据库中,但它在执行后抛出一个错误
Error in rimpala.query(sql) : SQL error Error: The query did not generate a result set!
如何消除此错误?
【问题讨论】:
我不熟悉impala
,但似乎您需要使用paste0
可能吗?比如:sql <- rimpala.query(paste0("INSERT INTO table1 (account_no, data_id, date_id, industry_no, sales_no, sales) VALUES (1445367,",data_frame1$data_id[x] ,",25,11346,23,", data_frame1$sales[x], ")"))
@DavidArenburg 我执行了你提到的查询,但它给出的错误是:SQL error Error: The query did not generate a result set
那么您的sql
代码中可能有错误。它看起来不像是 R 问题
可能是什么错误?相同的 sql 语句在 postgrsql 上运行良好。
SQL 没问题。问题出在驱动程序上。见下文。
【参考方案1】:
错误出现在RImpala 客户端,它使用executeQuery 运行所有查询,甚至是那些修改状态的查询。他们应该将executeUpdate 用于 DDL 和 INSERT、UPDATE 或 DELETE 查询。我已经在上游为您提交了issue。
【讨论】:
感谢上游。我希望这个问题能尽快得到解决,因为我有点迫切需要它 这还有效吗?用 rImpala 做一个insert
会很有帮助以上是关于在 R 中使用 rimpala 将插入插入到查询中的主要内容,如果未能解决你的问题,请参考以下文章
如何在一个脚本中使用 R 将 SQL 查询中的数据插入到单独的 SQL 查询中?
如何使用 Microsoft Visual Studio 将查询插入到 C# 中的另一个查询中?
如何将额外元素插入到 SimpleCursorAdapter 或 Spinner 的光标中?
R markdown:我可以将pdf作为图像插入到r markdown文件中吗?