我從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圖。 –