MOOC Spark編程基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課答案_第1頁
MOOC Spark編程基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課答案_第2頁
MOOC Spark編程基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課答案_第3頁
MOOC Spark編程基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課答案_第4頁
MOOC Spark編程基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課答案_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

MOOCSpark編程基礎(chǔ)-廈門大學(xué)中國大學(xué)慕課答案第1章大數(shù)據(jù)技術(shù)概述單元測驗1、問題:大數(shù)據(jù)計算模式有以下四種,對電子商務(wù)網(wǎng)站購物平臺數(shù)據(jù)的實時分析處理過程屬于哪一種?選項:A、批處理計算B、流計算C、圖計算D、查詢分析計算正確答案:【流計算】2、問題:大數(shù)據(jù)技術(shù)及其代表性的軟件種類很多,不同的技術(shù)有其不同應(yīng)用場景,都對應(yīng)著不同的大數(shù)據(jù)計算模式,請問軟件產(chǎn)品Pregel主要應(yīng)用于以下哪種計算模式?選項:A、批處理計算B、流計算C、圖計算D、查詢分析計算正確答案:【圖計算】3、問題:經(jīng)過多年的發(fā)展,Hadoop生態(tài)系統(tǒng)不斷完善和成熟,目前已經(jīng)包含多個子項目,其中YARN的主要功能是?選項:A、分布式并行編程模型B、數(shù)據(jù)倉庫工具C、負責(zé)集群資源調(diào)度管理的組件D、分布式海量日志采集、聚合和傳輸系統(tǒng)正確答案:【負責(zé)集群資源調(diào)度管理的組件】4、問題:Hadoop生態(tài)系統(tǒng)中用于構(gòu)建數(shù)據(jù)倉庫并允許用戶輸入SQL語句進行查詢的功能組件是?選項:A、SparkB、PregelC、FlumeD、Hive正確答案:【Hive】5、問題:MapReduce的一個基本設(shè)計思想是?選項:A、計算向數(shù)據(jù)靠攏B、數(shù)據(jù)向計算靠攏C、提高數(shù)據(jù)的串行計算速度D、提高數(shù)據(jù)的冗余度正確答案:【計算向數(shù)據(jù)靠攏】6、問題:Hadoop的生態(tài)系統(tǒng)組件之一Sqoop的功能是?選項:A、提供高可靠性、高可用、分布式的海量日志采集B、用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)C、負責(zé)集群資源調(diào)度管理的組件D、用來在Hadoop和關(guān)系數(shù)據(jù)庫之間的交換數(shù)據(jù),改進數(shù)據(jù)的互操作性正確答案:【用來在Hadoop和關(guān)系數(shù)據(jù)庫之間的交換數(shù)據(jù),改進數(shù)據(jù)的互操作性】7、問題:以下哪一項不是Hadoop的缺點?選項:A、計算表達能力有限B、數(shù)據(jù)文件被分布存儲到多臺機器上C、計算延遲高D、磁盤I/O開銷大正確答案:【數(shù)據(jù)文件被分布存儲到多臺機器上】8、問題:網(wǎng)絡(luò)中很多數(shù)據(jù)是以圖的形式呈現(xiàn)的,比如社交網(wǎng)絡(luò)、交通事故,現(xiàn)場證據(jù)采集等,為了解決大型圖的分布式計算問題,最適合采用以下哪種計算框架:選項:A、SparkCoreB、DremelC、PregelD、Storm正確答案:【Pregel】9、問題:用戶在使用HDFS時,仍然可以像普通文件系統(tǒng)那樣用文件名去訪問文件,以下哪個選項是正確的訪問方式?選項:A、把文件名發(fā)送給名稱節(jié)點,根據(jù)文件名直接在名稱節(jié)點上獲取數(shù)據(jù)B、把文件名發(fā)送給數(shù)據(jù)節(jié)點,根據(jù)文件名直接在數(shù)據(jù)節(jié)點上獲取數(shù)據(jù)C、把文件名發(fā)送給名稱節(jié)點,根據(jù)文件名在名稱節(jié)點上找到數(shù)據(jù)塊的實際存儲信息,客戶端再到數(shù)據(jù)節(jié)點上獲取數(shù)據(jù)D、以上說法都不對正確答案:【把文件名發(fā)送給名稱節(jié)點,根據(jù)文件名在名稱節(jié)點上找到數(shù)據(jù)塊的實際存儲信息,客戶端再到數(shù)據(jù)節(jié)點上獲取數(shù)據(jù)】10、問題:大數(shù)據(jù)處理的基本流程有以下哪四個步驟?選項:A、數(shù)據(jù)采集B、存儲管理C、處理分析D、結(jié)果呈現(xiàn)E、數(shù)據(jù)安全和隱私保護正確答案:【數(shù)據(jù)采集#存儲管理#處理分析#結(jié)果呈現(xiàn)】11、問題:目前學(xué)術(shù)界和業(yè)界比較認可的關(guān)于大數(shù)據(jù)的四個特點是?選項:A、數(shù)據(jù)量大B、數(shù)據(jù)類型多C、處理速度快D、數(shù)據(jù)可重復(fù)使用E、價值密度低正確答案:【數(shù)據(jù)量大#數(shù)據(jù)類型多#處理速度快#價值密度低】12、問題:Hadoop兩大核心組成部分是什么?選項:A、分布式文件系統(tǒng)HDFSB、分布式協(xié)作服務(wù)ZookeeperC、資源調(diào)度管理框架YARND、分布式計算框架MapReduce正確答案:【分布式文件系統(tǒng)HDFS#分布式計算框架MapReduce】13、問題:與Hadoop相比,Spark主要有以下哪些優(yōu)點?選項:A、提供多種數(shù)據(jù)集操作類型而不僅限于MapReduceB、數(shù)據(jù)集中式計算更加高效C、提供了內(nèi)存計算,帶來了更高的迭代運算效率D、基于DAG的任務(wù)調(diào)度執(zhí)行機制正確答案:【提供多種數(shù)據(jù)集操作類型而不僅限于MapReduce#提供了內(nèi)存計算,帶來了更高的迭代運算效率#基于DAG的任務(wù)調(diào)度執(zhí)行機制】14、問題:YARN是負責(zé)集群資源調(diào)度管理的組件。不同的計算框架統(tǒng)一運行在YARN框架之上,具有哪些優(yōu)點:選項:A、計算資源按需伸縮B、不同負載應(yīng)用混搭,集群利用率高C、共享底層存儲,避免數(shù)據(jù)跨集群遷移D、大大降低了運維成本正確答案:【計算資源按需伸縮#不同負載應(yīng)用混搭,集群利用率高#共享底層存儲,避免數(shù)據(jù)跨集群遷移#大大降低了運維成本】15、問題:關(guān)于Hadoop生態(tài)系統(tǒng)中HBase與其它部分的關(guān)系,以下說法正確的有:選項:A、HBase利用MapReduce來處理HBase中的海量數(shù)據(jù),實現(xiàn)高性能計算B、利用Zookeeper作為協(xié)同服務(wù),實現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù)C、使用HDFS作為高可靠的底層存儲,利用廉價集群提供海量數(shù)據(jù)存儲能力D、利用Pig和Hive為HBase提供了高層語言支持E、使用Sqoop為HBase提供了高效便捷的RDBMS數(shù)據(jù)導(dǎo)入功能正確答案:【HBase利用MapReduce來處理HBase中的海量數(shù)據(jù),實現(xiàn)高性能計算#利用Zookeeper作為協(xié)同服務(wù),實現(xiàn)穩(wěn)定服務(wù)和失敗恢復(fù)#使用HDFS作為高可靠的底層存儲,利用廉價集群提供海量數(shù)據(jù)存儲能力#利用Pig和Hive為HBase提供了高層語言支持#使用Sqoop為HBase提供了高效便捷的RDBMS數(shù)據(jù)導(dǎo)入功能】16、問題:Spark的設(shè)計遵循“一個軟件棧滿足不同應(yīng)用場景”的理念,逐漸形成了一套完整的生態(tài)系統(tǒng),可以支持以下哪些操作計算:選項:A、SQL即席查詢(SparkSQL)B、流式計算(SparkStreaming)C、機器學(xué)習(xí)(MLlib)D、圖計算(GraphX)正確答案:【SQL即席查詢(SparkSQL)#流式計算(SparkStreaming)#機器學(xué)習(xí)(MLlib)#圖計算(GraphX)】17、問題:Flink和Spark一樣,都是基于內(nèi)存的計算框架,都支持流計算,在流式處理方面,以下選項是Flink的主要特點的有:選項:A、Flink是一行一行地處理數(shù)據(jù)B、Flink可以支持毫秒級的響應(yīng)C、Flink只能支持秒級的響應(yīng)D、Flink支持增量迭代,具有對迭代進行自動優(yōu)化的功能正確答案:【Flink是一行一行地處理數(shù)據(jù)#Flink可以支持毫秒級的響應(yīng)#Flink支持增量迭代,具有對迭代進行自動優(yōu)化的功能】第2章Scala語言基礎(chǔ)單元測驗1、問題:以下哪個選項不是Scala的數(shù)據(jù)類型?選項:A、AByte,Short,Int,UnitB、Integer,VoidC、Long,Char,StringD、Float,Double,Boolean正確答案:【Integer,Void】2、問題:Scala關(guān)于變量定義、賦值,錯誤的是?選項:A、vala=3B、vala:String=3C、varb:Int=3;b=6D、varb=HelloWorld!;b=123正確答案:【vala:String=3】3、問題:下面四個選項中,哪一個選項中a的取值與其他三個選項不同?選項:A、vala=3B、vala:Double=1+2C、vara=1;a+=2D、valb=1.+(2);vala=b.toInt正確答案:【vala:Double=1+2】4、問題:下面輸出與其他不一致的是?選項:A、println(HelloWorld)B、print(HelloWorld\n)C、printf(Hello%s,World\n)D、valw=World;println(Hello$w)正確答案:【valw=World;println(Hello$w)】5、問題:關(guān)于元組Tuple說法錯誤的是?選項:A、元組可以包含不同類型的元素B、元組是不可變的C、訪問元組tuple第一個元素的方式為tuple._1D、元組最多只有2個元素正確答案:【元組最多只有2個元素】6、問題:以下對集合的描述有誤的是?選項:A、Set是一組沒有先后次序的值B、Map是一組(鍵,值)對偶C、每個Scala集合特質(zhì)或類都有一個帶有apply方法的伴生對象,可以用此方法來構(gòu)建該集合中的實例D、為了顧及安全性問題,Scala僅支持不可變集合而不支持可變集合正確答案:【為了顧及安全性問題,Scala僅支持不可變集合而不支持可變集合】7、問題:有關(guān)操作符優(yōu)先級的描述不正確的是?選項:A、*=的優(yōu)先級低于+B、的優(yōu)先級高于C、+的優(yōu)先級高于!D、%的優(yōu)先級高于+正確答案:【+的優(yōu)先級高于!】8、問題:對集合(Set)進行操作Set(2,0,1)+1+1-1之后的結(jié)果為?選項:A、Set(2,0,1,1)B、Set(2,0,1)C、Set(2,0)D、以上均不正確正確答案:【Set(2,0)】9、問題:如果需要使用scala庫中的sqrt函數(shù),如sqrt(2),下列引用包的方式錯誤的是?選項:A、importscala.math._B、importsqrtC、importmath._D、importmath.sqrt正確答案:【importsqrt】10、問題:關(guān)于輔助構(gòu)造器,以下說法正確的是?選項:A、輔助構(gòu)造器的必須調(diào)用主構(gòu)造器B、輔助構(gòu)造器的可以直接調(diào)用超類的主構(gòu)造器C、輔助構(gòu)造器的參數(shù)可以是任意多個D、輔助構(gòu)造器的名稱和類名相同正確答案:【輔助構(gòu)造器的參數(shù)可以是任意多個】11、問題:Scala中,類成員的缺省訪問級別是?選項:A、publicB、privateC、protectedD、以上都不對正確答案:【public】12、問題:以下關(guān)于閉包描述錯誤的是?選項:A、閉包是一個函數(shù),其返回值依賴于聲明在函數(shù)包部的一個或多個變量B、通常來講,可以將閉包看作是可以訪問一個函數(shù)里面局部變量的另一個函數(shù)C、對于defmulBy(factor:Double)=(x:Double)=factor*x;valtriple=mulBy(3);,函數(shù)triple是一個閉包D、對于defmulBy(factor:Double)=(x:Double)=3*x;valtriple=mulBy(3);,函數(shù)triple是一個閉包正確答案:【對于defmulBy(factor:Double)=(x:Double)=3*x;valtriple=mulBy(3);,函數(shù)triple是一個閉包】13、問題:高階函數(shù)是指?選項:A、在程序中應(yīng)該首先被定義的函數(shù)B、將函數(shù)作為參數(shù),并返回結(jié)果為函數(shù)的函數(shù)C、函數(shù)參數(shù)為函數(shù)或返回結(jié)果為函數(shù)的函數(shù)D、執(zhí)行時間長的函數(shù)正確答案:【函數(shù)參數(shù)為函數(shù)或返回結(jié)果為函數(shù)的函數(shù)】14、問題:對于以下代碼描述有誤的是?valdata=Map(1-One,2-Two)valres=for((k,v)-data;if(k1))yieldv選項:A、運行后res的結(jié)果為List(Two)B、運行后res的結(jié)果為List(One,Two)C、對映射data中的每一個(鍵,值)對,k被綁定對鍵,而v則被綁定到值D、其中的if(k1)是一個守衛(wèi)表達式正確答案:【運行后res的結(jié)果為List(One,Two)】15、問題:Scala中,下面的哪個類定義是不正確的?選項:A、classCounter{defcounter=“counter”}B、classCounter{valcounter=“counter”}C、classCounter{varcounter:String}D、classCounter{defcounter(){}}正確答案:【classCounter{varcounter:String}】16、問題:以下關(guān)于類和單例對象的對比說法正確的是?選項:A、單例對象不可以定義方法,而類可以B、單例對象不可以帶參數(shù),而類可以C、單例對象不可以定義私有屬性,而類可以D、單例對象不可以繼承,而類可以正確答案:【單例對象不可以帶參數(shù),而類可以】17、問題:Scala語言中,關(guān)于List的定義,不正確的是?選項:A、vallist=List(1,2,3)B、vallist=List[Int](1,2,3)C、vallist=List[String]('A','B','C')D、vallist=List[String]()正確答案:【vallist=List[String]('A','B','C')】18、問題:對于Map(book-5,pen-2).map(m=m._1-m._2*2)的結(jié)果,下面哪個是正確的?選項:A、Map(bookbook-5,penpen-2)B、Map(bookbook-10,penpen-4)C、Map(book-10,pen-4)D、Map(book-5,pen-2,book-5,pen-2)正確答案:【Map(book-10,pen-4)】19、問題:以下單例對象,定義錯誤的是?選項:A、objectPerson{varPID=“”}B、objectPerson(PID:String){}C、objectPerson{defPID=“”}D、objectPersonA{valPID=“”}正確答案:【objectPerson(PID:String){}】20、問題:表達式for(i-1to3;j-1to3;ifi!=j){print((10*i+j));print()}輸出結(jié)果正確的是?選項:A、111213212223313233B、111321233133C、121321233132D、111221223132正確答案:【121321233132】21、問題:以下程序段的輸出結(jié)果是importutil.control.Breaks._valarray=Array(2,6,10,5,4)for(i-array){breakable{if(i5)breakprintln(i)}}選項:A、2,6,4B、2,5,4C、6,10,5D、10,5,4正確答案:【2,5,4】22、問題:以下選項說法錯誤的是?abstractclassCar{valcarBrand:Stringdefinfo()defgreeting(){println(“welcome”)}}選項:A、類Car不能被實例化B、Car是一個抽象類C、carBrand是一個抽象成員D、info和greeting都是Car的抽象方法正確答案:【info和greeting都是Car的抽象方法】23、問題:類classCounter{varvalue=0},Scala采用類似Java中的getter和setter方法,value字段默認定義的方法是?選項:A、value,value_B、value,value_=C、getter,setterD、getValue,setValue正確答案:【value,value_=】24、問題:defpw(x:Int):Int={if(x==0)1else2*pw(x-1)},求pw(5)?選項:A、15B、120C、32D、16正確答案:【32】25、問題:以下哪些選項屬于Scala的基本特性?選項:A、是一門類Java的多范式語言B、運行于Java虛擬機(JVM)之上,并且兼容現(xiàn)有的Java程序C、是一門純粹的面向?qū)ο蟮恼Z言D、是一門函數(shù)式語言,支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化(Currying)正確答案:【是一門類Java的多范式語言#運行于Java虛擬機(JVM)之上,并且兼容現(xiàn)有的Java程序#是一門純粹的面向?qū)ο蟮恼Z言#是一門函數(shù)式語言,支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化(Currying)】26、問題:關(guān)于主構(gòu)造器,以下說法正確的是?選項:A、主構(gòu)造器在每個類都可以定義多個B、主構(gòu)造器的參數(shù)可以直接放在類名后C、主構(gòu)造器會執(zhí)行類定義中的所有語句D、主構(gòu)造器中可以使用默認參數(shù)正確答案:【主構(gòu)造器的參數(shù)可以直接放在類名后#主構(gòu)造器會執(zhí)行類定義中的所有語句#主構(gòu)造器中可以使用默認參數(shù)】27、問題:Scala中,關(guān)于包的引用正確的是?選項:A、包和其成員可以用importB、可以引用某個文件夾下的特定文件C、可以引用某個文件夾下的所有文件D、包引用只能在編譯單元的開始處正確答案:【包和其成員可以用import#可以引用某個文件夾下的特定文件#可以引用某個文件夾下的所有文件】28、問題:Scala里的函數(shù)是“頭等公民”,以下哪些說法是正確的?選項:A、將函數(shù)賦值給變量B、將函數(shù)作為參數(shù)傳遞給其他函數(shù)C、將函數(shù)作為其他函數(shù)的返回值D、以上說法都不正確正確答案:【將函數(shù)賦值給變量#將函數(shù)作為參數(shù)傳遞給其他函數(shù)#將函數(shù)作為其他函數(shù)的返回值】29、問題:以下關(guān)于特質(zhì)的說法正確的是?選項:A、類可以實現(xiàn)任意數(shù)量的特質(zhì)B、特質(zhì)可以要求實現(xiàn)它們的類具備特定的字段、方法或超類C、與Java接口(Interface)相同,Scala特質(zhì)不可以提供方法和字段的實現(xiàn)D、當(dāng)將多個特質(zhì)疊加在一起時,順序很重要,其方法先被執(zhí)行的特質(zhì)排在更后面正確答案:【類可以實現(xiàn)任意數(shù)量的特質(zhì)#特質(zhì)可以要求實現(xiàn)它們的類具備特定的字段、方法或超類#當(dāng)將多個特質(zhì)疊加在一起時,順序很重要,其方法先被執(zhí)行的特質(zhì)排在更后面】30、問題:對于元組valt=(1,3.14,Fred)說法正確的是?選項:A、t_1等于1B、t的類型為Tuple3[Int,Double,java.lang.String]C、val(first,second,_)=t//second等于3.14D、t._0無法訪問,會拋出異常正確答案:【t的類型為Tuple3[Int,Double,java.lang.String]#val(first,second,_)=t//second等于3.14#t._0無法訪問,會拋出異常】31、問題:Scala語言中,下面描述正確的是?選項:A、Scala中,F(xiàn)loat是AnyVal的子類B、Scala中,Int是Long的子類C、Scala中,Double是AnyRef的子類D、Scala中,Long是AnyVal的子類正確答案:【Scala中,F(xiàn)loat是AnyVal的子類#Scala中,Long是AnyVal的子類】32、問題:對于valprices=Map(book-5,pen-2,sticker-1)結(jié)果說法正確的是?選項:A、prices(sticker)//等于1B、(prices+(shoes-30))(shoes)//等于30C、(prices-pen)(book)//等于5D、prices(sock)//等于0正確答案:【prices(sticker)//等于1#(prices+(shoes-30))(shoes)//等于30#(prices-pen)(book)//等于5】33、問題:Scala中,類和它的伴生對象說法正確的是?選項:A、類和它的伴生對象定義在同一個文件中B、類和它的伴生對象可以有不同的名稱C、類和它的伴生對象可以互相訪問私有特性D、類有靜態(tài)方法,伴生對象沒有靜態(tài)方法正確答案:【類和它的伴生對象定義在同一個文件中#類和它的伴生對象可以互相訪問私有特性】34、問題:關(guān)于數(shù)組vala=Array(1,2,3)下列說法正確的是?選項:A、valb=2*a//b等于Array(2,4,6)B、valb=a.map(_*2)//b等于Array(2,4,6)C、valb=for(elem-a)yield2*elem//b等于Array(2,4,6)D、valb=for(elem-aifelem%2==0)yield2*elem//b等于Array(4)正確答案:【valb=a.map(_*2)//b等于Array(2,4,6)#valb=for(elem-a)yield2*elem//b等于Array(2,4,6)#valb=for(elem-aifelem%2==0)yield2*elem//b等于Array(4)】35、問題:關(guān)于Scala的類層級結(jié)構(gòu),以下說法正確的是?選項:A、AnyVal是所有值類型的父類B、Nothing是所有其他類型的子類C、null可以賦值給Char類型的變量D、Null是所有引用類型的子類正確答案:【AnyVal是所有值類型的父類#Nothing是所有其他類型的子類#Null是所有引用類型的子類】36、問題:以下關(guān)于Scala各種數(shù)據(jù)結(jié)構(gòu)的說法正確的是?選項:A、集合(Set)是不重復(fù)元素的容器B、迭代器(Iterator)是一種提供了按順序訪問容器元素的數(shù)據(jù)結(jié)構(gòu)C、映射(Map)是一系列鍵值對的容器,在一個映射中,鍵是唯一的,值也是唯一的D、列表(List)一旦被定義,其值就不能改變正確答案:【集合(Set)是不重復(fù)元素的容器#迭代器(Iterator)是一種提供了按順序訪問容器元素的數(shù)據(jù)結(jié)構(gòu)#列表(List)一旦被定義,其值就不能改變】37、問題:valbooks=List(“Hadoop”,”Hive”,”Mapreduce”),以下哪些操作能將字符串全部變成大寫?選項:A、books.map(s=s.toUpperCase)B、for(book-books)yieldbook.toUpperCaseC、books.map(_.toUpperCase)D、for(book-books;c-book)yieldc.toUpperCase正確答案:【books.map(s=s.toUpperCase)#for(book-books)yieldbook.toUpperCase#books.map(_.toUpperCase)】38、問題:在Scala中,關(guān)于Nothing,null,Null,Option,Some,None的說法正確的是?選項:A、Nothing是所有其他類型的子類,沒有實例,主要用于異常處理函數(shù)的返回類型B、null表示一個空對象,可以賦值給任何引用類型C、類Option是一個抽象類,有一個具體子類Some和一個對象None,分別表示有值和無值的情況D、Null是所有引用類型的子類,其唯一的實例是null正確答案:【Nothing是所有其他類型的子類,沒有實例,主要用于異常處理函數(shù)的返回類型#null表示一個空對象,可以賦值給任何引用類型#類Option是一個抽象類,有一個具體子類Some和一個對象None,分別表示有值和無值的情況#Null是所有引用類型的子類,其唯一的實例是null】第3章Spark的設(shè)計與運行原理單元測驗1、問題:以下哪個不是Spark的組件?選項:A、SparkStreamingB、MLlibC、GraphXD、Flink正確答案:【Flink】2、問題:下面哪個不是RDD的特點?選項:A、可分區(qū)B、可序列化C、可修改D、可持久化正確答案:【可修改】3、問題:Task是Executor上的工作單元,運行于下面哪個組件上?選項:A、DriverProgramB、SparkMasterC、WorkerNodeD、ClusterManager正確答案:【W(wǎng)orkerNode】4、問題:下面哪個操作肯定是寬依賴?選項:A、mapB、filterC、reduceByKeyD、union正確答案:【reduceByKey】5、問題:以下是Spark的主要特點的有?選項:A、運行速度快B、容易使用,簡潔的API設(shè)計有助于用戶輕松構(gòu)建并行程序C、通用性,Spark提供了完整而強大的技術(shù)棧D、運行模式多樣正確答案:【運行速度快#容易使用,簡潔的API設(shè)計有助于用戶輕松構(gòu)建并行程序#通用性,Spark提供了完整而強大的技術(shù)棧#運行模式多樣】6、問題:Spark的運行架構(gòu)包括哪些?選項:A、集群資源管理器(ClusterManager)B、執(zhí)行進程(Executor)C、WorkerNodeD、任務(wù)控制節(jié)點DriverProgram正確答案:【集群資源管理器(ClusterManager)#執(zhí)行進程(Executor)#WorkerNode#任務(wù)控制節(jié)點DriverProgram】7、問題:關(guān)于RDD之間的依賴分為窄依賴和寬依賴,以下說法正確的是?選項:A、存在一個父RDD的一個分區(qū)對應(yīng)一個子RDD的多個分區(qū),則為寬依賴B、存在一個父RDD的多個分區(qū)對應(yīng)一個子RDD的一個分區(qū),則為寬依賴C、存在一個父RDD的一個分區(qū)只被一個子RDD的一個分區(qū)所使用,則為窄依賴D、存在一個父RDD的一個分區(qū)被一個子RDD的多個分區(qū)所使用,則為窄依賴正確答案:【存在一個父RDD的一個分區(qū)對應(yīng)一個子RDD的多個分區(qū),則為寬依賴#存在一個父RDD的一個分區(qū)只被一個子RDD的一個分區(qū)所使用,則為窄依賴】8、問題:Spark可以采用幾種不同的部署方式,以下正確的部署方式有?選項:A、LocalB、StandaloneC、SparkonMesosD、SparkonYARN正確答案:【Local#Standalone#SparkonMesos#SparkonYARN】9、問題:目前的大數(shù)據(jù)處理典型應(yīng)用場景可分為哪幾個類型?選項:A、復(fù)雜的批量數(shù)據(jù)處理B、基于歷史數(shù)據(jù)的交互式查詢C、大數(shù)據(jù)的分布式計算D、基于實時數(shù)據(jù)流的數(shù)據(jù)處理正確答案:【復(fù)雜的批量數(shù)據(jù)處理#基于歷史數(shù)據(jù)的交互式查詢#基于實時數(shù)據(jù)流的數(shù)據(jù)處理】10、問題:以下選項中哪些是Spark的優(yōu)點?選項:A、具有高效的容錯性B、利用進程模型C、可以將中間結(jié)果持久化到內(nèi)存D、表達能力有限正確答案:【具有高效的容錯性#可以將中間結(jié)果持久化到內(nèi)存】第4章Spark環(huán)境搭建和使用方法單元測驗1、問題:判斷HDFS是否啟動成功,可以通過哪個命令?選項:A、hdfsB、sparkC、jpsD、start-dfs正確答案:【jps】2、問題:spark-shell在啟動時,master-url采用local[*]時,它的含義是?選項:A、使用任意個線程來本地化運行SparkB、使用與邏輯CPU個數(shù)相同數(shù)量的線程來本地化運行SparkC、使用與邏輯CPU個數(shù)相同數(shù)量的進程來本地化運行SparkD、使用單個線程來本地化運行Spark正確答案:【使用與邏輯CPU個數(shù)相同數(shù)量的線程來本地化運行Spark】3、問題:下面描述正確的是:選項:A、Hadoop和Spark不能部署在同一個集群中B、Hadoop只包含了存儲組件,不包含計算組件C、Spark是一個分布式計算框架,可以和Hadoop組合使用D、Spark和Hadoop是競爭關(guān)系,二者不能組合使用正確答案:【Spark是一個分布式計算框架,可以和Hadoop組合使用】4、問題:Spark部署模式有哪幾種?選項:A、Local模式(單機模式)B、Standalone模式C、YARN模式D、Mesos模式正確答案:【Local模式(單機模式)#Standalone模式#YARN模式#Mesos模式】5、問題:關(guān)于Hadoop和Spark的相互關(guān)系,以下說法正確的是?選項:A、Hadoop和Spark可以相互協(xié)作B、Hadoop負責(zé)數(shù)據(jù)的存儲和管理C、Spark負責(zé)數(shù)據(jù)的計算D、Spark要操作Hadoop中的數(shù)據(jù),需要先啟動HDFS正確答案:【Hadoop和Spark可以相互協(xié)作#Hadoop負責(zé)數(shù)據(jù)的存儲和管理#Spark負責(zé)數(shù)據(jù)的計算#Spark要操作Hadoop中的數(shù)據(jù),需要先啟動HDFS】6、問題:HDFS若啟動成功,系統(tǒng)會列出以下哪些進程?選項:A、NameNodeB、HDFSC、DataNodeD、SecondaryNameNode正確答案:【NameNode#DataNode#SecondaryNameNode】7、問題:spark-shell在啟動時,采用yarn-client模式時,以下說法正確的是?選項:A、當(dāng)用戶提交了作業(yè)之后,不能關(guān)掉ClientB、當(dāng)用戶提交了作業(yè)之后,就可以關(guān)掉ClientC、該模式適合運行交互類型的作業(yè)D、該模式不適合運行交互類型的作業(yè)正確答案:【當(dāng)用戶提交了作業(yè)之后,不能關(guān)掉Client#該模式適合運行交互類型的作業(yè)】8、問題:spark-shell在啟動時,采用yarn-cluster模式時,以下說法正確的是?選項:A、當(dāng)用戶提交了作業(yè)之后,不能關(guān)掉ClientB、當(dāng)用戶提交了作業(yè)之后,就可以關(guān)掉ClientC、該模式適合運行交互類型的作業(yè)D、該模式不適合運行交互類型的作業(yè)正確答案:【當(dāng)用戶提交了作業(yè)之后,就可以關(guān)掉Client#該模式不適合運行交互類型的作業(yè)】9、問題:開發(fā)Spark獨立應(yīng)用程序的基本步驟通常有哪些?選項:A、安裝編譯打包工具,如sbt,MavenB、編寫Spark應(yīng)用程序代碼C、編譯打包D、通過spark-submit運行程序正確答案:【安裝編譯打包工具,如sbt,Maven#編寫Spark應(yīng)用程序代碼#編譯打包#通過spark-submit運行程序】10、問題:集群上運行Spark應(yīng)用程序的方法步驟有哪些?選項:A、啟動Hadoop集群B、啟動Spark的Master節(jié)點和所有Slave節(jié)點C、在集群中運行應(yīng)用程序JAR包D、查看集群信息以獲得應(yīng)用程序運行的相關(guān)信息正確答案:【啟動Hadoop集群#啟動Spark的Master節(jié)點和所有Slave節(jié)點#在集群中運行應(yīng)用程序JAR包#查看集群信息以獲得應(yīng)用程序運行的相關(guān)信息】第5章RDD編程單元測驗1、問題:下面哪個方法是用來從文件系統(tǒng)中加載數(shù)據(jù)創(chuàng)建RDD的選項:A、txtFile()B、textfile()C、textFile()D、parallelize()正確答案:【textFile()】2、問題:以下操作中,哪個不是SparkRDD編程中的操作選項:A、filter()B、reduceByKey(func)C、reduce()D、getLastOne()正確答案:【getLastOne()】3、問題:valdata=Array(1,2,3,4,5)valrdd1=sc.parallelize(data)valrdd2=rdd1.map(x=x+10)上述語句執(zhí)行以后,rdd2中的元素是選項:A、1,2,3,4,5B、3,4,5,6,7C、11,12,13,14,15D、10,11,12,13,14正確答案:【11,12,13,14,15】4、問題:valarray=Array(“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”)vallines=sc.papallelize(array)valwords=lines.flatMap(line=line.split(“”))上述語句執(zhí)行以后,words中的元素是選項:A、“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”B、”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”C、”Hadoop”,”Spark”,”fast”D、”Spark”,”is”,”fast”正確答案:【”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”】5、問題:假設(shè)有一個RDD的名稱為words,包含9個元素,分別是:(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1),(”Spark”,1),(”is”,1),(”better”,1)。則語句words.groupByKey()的執(zhí)行結(jié)果得到的新的RDD中,所包含的元素是選項:A、(”Hadoop”,1),(”is”,(1,1,1)),(”good”,1),(”Spark”,(1,1)),(”fast”,1),(”better”,1)B、(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1)C、(”good”,(1,1)),(”Spark”,(1,1,1)),(”is”,1),(”fast”,1)D、(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1)正確答案:【(”Hadoop”,1),(”is”,(1,1,1)),(”good”,1),(”Spark”,(1,1)),(”fast”,1),(”better”,1)】6、問題:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.take(3)上述語句執(zhí)行的結(jié)果是選項:A、3B、6C、Array(1,2,3)D、Array(2,3,4)正確答案:【Array(1,2,3)】7、問題:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.reduce((a,b)=a+b)上述語句執(zhí)行的結(jié)果是選項:A、15B、14C、13D、12正確答案:【15】8、問題:有一個鍵值對RDD,名稱為pairRDD,它包含4個元素,分別是(“Hadoop”,1)、(“Spark”,1)、(“Hive”,1)和(“Spark”,1),則pairRDD.reduceByKey((a,b)=a+b)執(zhí)行結(jié)果得到的RDD,它里面包含的元素是選項:A、(“Hadoop”,2),(“Spark”,1),(“Hive”,1)B、(“Hadoop”,1),(“Spark”,2),(“Hive”,1)C、(“Hadoop”,2),(“Spark”,2),(“Hive”,2)D、(“Hadoop”,1),(“Spark”,2),(“Hive”,2)正確答案:【(“Hadoop”,1),(“Spark”,2),(“Hive”,1)】9、問題:valwords=Array(one,two,two,three,three,three)valwordPairsRDD=sc.parallelize(words).map(word=(word,1))valwordCountsWithGroup=wordPairsRDD.groupByKey().map(t=(t._1,t._2.sum))上述語句的執(zhí)行結(jié)果wordCountsWithGroup中包含的元素是選項:A、(“one”,1),(“two”,1),(“three”,1)B、(“one”,1),(“two”,2),(“three”,1)C、(“one”,3),(“two”,2),(“three”,1)D、(“one”,1),(“two”,2),(“three”,3)正確答案:【(“one”,1),(“two”,2),(“three”,3)】10、問題:valwords=Array(one,two,two,three,three,three)valwordPairsRDD=sc.parallelize(words).map(word=(word,1))wordCountsWithReduce=wordPairsRDD.reduceByKey(_+_)上述語句的執(zhí)行結(jié)果wordCountsWithReduce中包含的元素是選項:A、(“one”,1),(“two”,2),(“three”,3)B、(“one”,1),(“two”,2),(“three”,1)C、(“one”,3),(“two”,2),(“three”,1)D、(“one”,1),(“two”,2),(“three”,2)正確答案:【(“one”,1),(“two”,2),(“three”,3)】11、問題:有一個鍵值對RDD,名稱為pairRDD,包含4個元素,分別是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),則pairRDD.keys操作得到的RDD中所包含的元素是選項:A、”Hadoop”,”Spark”,”Hive”,”Spark”B、”Hadoop”,”Spark”,”Hive”C、(”Hadoop”,1),(”Spark”,1),(”Hive”,1)D、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)正確答案:【”Hadoop”,”Spark”,”Hive”,”Spark”】12、問題:有一個RDD,名稱為pairRDD,包含4個元素,分別是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),則pairRDD.values操作得到的RDD中所包含的元素是選項:A、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)B、1,1,1,1C、”Hadoop”,1,”Spark”,1D、4正確答案:【1,1,1,1】13、問題:有一個鍵值對RDD,名稱為pairRDD,包含4個元素,分別是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),則pairRDD.mapValues(x=x+1)操作得到的RDD中所包含的元素是選項:A、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)B、1,1,1,1C、2,2,2,2D、(Hadoop,2)、(Spark,2)、(Hive,2)和(Spark,2)正確答案:【(Hadoop,2)、(Spark,2)、(Hive,2)和(Spark,2)】14、問題:valpairRDD1=sc.parallelize(Array((spark,1),(spark,2),(hadoop,3),(hadoop,5)))valpairRDD2=sc.parallelize(Array((spark,fast)))pairRDD1.join(pairRDD2)上述語句執(zhí)行以后,pairRDD1這個RDD中所包含的元素是選項:A、(“spark”,(1,”fast”)),(“spark”,(2,”fast”))B、(“hadoop”,(3,”fast”)),(“hadoop”,(5,”fast”))C、(“hadoop”,(2,”fast”)),(“hadoop”,(1,”fast”))D、(“spark”,(3,”fast”)),(“spark”,(5,”fast”))正確答案:【(“spark”,(1,”fast”)),(“spark”,(2,”fast”))】15、問題:RDD操作包括哪兩種類型選項:A、轉(zhuǎn)換(Transformation)B、連接(Join)C、分組(GroupBy)D、行動(Action)正確答案:【轉(zhuǎn)換(Transformation)#行動(Action)】16、問題:以下操作中,哪些是轉(zhuǎn)換(Transformation)操作選項:A、filter()B、count()C、first(D、reduceByKey(func)正確答案:【filter()#reduceByKey(func)】17、問題:以下操作中,哪些是行動(Action)操作選項:A、map()B、groupByKey()C、collect()D、reduce()正確答案:【collect()#reduce()】18、問題:以下關(guān)于RDD的持久化的描述,正確的是選項:A、persist(MEMORY_ONLY):表示將RDD作為反序列化的對象存儲于JVM中,如果內(nèi)存不足,就要按照LRU原則替換緩存中的內(nèi)容B、persist(MEMORY_AND_DISK):表示將RDD作為反序列化的對象存儲在JVM中,如果內(nèi)存不足,超出的分區(qū)將會被存放在硬盤上C、通過持久化(緩存)機制可以避免重復(fù)計算的開銷D、使用cache()方法時,會調(diào)用persist(MEMORY_ONLY)正確答案:【persist(MEMORY_ONLY):表示將RDD作為反序列化的對象存儲于JVM中,如果內(nèi)存不足,就要按照LRU原則替換緩存中的內(nèi)容#persist(MEMORY_AND_DISK):表示將RDD作為反序列化的對象存儲在JVM中,如果內(nèi)存不足,超出的分區(qū)將會被存放在硬盤上#通過持久化(緩存)機制可以避免重復(fù)計算的開銷#使用cache()方法時,會調(diào)用persist(MEMORY_ONLY)】19、問題:關(guān)于RDD分區(qū)的作用,下面描述正確的是選項:A、增加并行度B、增加時間開銷C、減少通信開銷D、減少并行度正確答案:【增加并行度#減少通信開銷】第6章SparkSQL單元測驗1、問題:關(guān)于Shark,下面描述正確的是:選項:A、Shark提供了類似Pig的功能B、Shark把SQL語句轉(zhuǎn)換成MapReduce作業(yè)C、Shark重用了Hive中的HiveQL解析、邏輯執(zhí)行計劃翻譯、執(zhí)行計劃優(yōu)化等邏輯D、Shark的性能比Hive差很多正確答案:【Shark重用了Hive中的HiveQL解析、邏輯執(zhí)行計劃翻譯、執(zhí)行計劃優(yōu)化等邏輯】2、問題:下面關(guān)于SparkSQL架構(gòu)的描述錯誤的是:選項:A、在Shark原有的架構(gòu)上重寫了邏輯執(zhí)行計劃的優(yōu)化部分,解決了Shark存在的問題B、SparkSQL在Hive兼容層面僅依賴HiveQL解析和Hive元數(shù)據(jù)C、SparkSQL執(zhí)行計劃生成和優(yōu)化都由Catalyst(函數(shù)式關(guān)系查詢優(yōu)化框架)負責(zé)D、SparkSQL執(zhí)行計劃生成和優(yōu)化需要依賴Hive來完成正確答案:【SparkSQL執(zhí)行計劃生成和優(yōu)化需要依賴Hive來完成】3、問題:要把一個DataFrame保存到people.json文件中,下面語句哪個是正確的:選項:A、df.write.json(people.json)B、df.json(people.json)C、df.write.format(csv).save(people.json)D、df.write.csv(people.json)正確答案:【df.write.json(people.json)】4、問題:以下操作中,哪個不是DataFrame的常用操作:選項:A、printSchema()B、select()C、filter()D、sendto()正確答案:【sendto()】5、問題:Shark的設(shè)計導(dǎo)致了兩個問題:選項:A、執(zhí)行計劃優(yōu)化完全依賴于Hive,不方便添加新的優(yōu)化策略B、執(zhí)行計劃優(yōu)化不依賴于Hive,方便添加新的優(yōu)化策略C、Spark是線程級并行,而MapReduce是進程級并行,因此,Spark在兼容Hive的實現(xiàn)上存在線程安全問題,導(dǎo)致Shark不得不使用另外一套獨立維護的、打了補丁的Hive源碼分支D、Spark是進程級并行,而MapReduce是線程級并行,因此,Spark在兼容Hive的實現(xiàn)上存在線程安全問題,導(dǎo)致Shark不得不使用另外一套獨立維護的、打了補丁的Hive源碼分支正確答案:【執(zhí)行計劃優(yōu)化完全依賴于Hive,不方便添加新的優(yōu)化策略#Spark是線程級并行,而MapReduce是進程級并行,因此,Spark在兼容Hive的實現(xiàn)上存在線程安全問題,導(dǎo)致Shark不得不使用另外一套獨立維護的、打了補丁的Hive源碼分支】6、問題:下面關(guān)于為什么推出SparkSQL的原因的描述正確的是:選項:A、SparkSQL可以提供DataFrameAPI,可以對內(nèi)部和外部各種數(shù)據(jù)源執(zhí)行各種關(guān)系操作B、可以支持大量的數(shù)據(jù)源和數(shù)據(jù)分析算法,組合使用SparkSQL和SparkMLlib,可以融合傳統(tǒng)關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)管理能力和機器學(xué)習(xí)算法的數(shù)據(jù)處理能力C、SparkSQL無法對各種不同的數(shù)據(jù)源進行整合D、SparkSQL無法融合結(jié)構(gòu)化數(shù)據(jù)管理能力和機器學(xué)習(xí)算法的數(shù)據(jù)處理能力正確答案:【SparkSQL可以提供DataFrameAPI,可以對內(nèi)部和外部各種數(shù)據(jù)源執(zhí)行各種關(guān)系操作#可以支持大量的數(shù)據(jù)源和數(shù)據(jù)分析算法,組合使用SparkSQL和SparkMLlib,可以融合傳統(tǒng)關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)管理能力和機器學(xué)習(xí)算法的數(shù)據(jù)處理能力】7、問題:下面關(guān)于DataFrame的描述正確的是:選項:A、DataFrame的推出,讓Spark具備了處理大規(guī)模結(jié)構(gòu)化數(shù)據(jù)的能力B、DataFrame比原有的RDD轉(zhuǎn)化方式更加簡單易用,而且獲得了更高的計算性能C、Spark能夠輕松實現(xiàn)從MySQL到DataFrame的轉(zhuǎn)化,并且支持SQL查詢D、DataFrame是一種以RDD為基礎(chǔ)的分布式數(shù)據(jù)集,提供了詳細的結(jié)構(gòu)信息正確答案:【DataFrame的推出,讓Spark具備了處理大規(guī)模結(jié)構(gòu)化數(shù)據(jù)的能力#DataFrame比原有的RDD轉(zhuǎn)化方式更加簡單易用,而且獲得了更高的計算性能#Spark能夠輕松實現(xiàn)從MySQL到DataFrame的轉(zhuǎn)化,并且支持SQL查詢#DataFrame是一種以RDD為基礎(chǔ)的分布式數(shù)據(jù)集,提供了詳細的結(jié)構(gòu)信息】8、問題:要讀取people.json文件生成DataFrame,可以使用下面哪些命令:選項:A、spark.read.json(people.json)B、spark.read.parquet(people.json)C、spark.read.format(json).load(people.json)D、spark.read.format(csv).load(people.json)正確答案:【spark.read.json(people.json)#spark.read.format(json).load(people.json)】9、問題:從RDD轉(zhuǎn)換得到DataFrame包含兩種典型方法,分別是:選項:A、利用反射機制推斷RDD模式B、使用編程方式定義RDD模式C、利用投影機制推斷RDD模式D、利用互聯(lián)機制推斷RDD模式正確答案:【利用反射機制推斷RDD模式#使用編程方式定義RDD模式】10、問題:使用編程方式定義RDD模式時,主要包括哪三個步驟:選項:A、制作“表頭”B、制作“表中的記錄”C、制作映射表D、把“表頭”和“表中的記錄”拼裝在一起正確答案:【制作“表頭”#制作“表中的記錄”#把“表頭”和“表中的記錄”拼裝在一起】第7章SparkStreaming單元測驗1、問題:以下流計算框架中,哪個不是開源的:選項:A、IBMStreamBaseB、TwitterStormC、Yahoo!S4D、SparkStreaming正確答案:【IBMStreamBase】2、問題:下面關(guān)于SparkStreaming的描述錯誤的是:選項:A、SparkStreaming的基本原理是將實時輸入數(shù)據(jù)流以時間片為單位進行拆分,然后采用Spark引擎以類似批處理的方式處理每個時間片數(shù)據(jù)B、SparkStreaming最主要的抽象是DStream(DiscretizedStream,離散化數(shù)據(jù)流),表示連續(xù)不斷的數(shù)據(jù)流C、SparkStreaming可整合多種輸入數(shù)據(jù)源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字D、SparkStreaming的數(shù)據(jù)抽象是DataFrame正確答案:【SparkStreaming的數(shù)據(jù)抽象是DataFrame】3、問題:下面關(guān)于SparkStreaming和Storm的描述正確的是:選項:A、SparkStreaming無法實現(xiàn)毫秒級的流計算,而Storm可以實現(xiàn)毫秒級響應(yīng)B、SparkStreaming可以實現(xiàn)毫秒級的流計算,而Storm無法實現(xiàn)毫秒級響應(yīng)C、SparkStreaming和Storm都可以實現(xiàn)毫秒級的流計算D、SparkStreaming和Storm都無法實現(xiàn)毫秒級的流計算正確答案:【SparkStreaming無法實現(xiàn)毫秒級的流計算,而Storm可以實現(xiàn)毫秒級響應(yīng)】4、問題:下面描述錯誤的是:選項:A、在RDD編程中需要生成一個SparkContext對象B、在SparkSQL編程中需要生成一個SparkSession對象C、運行一個SparkStreaming程序,就需要首先生成一個StreamingContext對象D、在SparkSQL編程中需要生成一個StreamingContext對象正確答案:【在SparkSQL編程中需要生成一個StreamingContext對象】5、問題:下面不屬于SparkStreaming基本輸入源的是:選項:A、文件流B、套接字流C、RDD隊列流D、雙向數(shù)據(jù)流正確答案:【雙向數(shù)據(jù)流】6、問題:以下關(guān)于流數(shù)據(jù)特征的描述,哪些是正確的:選項:A、數(shù)據(jù)快速持續(xù)到達,潛在大小也許是無窮無盡的B、數(shù)據(jù)來源眾多,格式復(fù)雜C、數(shù)據(jù)量大,但是不十分關(guān)注存儲,一旦流數(shù)據(jù)中的某個元素經(jīng)過處理,要么被丟棄,要么被歸檔存儲D、數(shù)據(jù)順序顛倒,或者不完整,系統(tǒng)無法控制將要處理的新到達的數(shù)據(jù)元素的順序正確答案:【數(shù)據(jù)快速持續(xù)到達,潛在大小也許是無窮無盡的#數(shù)據(jù)來源眾多,格式復(fù)雜#數(shù)據(jù)量大,但是不十分關(guān)注存儲,一旦流數(shù)據(jù)中的某個元素經(jīng)過處理,要么被丟棄,要么被歸檔存儲#數(shù)據(jù)順序顛倒,或者不完整,系統(tǒng)無法控制將要處理的新到達的數(shù)據(jù)元素的順序】7、問題:流計算處理流程一般包括哪三個階段:選項:A、數(shù)據(jù)實時采集B、數(shù)據(jù)實時計算C、數(shù)據(jù)匯總分析D、實時查詢服務(wù)正確答案:【數(shù)據(jù)實時采集#數(shù)據(jù)實時計算#實時查詢服務(wù)】8、問題:以下產(chǎn)品哪些屬于日志采集組件:選項:A、ScribeB、GraphXC、FlumeD、MySQL正確答案:【Scribe#Flume】9、問題:流處理系統(tǒng)與傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)的不同之處在于:選項:A、流處理系統(tǒng)處理的是實時的數(shù)據(jù),而傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)處理的是預(yù)先存儲好的靜態(tài)數(shù)據(jù)B、用戶通過流處理系統(tǒng)獲取的是實時結(jié)果,而通過傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)獲取的是過去某一時刻的結(jié)果C、流處理系統(tǒng)無需用戶主動發(fā)出查詢,實時查詢服務(wù)可以主動將實時結(jié)果推送給用戶D、流處理系統(tǒng)處理的是歷史的數(shù)據(jù),而傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)處理的是實時的數(shù)據(jù)正確答案:【流處理系統(tǒng)處理的是實時的數(shù)據(jù),而傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)處理的是預(yù)先存儲好的靜態(tài)數(shù)據(jù)#用戶通過流處理系統(tǒng)獲取的是實時結(jié)果,而通過傳統(tǒng)的數(shù)據(jù)處理系統(tǒng)獲取的是過去某一時刻的結(jié)果#流處理系統(tǒng)無需用戶主動發(fā)出查詢,實時查詢服務(wù)可以主動將實時結(jié)果推送給用戶】10、問題:編寫SparkStreaming程序的基本步驟包括:選項:A、通過創(chuàng)建輸入DStream(InputDstream)來定義輸入源B、通過對DStream應(yīng)用轉(zhuǎn)換操作和輸出操作來定義流計算C、調(diào)用StreamingContext對象的start()方法來開始接收數(shù)據(jù)和處理流程D、通過調(diào)用StreamingContext對象的awaitTermination()方法來等待流計算進程結(jié)束正確答案:【通過創(chuàng)建輸入DStream(InputDstream)來定義輸入源#通過對DStream應(yīng)用轉(zhuǎn)換操作和輸出操作來定義流計算#調(diào)用StreamingContext對象的start()方法來開始接收數(shù)據(jù)和處理流程#通過調(diào)用StreamingContext對象的awaitTermination()方法來等待流計算進程結(jié)束】11、問題:DStream有狀態(tài)轉(zhuǎn)換操作包括哪兩種:選項:A、update操作B、reduceByKey操作C、滑動窗口轉(zhuǎn)換操作D、updateStateByKey操作正確答案:【滑動窗口轉(zhuǎn)換操作#updateStateByKey操作】第8章SparkMLlib單元測驗1、問題:下面論述中錯誤的是:選項:A、機器學(xué)習(xí)和人工智能是不存在關(guān)聯(lián)關(guān)系的兩個獨立領(lǐng)域B、機器學(xué)習(xí)強調(diào)三個關(guān)鍵詞:算法、經(jīng)驗、性能C、推薦系統(tǒng)、金融反欺詐、語音識別、自然語言處理和機器翻譯、模式識別、智能控制等領(lǐng)域,都用到了機器學(xué)習(xí)的知識D、機器學(xué)習(xí)可以看作是一門人工智能的科學(xué),該領(lǐng)域的主要研究對象是人工智能正確答案:【機器學(xué)習(xí)和人工智能是不存在關(guān)聯(lián)關(guān)系的兩個獨立領(lǐng)域】2、問題:下面關(guān)于機器學(xué)習(xí)處理過程的描述,錯誤的是:選項:A、在數(shù)據(jù)的基礎(chǔ)上,通過算法構(gòu)建出模型并對模型進行評估B、評估的性能如果達到要求,就用該模型來測試其他的數(shù)據(jù)C、評估的性能如果達不到要求,就要調(diào)整算法來重新建立模型,再次進行評估D、通過算法構(gòu)建出的模型不需要評估就可以用于其他數(shù)據(jù)的測試正確答案:【通過算法構(gòu)建出的模型不需要評估就可以用于其他數(shù)據(jù)的測試】3、問題:下面關(guān)于機器學(xué)習(xí)流水線(PipeLine)的描述,錯誤的是:選項:A、流水線將多個工作流階段(轉(zhuǎn)換器和評估器)連接在一起,形成機器學(xué)習(xí)的工作流,并獲得結(jié)果輸出B、要構(gòu)建一個機器學(xué)習(xí)流水線,首先需要定義流水線中的各個PipelineStageC、PipelineStage稱為工作流階段,包括轉(zhuǎn)換器和評估器,比如指標提取和轉(zhuǎn)換模型訓(xùn)練等D、流水線構(gòu)建好以后,就是一個轉(zhuǎn)換器(Transformer)正確答案:【流水線構(gòu)建好以后,就是一個轉(zhuǎn)換器(Transformer)】4、問題:下面關(guān)于評估器(Estimator)的描述錯誤的是:選項:A、評估器是學(xué)習(xí)算法或在訓(xùn)練數(shù)據(jù)上的訓(xùn)練方法的概念抽象B、在機器學(xué)習(xí)流水線里,評估器通常是被用來操作DataFrame數(shù)據(jù)并生成一個轉(zhuǎn)換器C、評估器實現(xiàn)了方法transfrom(),它接受一個DataFrame并產(chǎn)生一個轉(zhuǎn)換器D、評估器實現(xiàn)了方法fit(),它接受一個DataFrame并產(chǎn)生一個轉(zhuǎn)換器正確答案:【評估器實現(xiàn)了方法transfrom(),它接受一個DataFrame并產(chǎn)生一個轉(zhuǎn)換器】5、問題:下面關(guān)于轉(zhuǎn)換器(Transformer)的描述錯誤的是:選項:A、轉(zhuǎn)換器是一種可以將一個DataFrame轉(zhuǎn)換為另一個DataFrame的算法B、技術(shù)上,轉(zhuǎn)換器實現(xiàn)了一個方法fit(),它通過附加一個或多個列,將一個DataFrame轉(zhuǎn)換為另一個DataFrameC、一個模型就是一個轉(zhuǎn)換器,它把一個不包含預(yù)測標簽的測試數(shù)據(jù)集DataFrame打上標簽,轉(zhuǎn)化成另一個包含預(yù)測標簽的DataFrameD、技術(shù)上,轉(zhuǎn)換器實現(xiàn)了一個方法transform(),它通過附加一個或多個列,將一個DataFrame轉(zhuǎn)換為另一個DataFrame正確答案:【技術(shù)上,轉(zhuǎn)換器實現(xiàn)了一個方法fit(),它通過附加一個或多個列,將一個DataFrame轉(zhuǎn)換為另一個DataFrame】6、問題:下面的論述中,正確的是:選項:A、傳統(tǒng)的機器學(xué)習(xí)算法,由于技術(shù)和單機存儲的限制,大多只能在少量數(shù)據(jù)上使用B、利用MapReduce框架在全量數(shù)據(jù)上進行機器學(xué)習(xí),這在一定程度上解決了統(tǒng)計隨機性的問題,提高了機器學(xué)習(xí)的精度C、MapReduce可以高效支持迭代計算D、Spark無法高效支持迭代計算正確答案:【傳統(tǒng)的機器學(xué)習(xí)算法,由于技術(shù)和單機存儲的限制,大多只能在少量數(shù)據(jù)上使用#利用MapReduce框架在全量數(shù)據(jù)上進行機器學(xué)習(xí),這在一定程度上解決了統(tǒng)計隨機性的問題,提高了機器學(xué)習(xí)的精度】7、問題:下面關(guān)于SparkMLlib庫的描述正確的是:選項:A、MLlib庫從1.2版本以后分為兩個包:spark.mllib和spark.mlB、spark.mllib包含基于DataFrame的原始算法APIC、spark.mllib包含基于RDD的原始算法APID、spark.ml則提供了基于RDD的、高層次的API正確答案:【MLlib庫從1.2版本以后分為兩個包:spark.mllib和spark.ml#spark.mllib包含基于RDD的原始算法API】8、問題:下面論述中正確的是:選項:A、DataFrame可容納各種數(shù)據(jù)類型,與RDD數(shù)據(jù)集相比,它包含了模式(schema)信息,類似于傳統(tǒng)數(shù)據(jù)庫中的二維表格B、流水線用DataFrame來存儲源數(shù)據(jù)C、轉(zhuǎn)換器(Transformer)是一種可以將一個DataFrame轉(zhuǎn)換為另一個DataFrame的算法D、評估器(Estimator)是一種可以將一個DataFrame轉(zhuǎn)換為另一個DataFrame的算法正確答案:【DataFrame可容納各種數(shù)據(jù)類型,與RDD數(shù)據(jù)集相比,它包含了模式(schema)信息,類似于傳統(tǒng)數(shù)據(jù)庫中的二維表格#流水線用DataFrame來存儲源數(shù)據(jù)#轉(zhuǎn)換器(Transformer)是一種可以將一個DataFrame轉(zhuǎn)換為另一個DataFrame的算法】《Spark編程基礎(chǔ)》期末考試1、問題:大數(shù)據(jù)技術(shù)及其代表性的軟件種類很多,不同的技術(shù)有其不同應(yīng)用場景,都對應(yīng)著不同的大數(shù)據(jù)計算模式,請問軟件產(chǎn)品Storm主要應(yīng)用于以下哪種計算模式:選項:A、批處理計算B、流計算C、圖計算D、查詢分析計算正確答案:【流計算】2、問題:經(jīng)過多年的發(fā)展,Hadoop生態(tài)系統(tǒng)不斷完善和成熟,目前已經(jīng)包含多個子項目,其中YARN的主要功能是選項:A、分布式并行編成模型B、數(shù)據(jù)倉庫工具C、負責(zé)集群資源調(diào)度管理的組件D、分布式海量日志采集、聚合和傳輸系統(tǒng)正確答案:【負責(zé)集群資源調(diào)度管理的組件】3、問題:Hadoop生態(tài)系統(tǒng)中用于構(gòu)建數(shù)據(jù)倉庫并允許用戶輸入SQL語句進行查詢的功能組件是選項:A、SparkB、PregelC、FlumeD、Hive正確答案:【Hive】4、問題:Hadoop的生態(tài)系統(tǒng)組件之一Sqoop的功能是選項:A、提供高可靠性、高可用、分布式的海量日志采集B、用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)C、負責(zé)集群資源調(diào)度管理的組件D、用來在Hadoop和關(guān)系數(shù)據(jù)庫之間的交換數(shù)據(jù),改進數(shù)據(jù)的互操作性正確答案:【用來在Hadoop和關(guān)系數(shù)據(jù)庫之間的交換數(shù)據(jù),改進數(shù)據(jù)的互操作性】5、問題:下面輸出與其他不一致的是選項:A、println(HelloWorld)B、print(HelloWorld\n)C、printf(Hello%s,World\n)D、valw=World;println(Hello$w)正確答案:【valw=World;println(Hello$w)】6、問題:對集合(Set)進行操作Set(2,0,1)+1+1-1之后的結(jié)果為選項:A、Set(2,0,1,1)B、Set(2,0,1)C、Set(2,0)D、以上均不正確正確答案:【Set(2,0)】7、問題:關(guān)于Map(book-5,pen-2).map(m=m._1-m._2*2)的結(jié)果,以下哪個是正確的選項:A、Map(bookbook-5,penpen-2)B、Map(bookbook-10,penpen-4)C、Map(book-10,pen-4)D、Map(book-5,pen-2,book-5,pen-2)正確答案:【Map(book-10,pen-4)】8、問題:關(guān)于元組Tuple說法錯誤的是選項:A、元組可以包含不同類型的元素B、元組是不可變的C、訪問元組tuple第一個元素的方式為tuple._1D、元組最多只有2個元素正確答案:【元組最多只有2個元素】9、問題:以下對集合的描述有誤的是選項:A、Set是一組沒有先后次序的值B、Map是一組(鍵,值)對偶C、每個Scala集合特質(zhì)或類都有一個帶有apply方法的伴生對象,可以用此方法來構(gòu)建該集合中的實例D、為了顧及安全性問題,Scala僅支持不可變集合,而不支持可變集合正確答案:【為了顧及安全性問題,Scala僅支持不可變集合,而不支持可變集合】10、問題:如果需要使用Scala庫中的sqrt函數(shù),如sqrt(2),下列引用包的方式錯誤的是選項:A、importscala.math._B、importsqrtC、importmath._D、importmath.sqrt正確答案:【importsqrt】11、問題:以下哪個不是Spark的組件?選項:A、SparkStreamingB、MLlibC、GraphXD、Flink正確答案:【Flink】12、問題:Task是Executor上的工作單元,運行于下面哪個組件上?選項:A、DriverProgramB、SparkMasterC、WorkerNodeD、ClusterManager正確答案:【W(wǎng)orkerNode】13、問題:下面哪個不是RDD的特點:選項:A、可分區(qū)B、可序列化C、可修改D、可持久化正確答案:【可修改】14、問題:spark-shell在啟動時,master-url采用local[*]時,它的含義是:選項:A、使用任意個線程來本地化運行SparkB、使用與邏輯CPU個數(shù)相同數(shù)量的線程來本地化運行SparkC、使用與邏輯CPU個數(shù)相同數(shù)量的進程來本地化運行SparkD、使用單個線程來本地化運行Spark正確答案:【使用與邏輯CPU個數(shù)相同數(shù)量的線程來本地化運行Spark】15、問題:下面描述正確的是選項:A、Hadoop和Spark不能部署在同一個集群中B、Hadoop只包含了存儲組件,不包含計算組件C、Spark是一個分布式計算框架,可以和Hadoop組合使用D、Spark和Hadoop是競爭關(guān)系,二者不能組合使用正確答案:【Spark是一個分布式計算框架,可以和Hadoop組合使用】16、問題:valarray=Array(“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”)vallines=sc.papallelize(array)valwords=lines.flatMap(line=line.split(“”))上述語句執(zhí)行以后,words中的元素是:選項:A、“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”B、”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”C、”Hadoop”,”Spark”,”fast”D、”Spark”,”is”,”fast”正確答案:【”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”】17、問題:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.reduce((a,b)=a+b)上述語句執(zhí)行的結(jié)果是:選項:A、15B、14C、13D、12正確答案:【15】18、問題:下面哪個方法是用來從文件系統(tǒng)中加載數(shù)據(jù)創(chuàng)建RDD的:選項:A、txtFile()B、textfile()C、textFile()D、parallelize()正確答案:【textFile()】19、問題:假設(shè)有一個RDD的名稱為words,包含9個元素,分別是:(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1),(”Spark”,1),(”is”,1),(”be

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論