2016-05-26 5 views
1

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 
+0

Verwenden Sie 32bit oder 64bit ODBC? –

+0

@GeorgeDontas 64bit – mdebbiche

+0

Haben Sie versucht, das 'believeNRows' Argument auf' FALSE' zu setzen? – eminik

Antwort

0

Es ist mein Problem, dass Impala war scheint nicht genügend Speicher hat eine gute Leistung.

Verwandte Themen