2017-06-27 3 views
0

I ersten 5 Zeilen zu einer hdfs Datei durch Funken Codeschreiben ersten 5 Zeilen in hdfs durch Funken Datei

sc.textFile("hdfs://localhost:8020/user/hadoop/data-master/retail_db/products/part-00000").map(rec => (rec.split(",")(4).toDouble, rec)).sortByKey(false).map(_._2) 

Hier verwenden wir können saveAsTextFile API schreiben wollen, aber es ist eine Aktion, während wir Reihen begrenzen müssen durch Transformationen.

+0

ich den Verdacht, dass dies bereits hier beantwortet wurde: https://stackoverflow.com/questions/34206508/is-there-a-way-to-take-the-first-1000-rows-of- a-Funke-Datenrahmen –

+2

Mögliches Duplikat [gibt es eine Möglichkeit, die ersten 1000 Zeilen eines spark-Datenrahmen zu nehmen?] (https://stackoverflow.com/questions/34206508/is-there-a-way-to-take - der erste-1000-Zeilen-von-einem-Funken-Datenrahmen –

Antwort

0

Sie limit Funktion können Sie erhalten ausgewählte n ersten Reihen

def limit(n: Int): Dataset[T] 

Gibt einen neuen Datensatz durch die ersten n Zeilen nehmen. Der Unterschied zwischen dieser Funktion und Kopf ist, dass der Kopf eine Aktion und kehrt ein Array (durch Auslösen der Ausführung der Abfrage), während eine neue Grenze Datensatz zurückgibt.

yourDF.limit(5) // takes the first 5 rows 

Wenn Sie die ersten 5 Zeilen als Array nehmen wollen, dann können Sie take Funktion

yourDF.take(5) 

this helps nutzen!