scala / spark:读入RDD [(String,Int)]

时间:2017-09-22 01:27:06

标签: scala apache-spark

我有以下文本文件(以前从RDD [(String,Int)]输出)

(ARCHITECTURE,50)
(BUSINESS,17)
(CHEMICAL ENGINEERING,6)
(CHILD DEVELOPMENT,43)
(CIVIL ENGINEERING,26)
 etc

我可以像这样读取RDD [String]:

 spark.sparkContext.textFile(path + s"$path\\${fileName}_labelNames")

但我如何读入RDD [String,Int]?有可能吗?

EDITED: 修复了上面RDD类型中的错误

1 个答案:

答案 0 :(得分:3)

没有RDD[String, Int],这是非法的。

也许你的意思是RDD[(String, Int)]

以下是如何根据原始数据对其进行转换。

val data = original.map { record =>
      val a = record.stripPrefix("(").stripSuffix(")").split(",")
      val k = a(0)
      val v = a(1).toInt
      (k, v)
    }

当您从源中读取时,原始变量的类型为RDD[String]