Scala RDD [String]到RDD [String,String]

use*_*508 1 dictionary scala scala-collections apache-spark rdd

我有一个RDD[String]包含以下数据:

数据格式: ('Movie Name','Actress Name')

('Night of the Demons (2009)  (uncredited)', '"Steff", Stefanie Oxmann Mcgaha')
('The Bad Lieutenant: Port of Call - New Orleans (2009)  (uncredited)', '"Steff", Stefanie Oxmann Mcgaha') 
('"Please Like Me" (2013) {All You Can Eat (#1.4)}', '$haniqua') 
('"Please Like Me" (2013) {French Toast (#1.2)}', '$haniqua') 
('"Please Like Me" (2013) {Horrible Sandwiches (#1.6)}', '$haniqua')
Run Code Online (Sandbox Code Playgroud)

我希望将其转换RDD[String,String]为第一个元素,这' '将是我在RDD中的第一个字符串,其中的第二个元素' '将是我在RDD中的第二个字符串.

我试过这个:

val rdd1 = sc.textFile("/home/user1/Documents/TestingScala/actress"
val splitRdd = rdd1.map( line => line.split(",") )
splitRdd.foreach(println)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:

[Ljava.lang.String;@7741fb9
[Ljava.lang.String;@225f63a5
[Ljava.lang.String;@63640bc4
[Ljava.lang.String;@1354c1de
Run Code Online (Sandbox Code Playgroud)

bob*_*bob 5

[Ljava.lang.String;@7741fb9 不是错误,当您尝试打印数组时,会打印wt.

[ - 一维数组

L - 数组包含类或接口

java.lang.String - 数组中的对象类型

@ - 将字符串连接在一起

7741fb9 对象的哈希码.

要打印,String array您可以尝试以下代码:

import scala.runtime.ScalaRunTime._
splitRdd.foreach(array => println(stringOf(array)))
Run Code Online (Sandbox Code Playgroud)

资源