我从csv文件中加载了一个RDD
。但是,该文件包含无效数据。所以,当我试图输出这个RDD
与first
的联系人。唯一的例外是如何删除RDD中的所有记录,包括null?
产生的原因:java.lang.NumberFormatException:空字符串
我希望找到解决办法来去除RDD
的所有记录,当一个记录包括空字符串。另外,这个RDD
包含很多领域,所以很难一一处理每个领域。我记得DataFrame
有这样的功能,比如na.drop()
。我需要这种功能适用于RDD
。
我使用的代码是这样的:
//using case class
case class Flight(dest_id:Long, dest:String, crsdeptime:Double, deptime:Double, depdelaymins:Double, crsarrtime:Double)
//defining function
def parseFlight(str: String): Flight = {
val line = str.split(",")
Flight(line(0), line(1), line(2), line(3), line(4).toInt, line(5).toLong)
}
//loading data
val textRDD = sc.textFile("/root/data/data.csv")
val flightsRDD = textRDD.map(parseFlight)
更新
当我使用RDD通过DateFrame转换。我发现RDD的每一行都是Row对象。如何提取一行的某些字段来构建Edge对象?
为什么只有RDD?为什么不是数据框? – mrsrinivas
我正在建立RDD图。 –