2017-10-10 1 views
0

私はScalaを初めて使用しています。私はArray [Array [String]]というRDDを持っています。私は最初の要素(ipaddress)と各内部配列(タイムスタンプ)の4番目の要素を抽出する必要があります。 Thowさん「/」と「[」を交換し、2を連結した文字列を作るので、私はいくつかのに必要スカラ - ネストされたスティングの配列から複数の要素を抽出して連結する

217.150.149.167/15/Sep/2013:23:56:06 
104.184.210.93/15/Sep/2013:23:42:53 
37.91.137.134/15/Sep/2013:23:39:33 

:私は結果をする必要が

results: Array[Array[String]] = 
Array 
(Array(217.150.149.167, -, 4712, [15/Sep/2013:23:56:06, +0100], "GET, /ronin_s4.jpg), 
Array(104.184.210.93, -, 28402, [15/Sep/2013:23:42:53, +0100], "GET, /titanic_2200.jpg), 
Array(37.91.137.134, -, 36171, [15/Sep/2013:23:39:33, +0100], "GET, /ronin_novelty_note_3.jpg) 
) 

:サンプルレコードは次のようになりelemeents。どんなアイデアも大いに訴えられるでしょう。

+0

この状態形式でArray[String]を返すのだろうか?どこにこだわっていますか? – jwvh

+0

最初の要素と4要素をseparetlyで抽出できます。val IPaddress = results.flatMap(_。headOption) val results2 = inputJPG.flatMap(x => x.split( "")) val Timestamp = results2 .filter(x => x.contains( "[")) – Rachel

答えて

0
results.map { arr => { arr(0) + "/" + arr(3).replace("[", "").replace("]","") }} 

これは、あなたがこれまでに試してみました何

+0

scala> results.flatMap { | _.map { | nestedArr => nestedArr(0)+ nestedArr(3).replace( "["、 "").replace( "]"、 "") | } | } :エラー:値replaceは、文字 のメンバーではありません。nestedArr => nestedArr(0)+ nestedArr(3).replace( "["、 "").replace( "]"、 "") ^ :31:エラー:タイプの不一致。 found:配列[なし] 必須:TraversableOnce [?] _.map { ^ – Rachel

+1

パーフェクト!ありがとうございました! – Rachel

関連する問題