Ich benutze SparkR auf R Studio Server. Nach dem Erstellen eines sqlContext habe ich einige Tabellen in sparkR bearbeitet und bin mit der finalen Tabelle von 2,2 Millionen Datensätzen geblieben, die ich in einen R data.frame umwandeln wollte, um Regressionsmodelle mit R-Funktionen zu entwickeln. Der Code "as.data.frame (finaltable)" wird jedoch aufgrund von Speicherproblemen auch nach 2 Stunden nie ausgeführt.Konvertierung zu R data.frame von SparkR Dataframe ist nie für 2 Millionen Datensätze abgeschlossen
library(SparkR)
sc <- sparkR.init(master="yarn-client", sparkEnvir = list(spark.yarn.keytab="/home/teja_kolli/teja_kolli.keytab" , spark.yarn.principal="[email protected]",spark.driver.memory="4g"))
sqlContext <- sparkRSQL.init(sc)
customer_activity_bookings <- parquetFile(sqlContext, "s3a:/parquet/customer_activity_bookings/.parquet")
registerTempTable(customer_activity_bookings, "customer_activity_bookings")
ich in ähnlicher Weise einige 4 Tabellen und machen eine weitere Verarbeitung an die untenstehende Tabelle T3 zu gelangen, die
t3 <- sql(sqlContext,
"select a.visitor_id,a.timestamp,a.sort_number,a.property_id,a.brand_name,a.distance_value,a.guest_recommends,a.guest_reviews,a.min_avg_nightly_before_tax,a.rating_value,
a.relevance,a.relevance_distance_index,a.relevance_rate_index,a.relevance_rating_index,a.hotel_selection_type,a.pid,c.p_key,c.sum_key
from t1 a left outer join t2 c on a.visitor_id = c.visitor_id and a.timestamp = c.timestamp where c.p_key=1 and sum_key=1")
**modeldata1<-as.data.frame(t3)**
Die obige as.data.frame rund 2,2 Millionen Datensätze hat so lange dauert (zu laufen "Ich habe keinen Java Heap Space Fehler mehr im Speicher". In der sparkR.init Verbindung ging ich bis zu (memory = "4g") und kann aufgrund von Speicherbeschränkungen nicht weiter gehen.)
Gibt es irgendwelche Arbeiten um zu bringe diese finale Tabelle von 2,2 Millionen Datensätzen in R, damit ich R-Funktionen nutzen kann, librar ies und Befehle?