2017-06-27 3 views
0

てファイル私たちはsaveAsTextFile APIを使用することができます。ここHDFSに最初の5行を書くスパーク

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) 

スパークコードをHDFSファイルに最初の5行を書きたい、しかし、我々は、行を制限する必要がありながら、それは行動です変換を通じて。

+0

私は疑問に思っています。これは既にここで解決済みです:https://stackoverflow.com/questions/34206508/is-there-a-way-to-take-the-first-1000-rows-of- a-spark-dataframe –

+2

[Spark Dataframeの最初の1000行を取得する方法はありますか?](https://stackoverflow.com/questions/34206508/is-there-a-way-to-take - 最初の1000行のスパークデータフレーム) –

答えて

0

あなたは最初のn行を取ることによって、新しいデータセットを返します

limit機能選択を取得するn個の第1行

def limit(n: Int): Dataset[T] 
を使用することができます。この関数とheadの違いは です.headはアクションであり、 (クエリの実行をトリガすることによって)配列を返しますが、limitは新しい Datasetを返します。

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

あなたは配列として最初の5行をしたいなら、あなたは

yourDF.take(5) 

は、この情報がお役に立てば幸いtake機能を使用することができます!

関連する問題