我有以下文本文件(以前从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类型中的错误
答案 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]
。