2016-09-27 102 views
2

我是新来scala..I要的是有可能解读为INT RDD而不是字符串知道与火花斯卡拉处理大数据集时RDD转换字符串RDD为Int RDD

我尝试以下:

val intArr = sc 
       .textFile("Downloads/data/train.csv") 
       .map(line=>line.split(",")) 
       .map(_.toInt) 

但我得到的错误:

error: value toInt is not a member of Array[String]

我需要转换为INT RDD因为下了线我需要做下面的

val vectors = intArr.map(p => Vectors.dense(p)) 

需要类型为整数

任何形式的帮助是真正appreciated..thanks提前

回答

2

据我了解,一个行应该创建一个矢量,所以它应该是这样:

val result = sc 
      .textFile("Downloads/data/train.csv") 
      .map(line => line.split(",")) 
      .map(numbers => Vectors.dense(numbers.map(_.toInt))) 

numbers.map(_.toInt)将阵列为int的每个元素映射,所以结果类型将是Array[Int]

+0

由于一个LO牛逼!工作.. – sivagama

+0

@sivagama请接受这是正确的答案。 – asgs

相关问题