版权声明:& 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模式匹配