为什么在查询 Impala 数据库时,来自 RODBC 的 sqlQuery 并不总是返回相同的数据?
Why is sqlQuery from RODBC not always returning the same data when querying an Impala DB?
我正在尝试使用 RODBC 包中的 sqlQuery 函数从 Impala 数据库中获取一些数据。从一次执行查询到另一次执行完全相同的查询,我得到的结果发生了变化。
我得到的data.frame并不总是有相同的行数:
library("RODBC")
conn <- odbcConnect("Cloudera Impala DSN;host=mydb;port=21050")
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 26600 220
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 142561 220
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 23500 220
这个查询实际上应该 return 一个 142561 x 220 的数据框。
另一方面,以下查询总是 return 相同(正确)的结果:
sqlQuery(conn, "select count(*) from hydr where flight= 'V0051' ")
count(*)
1 142561
看来我的问题是 Impala 内存不足,无法正常运行。
我正在尝试使用 RODBC 包中的 sqlQuery 函数从 Impala 数据库中获取一些数据。从一次执行查询到另一次执行完全相同的查询,我得到的结果发生了变化。
我得到的data.frame并不总是有相同的行数:
library("RODBC")
conn <- odbcConnect("Cloudera Impala DSN;host=mydb;port=21050")
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 26600 220
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 142561 220
df<-sqlQuery(conn, "select * from hydrau.hydr where flight= 'V0051'")
dim(df)
[1] 23500 220
这个查询实际上应该 return 一个 142561 x 220 的数据框。
另一方面,以下查询总是 return 相同(正确)的结果:
sqlQuery(conn, "select count(*) from hydr where flight= 'V0051' ")
count(*)
1 142561
看来我的问题是 Impala 内存不足,无法正常运行。