对于上述所有的make的细节,我们不但可以利用make这个工具来编译我们的程序,还可以利用make来完成其它的工作,因为规则中的命令可以是任何shell之下的命令,所以,在unix下,你不一定只是使用程序语言的编译器,你还可以在makefile中书写其它的命令linux命令,如:tar、awk、mail、sed、cvs、compress、ls、rm、yacc、rpm、ftp……等等,等等,来完成诸如"程序打包"、"程序备份"、"制作程序安装包"、"提交代码"、"使用程序模板"、"合并文件"等等五花八门的功能,文件操作,文件管理,编程开发设计,或是其它一些异想天开的东西。对于上述所有的make的细节,我们不但可以利用make这个工具来编译我们的程序,还可以利用make来完成其它的工作,因为规则中的命令可以是任何shell之下的命令,所以,在unix下,你不一定只是使用程序语言的编译器,你还可以在makefile中书写其它的命令,如:tar、awk、mail、sed、cvs、compress、ls、rm、yacc、rpm、%20ftp……等等,等等,来完成诸如"程序打包"、"程序备份"、"制作程序安装包"、"提交代码"、"使用程序模板"、"合并文件"等等五花八门的功能,文件操作,文件管理,编程开发设计,或是其它一些异想天开的东西。网友下载过程常可见解压包中存在着这些光盘镜像文件,光盘镜像格式的文件是原版拷贝文件,或拷贝后进行一些打包处理.制作光盘镜像格式的软件有许多.以下只对怎么使用光盘镜像文件做个说明.也就是模拟过程.(打开光盘镜像格式的文件,常用的alcohol%20120%linux命令,东方光驱魔术师,等等软件,可直接模拟之),以下简单的介绍一下alcohol%20120%的使用方法:。
%201%20package%20big.data.analyse.linux %202%20 %203%20import%20org.apache.log4j.{Level,%20Logger} %204%20import%20org.apache.spark.sql.SparkSession %205%20 %206%20import%20scala.sys.process._ %207%20/** %208%20%20%20*%20Created%20by%20zhen%20on%202019/10/10. %209%20%20%20*/ 10%20object%20SparkUseLinux%20{ 11%20%20%20/** 12%20%20%20%20%20*%20设置日志级别 13%20%20%20%20%20*/ 14%20%20%20Logger.getLogger("org").setLevel(Level.WARN) 15%20%20%20def%20main(args:%20Array[String])%20{ 16%20%20%20%20%20/** 17%20%20%20%20%20%20%20*%20调用linux命令解压zip包 18%20%20%20%20%20%20%20*/ 19%20%20%20%20%20println("===开始解压包数据===") 20%20%20%20%20%20val%20path%20=%20"D:\\testData.zip" 21%20%20%20%20%20val%20ml%20=%20"unzip%20"%20+%20path%20+%20"%20-d%20D:\\" 22%20%20%20%20%20s"$ml".! 23%20%20%20%20%20/** 24%20%20%20%20%20%20%20*%20创建入口 25%20%20%20%20%20%20%20*/ 26%20%20%20%20%20val%20fileUrl%20=%20"D:\\testData.txt" 27%20%20%20%20%20val%20spark%20=%20SparkSession.builder().appName("SparkUseLinux").master("local[2]").getOrCreate() 28%20%20%20%20%20/** 29%20%20%20%20%20%20%20*%20加载解压后的数据,计算wordcount 30%20%20%20%20%20%20%20*/ 31%20%20%20%20%20val%20rdd%20=%20spark.sparkContext.textFile(fileUrl) 32%20%20%20%20%20%20%20.map(row%20=>%20row.replace("(",%20"%20").replace(")",%20"%20").replace(".",%20"%20").replace("\"",%20"%20").replace(":",%20"%20"))//去除文字中的,防止出现歧义 33%20%20%20%20%20%20%20.flatMap(row%20=>%20row.split("%20"))//把字符串转换为字符集合 34%20%20%20%20%20%20%20.map(row%20=>%20(row,%201))//把每个字符串转换为map,便于计数 35%20%20%20%20%20%20%20.reduceByKey(_+_)//计数 36%20%20%20%20%20%20%20.filter(row%20=>%20!row._1.isEmpty) 37%20%20%20%20%20%20%20.filter(row%20=>%20row._2%20>%201) 38%20 39%20%20%20%20%20println("---结果---") 40%20%20%20%20%20rdd.foreach(println) 41%20%20%20%20%20/** 42%20%20%20%20%20%20%20*%20关闭入口 43%20%20%20%20%20%20%20*/ 44%20%20%20%20%20spark.stop() 45%20%20%20} 46%20}
执行前:
执行后:
结果:
posted @ 2019-10-10 17:15云山之巅 阅读(...) 评论(...) 编辑