《Spark编程基础及项目实践章节练习题项目4+答案.docx》由会员分享,可在线阅读,更多相关《Spark编程基础及项目实践章节练习题项目4+答案.docx(1页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Spark编程基础及项目实践章节练习题项目4+答案习题41. 选择题(1) 常用创建RDD的方法有哪些?( ABC )A. makeRDD B. parallelize C. textfile D. testfile(2)下面哪个不是RDD的特点( C )。A. 可分区 B. 可序列化 C. 可修改 D. 可持久化(3)下面哪一种全部是转化操作?( C )A. map、take、reduceByKey B. map、filter、collect C. map、zip、 reduceByKey D. map、join、take(4)下面哪种按键操作的方法返回值可以与输入类型不同?( B )A.
2、reduceByKey B.combineByKey C. sortByKey D.groupByKey(5)使用saveAsTextFile存储数据到HDFS,要求数据类型为什么?( D )A. List B.Array C. Seq D.RDD2.操作题现有数据文件words.txt如图4-8所示,文件中包含了多行句子,现在要求对文档中的单词计数,并把单词计数超过3的结果存储到HDFS上。图4-8 words.txt (1)通过textfile的方法读取数据。(2)通过flatMap将字符串切分成单词。(3)通过map将单词转化为(单词,1)的形式。(4)通过reduceByKey将同一个
3、单词的所有值相加。(5)通过filter将单词计数大于3的结果过滤出来。(6)通过saveAsTextFile将结果写入到HDFS。答案:(1) val test = sc.textFile(/user/root/words.txt)(2) test.flatMap(x=x.split( ).collect(3) test.map(lambda word : (word,1)(4) test1 = test.reduceByKey(lambda a,b :a+b)(5) test2=test1.filter(x=x._21).collect(6) test2. saveAsTextFile(/user/data)80