2017-03-26 9 views
0

に別のRDDに基づくRDDをフィルターI持っているこのRDDの私はフィルタリングすると、それは次のように見えること:スパーク

End of field Start of field Connection duration 
:私はこのようなことを最初の6行をフィルタリングしたい

text (06.07.03.216) COPYRIGHT © skdjh 2000-2015 
File 160614_54554.vf Database 53643_csc Interface 574 zn 65 
Start Date 14/06/2016 00:00:00:000 
End Date 14/06/2016 00:14:59:999 
State "S587654" 

End of field Start of field Connection duration 

これを達成するための最も効率的な方法は何ですか?私は考えました。 オプション1:この行 これを行うための最善の方法は何をフィルタリングすることができる関数を作成:新しいRDDは、この行が含まれ、それらは は、オプション2の参加を持つフィルタを作成? ありがとう!

+0

あなたはより具体的な例を提供することができます...私は彼ら(最初の6行)を必要といけないラインを持っているファイルを持っている...あなたがここに欲しいもの –

答えて

2

私はちょうど最初のnラインを取り除くために考えることができる唯一の方法はこれです:パージ最初nエントリバックRDD[String]にあなたを取得する必要があります

data.zipWithIndex.filter(_._2 > n).map(_._1)

一般的にdropであることを避ける方法を探すことが好ましいですが、RDDにあります。

+0

次ではないので、私はフィルタリングしますそれら。別の方法は、行番号7からこのファイルを読み始める方法(申し訳ありません私の英語は十分ではなく、私はスパークで初心者です) –

+0

更新を追加しました。 – Vidya

+0

あなたの答えに感謝します。他のrddを使ってこのrddをフィルタリングしてもいいですか? ありがとう –