Scala> val custdata = sc.textFile("file:///stage/Sales/lego/test/new/spark_test/testing1.csv")
custdata: org.apache.spark.rdd.RDD[String] = file:///stage/Sales/lego/test/new/spark_test/testing1.csv MapPartitionsRDD[8] at textFile at <console>:27
scala> custdata.collect
res3: Array[String] = Array(1,111,1000, 1,222,2000, 2,222,15000, 3,111,4500, 4,333,1200, 2,333,1000, 4,444,2000)
scala> val data= custdata.map(x=> { val b = x.split(",")})
data: org.apache.spark.rdd.RDD[Unit] = MapPartitionsRDD[9] at map at <console>:29
scala> data.collect
res4: Array[Unit] = Array((), (), (), (), (), (), ())
火花斯卡拉疑问:由于val b
,我无法得到结果?伙计们,您能帮我吗
答案 0 :(得分:4)
如果只想返回b,则不会在custdata.map(x=> { val b = x.split(",")})
中返回任何值,您可以将其替换为custdata.map(x=> { val b = x.split(",");b})
或custdata.map(x=> { x.split(",")})
甚至更好(如@joelb在注释中正确指出的那样) )custdata.map(_.split(","))