Ciao ho un dataframe cui ho bisogno per convertire in JavaRDD e di nuovo a dataframe Ho il seguente codiceSpark dataframe creato da JavaRDD <Row> copia tutti i dati delle colonne in prima colonna
DataFrame sourceFrame = hiveContext.read().format("orc").load("/path/to/orc/file");
//I do order by in above sourceFrame and then I convert it into JavaRDD
JavaRDD<Row> modifiedRDD = sourceFrame.toJavaRDD().map(new Function<Row,Row>({
public Row call(Row row) throws Exception {
if(row != null) {
//updated row by creating new Row
return RowFactory.create(updateRow);
}
return null;
});
//now I convert above JavaRDD<Row> into DataFrame using the following
DataFrame modifiedFrame = sqlContext.createDataFrame(modifiedRDD,schema);
sourceFrame
e modifiedFrame
schema è lo stesso quando chiamo l'output sourceFrame.show()
vedo che ogni colonna ha i valori corrispondenti e nessuna colonna è vuota ma quando chiamo modifiedFrame.show()
vedo tutti i valori delle colonne vengono uniti nel valore della prima colonna per es. assumere fonte dataframe ha 3 colonna come mostrato di seguito
_col1 _col2 _col3
ABC 10 DEF
GHI 20 JKL
Quando stampo modifiedFrame che ho convertito da JavaRDD si vede nel seguente ordine
_col1 _col2 _col3
ABC,10,DEF
GHI,20,JKL
Come mostrato soprattutto la _col1 offre tutti i valori e _col2 e _col3 è vuoto. Non so cosa stia facendo, per favore, guida Sono nuovo a Spark grazie in anticipo.
qual è la variabile updateRow esattamente? –
Aggiornare Row convertendo l'oggetto Row nell'elenco di oggetti java collection e quindi aggiornando un valore di campo e quindi restituendo quell'elenco come parte di RowFactory.create – u449355