![大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案_第1頁](http://file4.renrendoc.com/view/0d559c1a9b495673ddc023a33a5e4d8a/0d559c1a9b495673ddc023a33a5e4d8a1.gif)
![大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案_第2頁](http://file4.renrendoc.com/view/0d559c1a9b495673ddc023a33a5e4d8a/0d559c1a9b495673ddc023a33a5e4d8a2.gif)
![大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案_第3頁](http://file4.renrendoc.com/view/0d559c1a9b495673ddc023a33a5e4d8a/0d559c1a9b495673ddc023a33a5e4d8a3.gif)
![大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案_第4頁](http://file4.renrendoc.com/view/0d559c1a9b495673ddc023a33a5e4d8a/0d559c1a9b495673ddc023a33a5e4d8a4.gif)
![大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案_第5頁](http://file4.renrendoc.com/view/0d559c1a9b495673ddc023a33a5e4d8a/0d559c1a9b495673ddc023a33a5e4d8a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark)習(xí)題答案1章練習(xí)一、選擇題大數(shù)據(jù)的特點(diǎn)有哪些?(多選A.處理速度快 B.多樣化C.價值密度高 D.數(shù)據(jù)冗余度低下面哪些是大數(shù)據(jù)的計算模式?(多選A.流式計算 B.批處理計算C.查詢分析計算D.圖計算Linux支持多少位硬件?(多選)A.64位 B.128位C.32位 D.256位Hadoop生態(tài)系統(tǒng)的主要組成不包括A.MapReduce B.ZooKeeperC.HDFS文件系統(tǒng)D.YARN二、判斷題大數(shù)據(jù)是指數(shù)據(jù)量很大的數(shù)據(jù)集(×)Hadoop是在分布式服務(wù)器集群上存儲海量數(shù)據(jù)并運(yùn)行分布式分析應(yīng)用的一個開源的(√)Hadoop只能運(yùn)行在由一般商用機(jī)器構(gòu)成的大型集群上(×)Hadoop通過增加集群節(jié)點(diǎn),可以線性地擴(kuò)展以處理更大的數(shù)據(jù)集(√)三、簡答題簡述大數(shù)據(jù)技術(shù)的特點(diǎn)。(大體量:即可從數(shù)百B到數(shù)十?dāng)?shù)百B、甚至B規(guī)模。(多樣性:即大數(shù)據(jù)包括各種格式和形態(tài)的數(shù)據(jù)。(時效性:即很多大數(shù)據(jù)需要在一定的時間限度下得到及時處理。(準(zhǔn)確性:即處理的結(jié)果要保證一定的準(zhǔn)確性。(大價值業(yè)價值。Hadoop答:HDFS:Hadoop分布式文件系統(tǒng),具有處理超大數(shù)據(jù)、流式處理、可以運(yùn)行在廉價商用服務(wù)器上等優(yōu)點(diǎn)。HDFS在訪問應(yīng)用程序數(shù)據(jù)時,可以具有很高的吞吐率,因此對于超大數(shù)據(jù)集的應(yīng)用程序而言,選擇HDFS作為底層數(shù)據(jù)存儲是較好的選擇。HBaseHDFS中。因此,HBaseHDFS的關(guān)系型數(shù)據(jù)庫。MapReduce:是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算,它將復(fù)雜和Reduce上,并且允許用戶在不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開發(fā)并行應(yīng)用程序計算機(jī)集群上,從而完成海量數(shù)據(jù)的處理。ZooKeeperChubby的一個開源實現(xiàn),是高效和可靠的協(xié)同工作系統(tǒng),提供……2章練習(xí)一、選擇題下列哪項不包括在大數(shù)據(jù)的分析流程中A.數(shù)據(jù)校驗 B.數(shù)據(jù)集成C.數(shù)據(jù)規(guī)約 D.數(shù)據(jù)挖掘大數(shù)據(jù)分析的常用方法有哪些?(多選A.K-means B.線性回歸C.分類分析 D.數(shù)理統(tǒng)計下列哪項不是數(shù)據(jù)可視化的工具A.Superset B.MatplotlibC.Pycharts D.selenium二、判斷題大數(shù)據(jù)分析包括數(shù)據(jù)采集、預(yù)處理、存儲、分析和可視化(√)selenium是大數(shù)據(jù)清洗過程中用到的主要工具(×)SVM(×)三、簡答題用自己的語言描述大數(shù)據(jù)分析的流程。說出數(shù)據(jù)分析過程中各階段所用到的幾種工具。和PhantomJS具B和、PyEcharts、Superset。3章練習(xí)一、選擇題觀察系統(tǒng)動態(tài)進(jìn)程的命令是free B.top C.lastcomm D.df件權(quán)限為A.467 B.674 C.476 D.764mydjango.tar.gz可以執(zhí)行A.tar-zxvfmydjango.tar.gztar-xvzmydjango.tar.gztar-czfmydjango.tar.gztar-xvfmydjango.tar.gz下列哪一項包含了主機(jī)名到IP地址映射關(guān)系的文件A./etc/hostname B./etc/hostsC./etc/resolv.conf D./etc/networksshellq! B.quit C.; D.exit二、判斷題Linux配置文件一般放在bin(×)(×)ping命令常用于檢測網(wǎng)絡(luò)主機(jī)是否可達(dá)(√)cdEnter(√)<Ctrl+C>鍵能終止當(dāng)前命令的運(yùn)行(√)三、簡答題Linux?創(chuàng)始人是誰?有哪些版本?UnixPOSIXUNIX的多用戶、多任務(wù)、支持多線程和多CPU·、DebianUbuntu、、FreeBSDCentOS……Linux系統(tǒng)安裝完成后系統(tǒng)配置的步驟。答:①修改用戶權(quán)限:在root用戶權(quán)限下(切換至root用戶,rootALL=(ALL)ALLhadoopALL=(ALL)②關(guān)閉防火墻:使內(nèi)網(wǎng)集群間的通信不受影響。/optsoftwaresmodules,用于存儲軟件安裝包和安裝后的文件。-rw-r--r-- 1 chris chris 207 Jul2011:58 mydatachris答:讀寫執(zhí)行命令“useraddTom答:只讀答:chmod777mydata答:chownrootmydata4章練習(xí)一、選擇題1.HDFSA.NameNodeB.JobtrackerC.Datanode D.secondaryNameNodeE.tasktracker2.NameNodeA.SecondaryNameNodeB.DataNodeC.TaskTracker D.JobtrackerSecondaryNameNodeA.NameNode的熱備B.它對內(nèi)存沒有要求C.它的目的是幫助NameNode合并編輯日志,減少NameNode啟動時間D.SecondaryNameNode應(yīng)與NameNode部署到一個節(jié)點(diǎn)下列哪個是p運(yùn)行的模?(多選C)A.單機(jī)版 B.偽分布式 C.分布式二、思考題啟動hadoop報以下錯誤,分別該如何解決?--node.NameNode--Directory/tmp/hadoop-root/dfs/nameisinaninconsistenthadoopenv.sh文件進(jìn)行檢查修改。②存儲目錄不存在或被刪除core-site.xml中hadoop.tmp.dirnamenode進(jìn)行格式化。請列出正常工作的hadoop集群中需要啟動的進(jìn)程,并簡要介紹其作用。答:NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager。①NameNode:HDFS的守護(hù)進(jìn)程,負(fù)責(zé)維護(hù)整個文件系統(tǒng),存儲著整個文件系統(tǒng)的元數(shù)據(jù)信息。②SecondaryNameNodeNamenodeNamenodeNamenodeimageeditsNN啟動時間。③DataNode是具體文件系統(tǒng)的工作節(jié)點(diǎn),負(fù)責(zé)管理連接到節(jié)點(diǎn)的存儲(一個集群中可以有多個節(jié)點(diǎn)。每個存儲數(shù)據(jù)的節(jié)點(diǎn)運(yùn)行一個datanode守護(hù)進(jìn)程。④n的守護(hù)進(jìn)程,負(fù)責(zé)所有資源的分配與調(diào)度,監(jiān)Nodemanager。⑤(r的具體任務(wù)。請簡述hadoop實現(xiàn)二級排序的原理。中本身就會對key進(jìn)行排序,所以我們需要對value進(jìn)行排序。主要思想為將key和部分value拼接成一個組合key(實現(xiàn)WritableComparable接口或者調(diào)用s函數(shù),這樣reduce獲取的結(jié)果便是先按key排序,后按value排序的結(jié)果,在這個方法中,用戶需要自己實現(xiàn)ParitionerPartitioner<>keypn類中的方法,可用于設(shè)置排序groupkey值。三、設(shè)計題給定100萬個字符串,其中有些是相同的(重復(fù)MapReduce編程模型給出設(shè)計思路或核心代碼。publicstaticclassProjectionMapextendsMapper<LongWritable,Text,Text,NullWritable>{privateintclo;projectvoidsetup(Contextcontext)throwsIOException,InterruptedException{col=context.getConfiguration().getInt(“col”,0);MapReduce的Shuffle階段會將Map任務(wù)的結(jié)果數(shù)據(jù)進(jìn)行分區(qū)keyReduce任務(wù)中進(jìn)行處理。而根據(jù)keypublicstaticclassProjectionMapextendsMapper<LongWritable,Text,Text,NullWritable>{privateintclo;projectvoidsetup(Contextcontext)throwsIOException,InterruptedException{col=context.getConfiguration().getInt(“col”,0);}}publicvoidmap(LongWritableoffset,Textline,Contextcontext){relationArecord=newRelationA(line.toString());context.write(newText(record.getCol(col)),NullWritable.get());}}}publicstaticclassProjectionReduceextendsReducer<Text,NullWritable,Text,NullWritable>{publicvoidreduce(Textkey,Iterable<NullWritable>value,Contextcontext)throwsIOException,InterruptedException{context.write(key,NullWritable.get());}}請在下面程序的下劃線中補(bǔ)充完整程序(共8處。publicclassWordCount{publicstaticclassTokenizerMapperextendsMapper<Object,Text,Text,IntWritable>{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext){StringTokenizeritr=newStringTokenizer(value.toString());while(itr.hasMoreTokens()){word.set(itr.nextToken());context.write(word,one);}}}publicstaticclassIntSumReducerextendsText,IntWritable,Reducer< Text,IntWritable>{Text,IntWritable,IntWritableprivateIntWritableresult=newIntWritable();publicvoidreduce(Text,key,Iterable<IntWritableintsum=0;for(IntWritableval:values){sum+=val.get();
>values,Contextcontext){}result.set(sum);context.write(key,result);}}publicstaticvoidmain(String[]args)throwsException{……}}5章練習(xí)一、選擇題ClouderaApache下的一個孵化項目,支持在日A.Flume B.ZooKeeperC.Storm D.SparkStreamingSparkStreamingSparkStreamingA.Flume B.ZooKeeperC.Kafka D.SparkStreamingk組成部件包括?(多選)A.ResourceManager B.ExecutorC.Driver D.RDD下面不屬于k四大組件的有?(多選)A.SparkR B.MLlibC.pyspark D.SparkStreaming二、判斷題YarnSpark(√)scalajava(×)10行的(x,1)(x,-1)(√)三、思考題exam.databcaabc答:(b,2)(c,3)(a,4)已知已有學(xué)生數(shù)據(jù)如下:請寫出下列程序的作用。答:求平均年齡6章練習(xí)一、簡答題Redis需要把所有數(shù)據(jù)放到內(nèi)存中?答:Redis寫入磁盤,所以Redis具有快速和數(shù)據(jù)持久化的特征。如果不將數(shù)據(jù)放在內(nèi)存中,磁盤I/ORedis的性能。Kafka順序消費(fèi)?答:相同的業(yè)務(wù)ID設(shè)置為同一個key,存放到同一個分區(qū)中;每個分區(qū)中有單獨(dú)對應(yīng)的一個消費(fèi)者實現(xiàn)消費(fèi)。SparkStreamingKafka整合的?r接收方式r來連接a隊列,KafkaAPI,offsetZooKeeperReceiver維護(hù)。該模式可能會出現(xiàn)數(shù)據(jù)不一致等問題,當(dāng)前已不適合在開發(fā)中使用。②DirectKafkaUtils.createDirectStreamKafka分區(qū)來獲取數(shù)據(jù),從每個分區(qū)直接讀取數(shù)據(jù)大大提高了并行能力,調(diào)用a低階(底層offset自己Sparkcheckpoint中。二、設(shè)計題已知表a中字段內(nèi)容如下:字段字段indexchild_commentcomment_timecontentda_vlike_statuspicuser_iduser_namevip_rankstamp字段含義數(shù)據(jù)id贊urlid微博用戶名時間戳要求:kafkacomment22個副本;答:kafka-topics.sh--create--zookeepermaster:2181,slave1:2181,slave2:2181--replication-factor2--partitions2--topiccommentSparkStreaming對接kafka5的用戶。10答:2、3題程序如下importjava.sql.{Connection,DriverManager,PreparedStatement}importjava.text.SimpleDateFormatimportorg.apache.kafka.clients.consumer.ConsumerRecordimportmon.serialization.StringDeserializerimportorg.apache.spark.{SparkConf,SparkContext}importorg.apache.spark.rdd.RDDimportorg.apache.spark.streaming.{Seconds,StreamingContext}importorg.apache.spark.streaming.dstream.{DStream,InputDStream}importorg.apache.spark.streaming.kafka010.{ConsumerStrategies,KafkaUtils,LocationStrategies}objectSparkStreaming{defmain(args:Array[String]):Unit={val sparkConf: SparkConf = SparkConf().setMaster("local[*]").setAppName("SparkStreaming")valssc=newStreamingContext(sparkConf,Seconds(3))valkafkaParams=Map[String,Object]("bootstrap.servers"->"hadoop01:9092,hadoop02:9092,hadoop03:9092","key.deserializer"->classOf[StringDeserializer],"value.deserializer"->classOf[StringDeserializer],"group.id"->"SparkKafkaDemo","auto.offset.reset"->"latest","mit"->(false:java.lang.Boolean))vartopics=Array("rng_comment")val recordDStream: InputDStream[ConsumerRecord[String, String]] KafkaUtils.createDirectStream[String,String](ssc,LocationStrategies.PreferConsistent,ConsumerStrategies.Subscribe[String,String](topics,kafkaParams))val resultDStream: DStream[Array[String]] recordDStream.map(_.value()).map(_.split("\t")).cache()//2、查詢出微博會員等級為5的用戶。resultDStream.filter(_(9)=="5")foreachRDD{rdd:RDD[Array[String]]=>{rdd.foreachPartition{iter:Iterator[Array[String]]=>{Class.forName("com.mysql.jdbc.Driver")val connection: Connection DriverManager.getConnection("jdbc:mysql://localhost:3306/rng_comment?characterEncoding=UTF-8","root","root")valsql="insertintovip_rankvalues(?,?,?,?,?,?,?,?,?,?,?)"iter.foreach{line:Array[String]=>{valstatement:PreparedStatement=connection.prepareStatement(sql)statement.setInt(1,line(0).toInt);statement.setInt(2,line(1).toInt);statement.setString(3,line(2));statement.setString(4,line(3));statement.setString(5,line(4));statement.setString(6,line(5));statement.setString(7,line(6));statement.setString(8,line(7));statement.setString(9,line(8));statement.setInt(10,line(9).toInt);statement.setString(11,line(10));statement.executeUpdate()statement.close()}}connection.close()}}}}//10resultDStream.filter(_(5).toInt>10).foreachRDD{rdd:RDD[Array[String]]=>{rdd.foreachPartition{iter:Iterator[Array[String]]=>{Class.forName("com.mysql.jdbc.Driver")val connection: Connection =DriverManager.getConnection("jdbc:mysql://localhost:3306/rng_comment?characterEncoding=UTF-8","root","root")varsql="insertintolike_statusvalues(?,?,?,?,?,?,?,?,?,?,?)"iter.foreach{line:Array[String]=>{valstatement:PreparedStatement=connection.prepareStatement(sql)statement.setInt(1,line(0).toInt);statement.setInt(2,line(1).toInt);statement.setString(3,line(2));statement.setString(4,line(3));statement.setString(5,line(4));statement.setString(6,line(5));statement.setString(7,line(6));statement.setString(8,line(7));statement.setString(9,line(8));statement.setInt(10,line(9).toInt);statement.setString(11,line(10));statement.executeUpdate()statement.close()}}connection.close()}}}}ssc.start()ssc.awaitTermination()}}7章練習(xí)一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年其他計算機(jī)信息服務(wù)項目申請報告模稿
- 2025年多孔微孔陶瓷材料項目規(guī)劃申請報告模板
- 2025年企業(yè)高校實習(xí)生三方協(xié)議
- 2025年人才共享協(xié)議標(biāo)準(zhǔn)化文本
- 2025年合作共管協(xié)議示范文本
- 2025年借款合同范本速覽
- 2025年個人公積金貸款合同調(diào)整全覽
- 2025年專利權(quán)使用和解協(xié)議指南
- 2025年養(yǎng)老院入住協(xié)議標(biāo)準(zhǔn)
- 2025年供電設(shè)施更新改造協(xié)議
- DLT 5756-2017 額定電壓35kV(Um=40.5kV)及以下冷縮式電纜附件安裝規(guī)程
- 關(guān)于餐飲合同范本
- 2023高考數(shù)學(xué)藝考生一輪復(fù)習(xí)講義(學(xué)生版)
- CHT 4019-2016 城市政務(wù)電子地圖技術(shù)規(guī)范(正式版)
- 廣西壯族自治區(qū)南寧市2024年七年級下學(xué)期語文期末試卷附答案
- 冀教版五年級數(shù)學(xué)下冊全冊課件【完整版】
- 微量注射泵安全使用和維護(hù)保養(yǎng)
- 高二物理人教版(2019)選擇性必修第一冊教學(xué)設(shè)計
- 污水處理廠運(yùn)營維護(hù)移交 投標(biāo)方案(技術(shù)方案)
- 部編版歷史八年級上冊 第八單元 教學(xué)設(shè)計
- 高中英語元宵節(jié)猜燈謎活動英文課件
評論
0/150
提交評論