Spark實戰練習02--處理分隔符

1、場景

devicestatus.txt 文件包含了來自於不一樣運營商的移動設備的數據,不一樣的數據格式,包括設備ID、當前狀態、位置等等。注意,該文件中的記錄具備不一樣的字段分隔符:一些使用逗號,一些使用管道(|)等等。spa

2、任務

加載數據集
肯定使用哪一個分隔符(提示:位置19中的字符是第一次使用分隔符)
過濾掉不正確解析的記錄(提示:每一個記錄應該有14個值)
提取date(第一個字段)、model(第二個字段)、devive ID(第三字段)、緯度和經度(分別爲1314字段)
第二個字段包含設備製造商和模型名稱(如Ronin S2)。將此字段分割爲分隔制模型 (for example, manufacturer Ronin, model S2.)
code

3、代碼

//1.加載數據,生成RDD

val data=sc.textFile("file:/home/training/training_materials/data/devicestatus.txt")

//2.過濾掉髒數據
val data_filter=data.filter(line => line.length > 20)

//3.不一樣分隔符統一
val mydata2=data_filter.map(line => line.split(line.charAt(19)))

//4.過濾掉不正確解析的記錄
val mydata3=mydata2.filter(line => line.length == 14)

//5.構建格式化數據
val myresult=mydata3.map(line => (line(0),line(1).split(" ")(1),line(2),line(12),line(13)))
相關文章
相關標籤/搜索