Problema
È possibile eseguire query SQL su un .xdf in RevoR di lettura e l'esecuzione di SQL all'interno di RevoR?
Soluzione
Non è possibile eseguire SQL nella lettura di file .xdf, ovvero un file binario che contiene i dati e non un database. Ciò consente di operare con tali dati di grandi dimensioni è che è possibile leggere "blocchi" di .xdf e che consentono di sfruttare le risorse disco oltre alle risorse di memoria e consente di modificare i dati di grandi dimensioni.
Opzioni-
Poiché il file xdf viene creato da RevoR, è possibile eseguire sui dati SQL quando arrivano in RevoR mediante l'aggiunta di una query SQL per RxOdbcData. Un esempio sarebbe come:
Foo <-RxOdbcData (nome SQLQuery al = "SELECT * da foo_database",
connectionString = connectionString)
Ovviamente è necessario disporre di una connessione ODBC valida. Guida all'importazione ODBC RevoScaleR dispone di informazioni su questo argomento.
Un'altra opzione consiste nell'utilizzare rxDataStep per trasformare i dati di xdf in un dataframe. Un dataframe deve essere mantenuto in memoria in modo che questo potrebbe non essere un'opzione se si dispongono di file di grandi .xdf. È quindi possibile utilizzare un pacchetto Open Source chiamato sqldf che consente di utilizzare SQL seleziona su dataframes.