spark编程笔记wholeTextFiles使用\n作为分隔符

版权声明:& https://blog.csdn.net/qq_16760101/article/details/84315646

一、使用wholeTextFiles使用\n作为分隔符时问题

wordcount.txt(文件中没有多余空格&\n):

hadoop
hbase
spark

执行的spark程序:

val word=sc.wholeTextFiles("E:\\new 1.txt")
word.flatMap(_._2.split("\n")) .map(x=>(x,1)).foreach(println(_))

输出为:

 ,1)
 ,1)
 (spark,1)

解决方法:突然想到回车为\r\n,因此使用\r\n作为分隔符即可。

二、spark程序去除源文件第一行字段名称:

val header=files.first()
val file=files.filter(x=>x!=header)
val splitFile = file.map(x => x.split(" ")).filter(arr => arr.length == 3)

三、scala的异常处理

try{
 println("daydayup")
}catch{
 case ex: FileAlreadyExistsException => println(路径已存在")
 case ex: Throwable => println("未知错误" + ex)
}

处理异常需要使用case模式匹配

猜你喜欢

转载自blog.csdn.net/qq_16760101/article/details/84315646