Sto conducendo Spark su YARN di Hadoop. Come funziona questa conversione? Un collect () ha luogo prima della conversione?
Inoltre ho bisogno di installare Python e R su ogni nodo slave affinché la conversione funzioni? Sto faticando a trovare documentazione su questo.
I dati devono essere raccolti prima che il data frame locale venga creato. Ad esempio, il metodo toPandas
presenta come segue:
def toPandas(self): import pandas as pd return pd.DataFrame.from_records(self.collect(), columns=self.columns)
Hai bisogno di Python, in modo ottimale con tutte le dipendenze, installato su ciascun nodo.
La controparte di SparkR ( as.data.frame
) è semplicemente un alias da collect
.
Per riassumere in entrambi i casi i dati vengono collected
sul nodo driver e convertiti nella struttura dati locale ( pandas.DataFrame
e base::data.frame
in Python e R).