Ich versuche, einige Daten aus einer Impala-Datenbank mit der sqlQuery-Funktion aus dem RODBC-Paket zu erhalten. Die Ergebnisse, die ich erhalte, ändern sich von einer Ausführung einer Abfrage zu einer anderen Ausführung derselben Abfrage.Warum gibt sqlQuery von RODBC beim Abfragen einer Impala-Datenbank nicht immer dieselben Daten zurück?
Die data.frame ich nicht bekommen immer die gleiche Anzahl von Zeilen haben:
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
Diese Abfrage sollte in der Tat eine 142.561 x 220 Datenrahmen zurück.
Auf der anderen Seite, die folgende Abfrage immer gibt das gleiche (korrektes) Ergebnis:
sqlQuery(conn, "select count(*) from hydr where flight= 'V0051' ")
count(*)
1 142561
Verwenden Sie 32bit oder 64bit ODBC? –
@GeorgeDontas 64bit – mdebbiche
Haben Sie versucht, das 'believeNRows' Argument auf' FALSE' zu setzen? – eminik