《Spark编程基础及项目实践题库练习题集带答案高职.docx》由会员分享,可在线阅读,更多相关《Spark编程基础及项目实践题库练习题集带答案高职.docx(20页珍藏版)》请在第一文库网上搜索。
1、Spark编程基础及项目实践题库练习题集带答案习题11选择题(1)下列哪个不是大数据的特征?(D)A. Vo1umeB. VarietyC. Ve1ocityD. Variance(2)下列不属于大数据技术的是(C)。A.大数据采集技术B.大数据存储及管理技术C.财务报表分析技术D.大数据分析及挖掘技术(3)下列不属于SPark生态系统的是(B)。A. SparkStreamingB. StormC. SharkSQ1D.SparkR(4)下列适合SPark大数据处理场景的是(D)。A.复杂的批处理B.基于历史数据的交互式查询C.基于实时数据流的数据处理D. PB级的数据存储(5)下列不是SP
2、ark的部署模式的是(C)。A.单机式B.单机伪分布式C.列分布式D.完全分布式2.操作题使用Hadoop用户名登录1inux系统,启动HadoP,使用Hadoop提供的She11完成如下操作:(1)在1inUX系统的本地文件系统的“/home/hadoop”目录下新建一个文本文件test.txt,并在该文件中随意输入一些内容,然后上传至IJHDFS的/data/input”目录下。$vihomehadooptest.tt$hdfsdfs-puthomehadooptest.ttdatainput(2)在SPark-SheI1中读取1inUX系统的本地文件“/home/hadoop/test.
3、txt”,然后统计出文件的行数。$cdusr1oca1spark$./bin/spark-she11sca1ava1textFi1e=sc.textFi1e(fi1ehomehadooptest.txt)sca1atextFi1e.count()(3)在spark-she11中读取HDFS系统文件“/data/input/test.txt(如果文件不存在,请先创建),然后统计出文件的行数。sca1ava1textFi1e=sc.textFi1e(hdfs:/1oca1host:9000/user/hadoop/test.txt)sca1atextFi1e.count()第二章习题答案实训代码完
4、整程序如下:文件studentinfo,txt的内容如图1所示,注意在Windows平台下将studentinfo,txt保存为UTF-8的格式。0102030405060708091011111122223333小汗乐甜源田一铭漫圾/Jv凯一k品云甜小-树天小正张李王王赵李王张王张李周女男男女男女男男男男女男20天津1312231665819晾1583390778920晾1832267335919河北1317788990018河北1582256324119河北1397767564320山东1390090897820山东1516354226721四川1836674235020新15933782
5、78019云南131226738291913156783456图1学生信息在1inUX的usr1oca1ProjeCt目录下创建文件studentinfo,txt,使用命令touchstudentinfo.txt”。执行命令vimstudentinfo,txtw对文件进行编辑,按i”进入编辑模式,输入图2-40所示内容,按“Esc”退出编辑状态,再执行命令:wq”进行保存并退出。在usr1oca1ProjCCt目录下创建文件StUdCntInfO.sca1a,输入内容如下:importsca1a.ioimportuti1.contro1.BreaksobjectStudentInfovarar
6、r1nfo:ArrayString=nu11defmain(args:ArrayString)将usr1oca1projectStUdentinfO.txt的文件内容读入到数组中一行为一个元素va11ines=for(1inevarma1eCnt=CoUnt(“男”)PrintIn(“三个班级共有男生+ma1eCnt+,)case2=Varfema1Cnt=count()Print1n(“三个班级共有女生+fema1Cnt+,u)case3=Print(输入学号:”)va1StudentId=StdIn.read1ine()varmark=fa1sebreakab1efor(i按班级进行分组P
7、rint(输入班级序号:”)va1c1ass1d=StdIn.read1ine()printin(班级t学号t姓名七性别t年龄t籍贯t电话”)/* 将arr1nfo数组使用groupBy函数按照班级序号进行分组* 先将数组中的每个元素按照“t”进行分割* 提取出分割后的第一个元素(即班级序号)* 按照班级序号进行分组,返回一个MapString,ArrayString类型* 将返回值赋值给mapArr* /va1mapArr=arr1nfo.groupBy(x=x.sp1it(,t)(0)for(maparrf1ag=fa1seprintin(nSJS,!)case_=PrintIr(输入错误
8、,请重新输入“)/使用正则表达式判断字符串s是否为数字defIsIntByRegex(s:String)=va1pattern=,(d+)$,M,.rsmatchcasepattern(_*)=truecase_=fa1se)/展示功能页面defshow()=printin(*printin(,1.统计男生人数”)printin(,2.统计女生人数”)printin(3.输入学号,打印出学生信息”)printin(4.输入班级序号,打印出班级学生信息列表”)printin(,5.退出”)printin(*)/根据指定的信息统计人数defcount(param:String):Int=varsu
9、m=0for(info-arr1nfo;ifinfo.contains(param)sum+=1sum1234567891234567891234567811111111112222222221 importsea1a.io._2 importuti1.controt.Breaks.3 objectStudentInfo4 vararr1nfo:ArrayString=nu115 defmain(args:Array(String)6 将us1oca1/PrOjeCt/studentinfo.txt的文件内容读入到数组中,一行为一个元素7 Va11ines=for(1ine22 varma1e
10、Cnt=COUnt(男)23 Print1n(三个班级共有男生+ma1eCnt+A)24 )25 case2=26 varfema1Cnt=counted)27 Pr1nt1n(三个班级共有女生+fema1Cnt+人)28 importsea1a.io.importuti1.contro1.Breaks._objectStudentInfovararr1nfo:ArrayString=nu11defmain(args:Array1String)将DWstudentinfo.txt的文件内容读入到数组中,一行为一个元素Va11ines=for(1inevarma1eCnt=count(a)Pr1nt1n(三个班级共有男生+ma1eCnt+)case2=varfema1Cnt=COUnt(女)PrintIn(三个班级共有女生+fema1Cnt+A)29case3=30Print(输入学号:)31Va1StudentId=Stdin.read1ine()32varmark=fa1se33breakab1e34for(