だから、私は大きなデータセットを持っています。これは、stackoverflowユーザベースのサンプルです。次のようにこのデータセットから1行がある:Scala/SparkでRDDからデータを取り出す
<row Id="42" Reputation="11849" CreationDate="2008-08-01T13:00:11.640" DisplayName="Coincoin" LastAccessDate="2014-01-18T20:32:32.443" WebsiteUrl="" Location="Montreal, Canada" AboutMe="A guy with the attention span of a dead goldfish who has been having a blast in the industry for more than 10 years.

Mostly specialized in game and graphics programming, from custom software 3D renderers to accelerated hardware pipeline programming." Views="648" UpVotes="337" DownVotes="40" Age="35" AccountId="33" />
私はそれが「35」私は希望であることが、この例では、「11849」で、年齢から数この場合には、評判から番号を抽出したいと思いますそれらをフロートとして持つのが好きです。ファイルはHDFSに位置しています
ので、それは私が引用して、それを分割するときに評判がインデックス23でインデックス3と年齢であるマークが、どのように私はこれらを割り当てない
val linesWithAge = lines.filter(line => line.contains("Age=")) //This is filtering data which doesnt have age
val repSplit = linesWithAge.flatMap(line => line.split("\"")) //Here I am trying to split the data where there is a "
RDD
形式で提供されます私は浮動小数点としてそれらを使用することができますマップまたは変数に。 また、RDDのすべての回線でこれを行う必要があります。EDIT:
val linesWithAge = lines.filter(line => line.contains("Age=")) //transformations from the original input data
val repSplit = linesWithAge.flatMap(line => line.split("\""))
val withIndex = repSplit.zipWithIndex
val indexKey = withIndex.map{case (k,v) => (v,k)}
val b = indexKey.lookup(3)
println(b)
だから、配列にインデックスを追加して、今、私は変数に代入することに成功し管理しているが、私は唯一のRDDに一つの項目にそれを行うことができ、誰もが知っていなければ私はどのようにすべての項目にそれを行うことができますか?
あなたは 'map'関数を探しています。クイック検索でこのサンプルが表示されました:http://backtobazics.com/big-data/spark/apache-spark-map-example/ – maasg
マップ関数はどの関数をパラメータとして使用しますか?データセットの各行について、3と23でインデックスを収集したいと思います。すでにmap関数を使ってみたので、例を挙げてください。 –
配列をとり、2つの数値のタプルを生成する関数です。 'f:Array [String] =>(Int、Int)'おそらくあなたはそれを試すことができますか?あなたはまだそれを行う方法がわからない場合は、多くの学習リソースがあります。 – maasg