![《云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用》習(xí)題解答參考_第1頁](http://file4.renrendoc.com/view/2204ef4ca5c694f8333319d769e2268a/2204ef4ca5c694f8333319d769e2268a1.gif)
![《云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用》習(xí)題解答參考_第2頁](http://file4.renrendoc.com/view/2204ef4ca5c694f8333319d769e2268a/2204ef4ca5c694f8333319d769e2268a2.gif)
![《云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用》習(xí)題解答參考_第3頁](http://file4.renrendoc.com/view/2204ef4ca5c694f8333319d769e2268a/2204ef4ca5c694f8333319d769e2268a3.gif)
![《云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用》習(xí)題解答參考_第4頁](http://file4.renrendoc.com/view/2204ef4ca5c694f8333319d769e2268a/2204ef4ca5c694f8333319d769e2268a4.gif)
![《云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用》習(xí)題解答參考_第5頁](http://file4.renrendoc.com/view/2204ef4ca5c694f8333319d769e2268a/2204ef4ca5c694f8333319d769e2268a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、云計算與大數(shù)據(jù)技術(shù)理論及應(yīng)用習(xí)題解答參考第 1 章 緒論一、 選擇題1, AB 2, D 3, B 4, ACD二、 簡答題1, 參考 1.1.1 和 1.1.2 節(jié)2, 參考 1. 2 節(jié)3, 答: CAP 定理是指對于一個分布式計算系統(tǒng)來說,不可能同時滿足一致性( C:Consistency)、可用性( A: Availability )和分區(qū)容錯性( P: Partition tolerance)這三個基本需求,最多只能同時滿足其中的兩項,不可能同時滿足三項。當(dāng) CAP 定理應(yīng)用在分布式存儲系統(tǒng)中,最多只能實現(xiàn)上面的兩點。而由于當(dāng)前的網(wǎng)絡(luò)硬件肯定 會出現(xiàn)延遲丟包等問題,所以分區(qū)容錯性是我
2、們必須需要實現(xiàn)的。所以,我們在設(shè) 計分布式系統(tǒng)時只能在一致性和可用性之間進(jìn)行權(quán)衡。4, 參考 1. 2 節(jié)第 2 章 分布式計算編程基礎(chǔ)一、填空題1.數(shù)據(jù)包 socket,流式 socket2.無連接方式,面向連接方式3.RMI 基本應(yīng)用, RMI 客戶回調(diào)應(yīng)用, RMI 樁下載應(yīng)用4.服務(wù)器,客戶端5.數(shù)據(jù)層,業(yè)務(wù)層,應(yīng)用層6.迭代服務(wù)器和并發(fā)服務(wù)器;有狀態(tài)服務(wù)器和無狀態(tài)服務(wù)器二、問答題1. 無連接方式將以任意順序到達(dá),而有連接方式則以發(fā)送順序按序到達(dá)2. setToTimeout 設(shè)置為 0 則表示永無超時,3. /*this example illustrates the basic m
3、ethod for receiving a datagram packet*/tryDatagramSocket mySocket = new DatagramSocket(port);System.out.println(Waiting for receiving the data!);/ instantiates a datagram socket for receiving the databyte buffer = new byte100;DatagramPacket datagram = new DatagramPacket(buffer, MAX_LEN);mySocket.set
4、SoTimeout(5000);catch(SocketTimeoutException e)System.out.println( “server response time out”);e.printStackTrace();4.參考解答如下:1) Draw a UML diagram to illustrate the relationship between the classes DatagramSocket ,MyDatagramSocket, Example2SenderReceiver, and Example2ReceiverSende. You need notsupply
5、 the attributes and methods of the DatagramSocket class.MyDatagramSocket DatagramSocketMAXLEN: intsendMessage( )receiveMessage( )Example2ReceiverSender Example2SenderReceiverreceiverHost: InetAddressmyPort: intreceiverPort: intmessage: StringmySocket: MyDatagramSocketmain( )receiverHost: InetAddress
6、myPort: intreceiverPort: intmessage: StringmySocket: MyDatagramSocketmain( )2) Compile the . java classes. Then start Example2ReceiverSender , thenExample2SenderReceiver . An example of the commands for running the programs is:java Example2ReceiverSender java Example2SenderReceiverlocalhost localhos
7、t10000200002000010000msg1msg2Describe the outcome. Why is the order of the execution of the two processes important?The ReceiverSender receives and displays msg2, the SenderReceiver receives anddisplay msg1.The order of executing the two processes is important because the receiver must beinitiated b
8、efore the senderReceiver sends its message. If the order is reversed, thereceiverSender will be blocked indefinitely for data that has already been sent and lost,and the senderReceiver will be blocked on a receive for data that now has no chance ofbeing sent. Thus a deadlock will result.3) Modify th
9、e code so that the senderReceiver sends then receives repeatedly, sleeping for 3 seconds between each iteration. Recompile and repeat the run. Do the same with the receiverSender. Compile and run the programs for a few minutes before terminating the programs (by entering the key stroke sequence cont
10、rol-C). Describe and explain the outcome.The ReceiverSender displays msg2 every 3 seconds, while the SenderReceiver displays msg1 every 3 seconds. The former receives msg2 from the SenderReciever then subsequently sends msg1 to it every 3 seconds, while the latter sends msg1 to the ReceiverSender th
11、en receives from it every 3 seconds.5. 略6. 略7. 支持并發(fā)功能8. 分布式應(yīng)用最廣泛最流行的范型是客戶9. 分布式應(yīng)用最基本的范型是消息傳遞模型10. P2P 應(yīng)用有很多,例如 Napster,迅雷,11. 消息傳遞模式是最基本的分布式計算范型,-服務(wù)器范型PPS 網(wǎng)絡(luò)電視等適用于大多數(shù)應(yīng)用; 客戶 -服務(wù)器范型是最流行的分布式計算范型,應(yīng)用最為廣泛; P2P 范型又稱為對等結(jié)構(gòu)范型,使得網(wǎng)絡(luò)以最有效率的方式運行,適用于各參與者地位平等的網(wǎng)絡(luò);分布式對象范型,是抽象化的遠(yuǎn)程 調(diào)用,適用于復(fù)雜的分布式計算應(yīng)用等。第 3 章 云計算原理與技術(shù)略,參考各章
12、節(jié)內(nèi)容。第 4 章云計算編程實踐1. 試說明基于 cloudsim 如何實現(xiàn)用戶自定義的虛擬機(jī)調(diào)度算法?答:對于用戶自定義的任務(wù)調(diào)度策略,可以通過修改 cloudsim 類或方法來實現(xiàn)用戶自定義的虛擬機(jī)調(diào)度算法(虛擬機(jī)到物理主機(jī)的映射) ,一般需要用戶重新實現(xiàn) DatacenterBroker類的 bindCloudletsToVms() 方法。算法模擬過程為:初始化 cloudsim 環(huán)境,創(chuàng)建數(shù)據(jù)中心和代理,在創(chuàng)建數(shù)據(jù)中心函數(shù)中,需要用到主機(jī)列表, 主機(jī)列表又需要 pe 列表和虛擬機(jī)調(diào)度算法。 最后創(chuàng)建一個虛擬機(jī)列表,生成一系列虛擬機(jī),提交到代理。2. 試說明基于 cloudsim 如何實
13、現(xiàn)用戶自定義的任務(wù)調(diào)度算法?答:對于用戶自定義的虛擬機(jī)調(diào)度策略,一般是需要用戶重新實現(xiàn) VmScheduler 類和VmAllocationPolicy 類。另外 VmScheduler 調(diào)度類一般不用改,因為他們是用來決定虛擬機(jī) 的調(diào)度策略是時間還是空間共享的。3.編程題:編寫一個程序,創(chuàng)建一個包含兩臺主機(jī)的數(shù)據(jù)中心,每個臺主機(jī)擁有四個核,多 個虛擬機(jī)。提交 N 個任務(wù),這些任務(wù)長度服從均勻分布,并打印任務(wù)長度與任務(wù)運行情況。思路: 比較簡單, 只有任務(wù)長度服從均勻分布需要思考一下, 其他都是基本的類的使用。均勻分布只需要用一個隨機(jī)函數(shù)產(chǎn)生某一范圍的均勻隨機(jī)數(shù)即可,因此想到用 Java 類庫
14、中的 Random 類。public class MySimExample private static final int NUM_CLOUDLET = 100; / 云任務(wù)的總數(shù)public static void main(String args) Log. printLine (Starting MySimExample. );try int num_user = 1;Calendar calendar = Calendar.getInstance();boolean trace_flag = false;CloudSim. init (num_user, calendar, trac
15、e_flag );/創(chuàng)建數(shù)據(jù)中心Datacenter datacenter0 = createDatacenter (Datacenter_0 );DatacenterBroker broker = createBroker ();int brokerId = broker .getId();/創(chuàng)建并提交虛擬機(jī)List vmlist = new ArrayList();int numVm = 8;vmlist .addAll( createVm(brokerId , numVm );broker .submitVmList( vmlist );/ 創(chuàng)建并提交任務(wù)List cloudletLis
16、t = new ArrayList();cloudletList .addAll( createCloudlet ( brokerId , NUM_CLOUDLET );broker .submitCloudletList( cloudletList );/啟動仿真CloudSim. startSimulation ();List newList = broker .getCloudletReceivedList();CloudSim. stopSimulation ();printCloudletList (newList );Log. printLine (MySimExample fin
17、ished! ); catch (Exception e) e.printStackTrace();Log. printLine (The simulation has been terminated due to an unexpectederror );private static Datacenter createDatacenter(String name) / 創(chuàng)建數(shù)據(jù)中心List hostList = new ArrayList();List peList = new ArrayList();/ 添加四個核芯int mips = 1000;int pesNumber = 4;for
18、 (int i = 0; i pesNumber; i+) peList1 .add( new Pe(i , new PeProvisionerSimple( mips);peList2 .add( new Pe(i , new PeProvisionerSimple( mips);int hostId = 0;int ram = 4096;long storage = 1000000;int bw = 10000;/ 添加兩臺主機(jī)hostList.add(new Host( hostId, new RamProvisionerSimple( ram),new BwProvisionerSim
19、ple( bw), storage, peList1 ,new VmSchedulerSpaceShared(peList1 );hostId+;hostList.add(new Host( hostId, new RamProvisionerSimple( ram),new BwProvisionerSimple( bw), storage, peList2 ,new VmSchedulerSpaceShared(peList2 );String arch = x86 ;String os = Linux ;String vmm = Xen ;double time_zone = 10.0;
20、double cost = 3.0;double costPerMem = 0.05;double costPerStorage = 0.001;double costPerBw = 0.0;LinkedList storageList = new LinkedList();DatacenterCharacteristics characteristics = new DatacenterCharacteristics(arch, os, vmm , hostList , time_zone, cost , costPerMem ,costPerStorage, costPerBw );Dat
21、acenter datacenter = null ;try datacenter = new Datacenter(name, characteristics,new VmAllocationPolicySimple( hostList ), storageList , 0); catch (Exception e) e.printStackTrace();return datacenter;private static List createVm( int brokerId , int numVm ) / 創(chuàng)建虛擬機(jī)List vmlist = new ArrayList();int vmi
22、d = 0;int mips = 1000;long size = 10000;int ram = 512;long bw = 1000;int pesNumber = 1;String vmm = Xen ;for (int i = 0; i numVm ; i+) Vm vm = new Vm( vmid + i , brokerId , mips , pesNumber, ram , bw , size,vmm , new CloudletSchedulerTimeShared();vmlist .add(vm );return vmlist ;/創(chuàng)建云任務(wù)private static
23、List createCloudlet( int brokerId , int numCloudlet ) List cloudletList = new ArrayList();double lambda = 0.1; / 指數(shù)分布的參數(shù)int id = 0;int pesNumber = 1;long length;long fileSize = 300;long outputSize = 300;UtilizationModel utilizationModel = new UtilizationModelFull();Cloudlet cloudlet = null ;for (int
24、 i = 0; i numCloudlet ; i +) length = ( long ) (2500 * randomInt (1,101); /250000 的 1%-100%cloudlet = new Cloudlet( id + i , length, pesNumber, fileSize ,outputSize , utilizationModel , utilizationModel ,utilizationModel );cloudlet .setUserId( brokerId );cloudletList .add(cloudlet );return cloudletL
25、ist ;private static DatacenterBroker createBroker() DatacenterBroker broker = null ;try broker = new DatacenterBroker( Broker ); catch (Exception e) e.printStackTrace();return null ;return broker;private static int randomInt( int min , int max) / randommin,max) 可取 min,不可取maxRandom random = new Rando
26、m();return random.nextInt( max) % (max - min + 1) + min ;private static void printCloudletList(List list ) int size = list .size();Cloudlet cloudlet ;String indent = ;Log. printLine (= OUTPUT = );Log. printLine (Cloudlet ID + indent + STATUS + indent+ Datacenter ID + indent + VM ID + indent + Length
27、+ indent + Time + indent + Start Time + indent+ Finish Time );DecimalFormat dft = new DecimalFormat( #.# );for ( int i = 0; i 文檔 集合 數(shù)據(jù)庫多個 Key-Value 對組織起來形成類似于 JSON 格式的文檔, 多個文檔組織成為一個集合,多個集合組織起來, 就形成了數(shù)據(jù)庫 (database)。 單個 MongoDB 實例可以使用多個數(shù)據(jù)庫, 每個數(shù)據(jù)庫都是獨立運作的, 可以有單獨的權(quán)限, 每個數(shù)據(jù)庫的數(shù)據(jù)被分開保存在不同的文 件里。適用范圍:適合實時的插入, 更新
28、與查詢, 并具備應(yīng)用程序?qū)崟r數(shù)據(jù)存儲所需的復(fù)制及高度伸縮性。適合作為信息基礎(chǔ)設(shè)施的持久化緩存層。適合由數(shù)十或數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。 因為 Mongo 已經(jīng)包含對 MapReduce 引擎的內(nèi)置支持。10. 名詞解釋: PRAM、 BSP、 LogP 與 MapReduce.PRAM :即并行隨機(jī)存取機(jī) ,也稱之為 SIMD-SM( 共享存儲的單指令流多數(shù)據(jù)流 )模型 ,是一種應(yīng)用于并行計算抽象模型 ?PRAM模型中 ,假設(shè)有一組有限或無限個獨立的至少擁有簡單算數(shù)計算能力和邏輯判斷能力的處理機(jī),每個處理機(jī)擁有自己的本地存儲(即寄存器) 假定存在一個容量無限大的共享存儲器, 這個存儲器被切分成
29、特定大小的存儲單元。 時間內(nèi),每個處理機(jī)都能夠隨機(jī)地訪問任意存儲單元。并在單位BSP:整體同步并行計算模型 (Bulk Synchronous Parallel Computing Model) , 又名大同步模型或 BSP 模型。在一個超級步中,各處理器均執(zhí)行局部操作,并且可以通過選路器接收 和發(fā)送消息。LogP: LogP 模型是一種分布存儲器 ?點對點通信的多處理器模型 ?這個模型說明了由互連網(wǎng)絡(luò)連接起來的計算機(jī)集群的性能特點 ,但沒有描述網(wǎng)絡(luò)的結(jié)構(gòu) ?MapReduce:MapReduce 模型是一種并行編程技術(shù)。 它源自函數(shù)式編程理念, 并有 Google把它應(yīng)用到在分布式計算環(huán)境上
30、的大規(guī)模數(shù)據(jù)處理中。11. 當(dāng)今流行的大數(shù)據(jù)處理模型 MapReduce 的數(shù)據(jù)處理過程及其優(yōu)劣勢。MapReduce 的輸入和輸出都是是一系列的 key/value 對。 MapReduce 運行環(huán)境的用戶通過實現(xiàn)兩個函數(shù) (Map 和 Reduce)來表達(dá)自己的算法。 Map 函數(shù), 通過讀入一系列的 key/value對來輸出一系列的以 key/value 對為形式的中間結(jié)果。 MapReduce 運行環(huán)境會收集這些中間結(jié)果的 key/value 對,并根據(jù) key 的值進(jìn)行聚合和排序,并將這些 key/value 對有序地傳遞給Reduce 函數(shù)。同樣由用戶定義的 列表, 合并這些 v
31、alue 來生成對應(yīng) 會產(chǎn)生一個或零個結(jié)果 value。Reduce 函數(shù)接收這些中間結(jié)果的 key 及與其對應(yīng)的 value key 的更小的一個 value 集合。通常觸發(fā)一次 Reduce 函數(shù)MapReduce 的優(yōu)勢:1、移動計算而不是移動數(shù)據(jù),避免了額外的網(wǎng)絡(luò)負(fù)載。2、任務(wù)之間相互獨立,讓局部故障可以更容易的處理,單個節(jié)點的故障的話只需要重 啟該節(jié)點任務(wù)即可。3、理想狀態(tài)下 MapReduce 模型是可線性擴(kuò)展的。4、 MapReduce 模型結(jié)構(gòu)簡單,終端用戶至少只需編寫6、 MapReduce 模型的擴(kuò)展性曲線是平坦的。12. 實際操作搭建編程環(huán)境并編寫簡單的調(diào)用 HDFSHD
32、FS、 HBase 的 API 文檔。略Map 和 Reduce 函數(shù)。和 HBase API 的程序,可參考13. 實際操作搭建編程環(huán)境并編寫簡單的 文檔。略MapReduce 的程序,可參考 Hadoop 的 API14. 與 MapReduce 相比, Impala 的優(yōu)勢在哪里?為什么有效率方面的優(yōu)勢?Impala 的優(yōu)勢:1、較 MapReduce 而言, Impala 使用 HQL 作為查詢語言, 使用者學(xué)習(xí)的門檻更低。2、 Impala 對于 MapReduce 而言在處理 HQL 查詢是效率更高,官方數(shù)據(jù)時十倍以上。3、 Impala 采用類似 P2P 對等網(wǎng)的架構(gòu), 沒有 M
33、aster 與 Slave 之分, 即使若干個 Daemon故障也不會影響整個系統(tǒng)可用性,不會像 MapReduce 架構(gòu)中的 JobTracker 以后存在單點故障的風(fēng)險。Impala 處理 HQL 查詢在效率方面有優(yōu)勢的原因 :Impala 采用了 Linux 原生 C 語言作為基礎(chǔ)環(huán)境,更多地采用緩存機(jī)制,減少 ETL 的次數(shù),提高了執(zhí)行效率。直接從本地文件系統(tǒng)讀取 Impala 是一個專門為 HQL 查詢處理的查詢引擎, 說,對于查詢有更多的優(yōu)化。HDFS 中的數(shù)據(jù),提高了數(shù)據(jù)的本地行。相對于 MapReduce 這種通用的計算模型來15. HadoopDB 是否是對于 Hadoop
34、和 Hive 的修改?如果是,它大體上修改了哪些地方?是的。添加了一下組件:Databse Connector:作用:連接節(jié)點上的 實現(xiàn)方法:擴(kuò)展 Hadoop Catalog :作用TaskTracker 數(shù)據(jù)庫。節(jié)點上的數(shù)據(jù)庫相當(dāng)于于傳統(tǒng)的 InputFormat ,使 Hadoop 可以讀寫數(shù)據(jù)庫的內(nèi)容。Hadoop 中的 HDFS。1.連接數(shù)據(jù)庫用到的參數(shù)的存儲,如數(shù)據(jù)庫位置,驅(qū)動類和證書;2.保存了一些元數(shù)據(jù), 的 NameNode。實現(xiàn)保存于 HDFS 上的Data Loader如數(shù)據(jù)簇中的數(shù)據(jù)集,XML 配置文檔,副本的位置, 數(shù)據(jù)的劃分, 類似于 Hadoop作用將數(shù)據(jù)合理劃分
35、為數(shù)據(jù)塊,從 HDFS 轉(zhuǎn)移到節(jié)點中的本地文件系統(tǒng)實現(xiàn)全局哈希函數(shù)把數(shù)據(jù)分配到不同節(jié)點。本地哈希函數(shù)將分配到本節(jié)點的數(shù)據(jù)繼續(xù)劃分為不同 SQL to MapReduce to SQL (SMS) Planner作用將 HiveQL 轉(zhuǎn)化為特定執(zhí)行計劃, 在 HadoopDBchunks中執(zhí)行。 原則是盡可能的講操作推向節(jié)點上的 RDBMS 上執(zhí)行,以此提高執(zhí)行效率。實現(xiàn)擴(kuò)展 Hive: 1.執(zhí)行查找前, 用 catolog 的信息更新 Hive 的 metastore, 定向到節(jié)點數(shù)據(jù)庫的表 2.執(zhí)行前,決定劃分的鍵;將部分查詢語句推到節(jié)點的數(shù)據(jù)庫中執(zhí)行。16. HadoopDB 其優(yōu)點是什么
36、?HadoopDB 的優(yōu)點:? 結(jié)合 Hive 對 SQL 強(qiáng)大的支持并直接生成 map/reduce 任務(wù),不需要再手動編寫map/reduce 程序。? 利用關(guān)系數(shù)據(jù)庫查數(shù)據(jù)則又是利用單節(jié)點的性能優(yōu)勢。? 利用 Hadoop 所具有的高容錯性、高可用性以及對于高通量計算的性能優(yōu)越性。17. 對本章節(jié)中提及的工具及其搭建方法做實踐。 略18、 在搭建 HDP 集群環(huán)境的過程中, 我們使用了 SSH 的方式進(jìn)行建立, 請嘗試不通過 SSH 方式為集群添加一個新的 Ambari Agent 節(jié)點(提示:需要提前在所要添加的主機(jī)上安裝好 Ambari-Agent 服務(wù)) 。參考答案:在新的節(jié)點上,
37、重復(fù) 10.1.2.1 小節(jié)的環(huán)境準(zhǔn)備工作,獲取并修改獲取 Repo 文件,可參考 10.1.2.3 小節(jié),通過指令 yum install ambari-agent 安裝 Ambari Agent 服務(wù),然后編輯/etc/ambari-agent/conf/ambari-agent.ini 文件,內(nèi)容如下。編輯完畢后,通過指令 ambari-agentstart 啟動服務(wù),然后依次在集群主界面中點擊頂部 “Hosts”選項卡 -“Actions ”-“Add New Hosts ”,需要注意的是在步驟“ Install Options ” (參考圖 10.10)中, 勾選最下面的 “Perf
38、orm manual registration on hosts and do not use SSH ”, 其余按照流程填寫相關(guān)信息即可。19、請在 Zeppelin 中查詢出各個城市非正常駕駛事件發(fā)生的比率?參考答案:第 7 章 實時醫(yī)療大數(shù)據(jù)分析案例1.實時醫(yī)療大數(shù)據(jù)分析的核心預(yù)測模型是什么?參考答案:核心預(yù)測模型是隨機(jī)森林模型, Spark 集成了相關(guān)的功能,可以很方便地通過 Spark MLib進(jìn)行建模和預(yù)測。2.請根據(jù)教材內(nèi)容重現(xiàn)思考實時醫(yī)療大數(shù)據(jù)分析的實現(xiàn)程序。參考答案:( 1)數(shù)據(jù)清理:主要通過界面操作實現(xiàn),不存在實現(xiàn)程序;(2) Kafka 到 Spark Streaming
39、:請參考 4.2.2 代碼;(3)訓(xùn)練隨機(jī)森林模型及預(yù)測結(jié)果:請參考 4.3.1 代碼。3.請總結(jié)實時醫(yī)療大數(shù)據(jù)分析的現(xiàn)實過程。參考答案:( 1)對過往歷史收集存儲的病例數(shù)據(jù)進(jìn)行數(shù)據(jù)清理操作,(2)實時病人數(shù)據(jù)輸入到高吞吐量的分布式消息系統(tǒng)并使用 Spark MLib 訓(xùn)練預(yù)測模型;Kafka ,并由 Spark Streaming 讀?。唬?)預(yù)測模型對 Spark Streaming 讀取的實時數(shù)據(jù)進(jìn)行預(yù)測并給出結(jié)果,若經(jīng)驗證正確可添 加到歷史數(shù)據(jù)集,作為源數(shù)據(jù)重新訓(xùn)練模型,提高模型準(zhǔn)確度。第 8 章 保險大數(shù)據(jù)分析案例略,參考各章節(jié)內(nèi)容第 9 章 基于 Spark 聚類算法的網(wǎng)絡(luò)流量異常
40、檢測略,參考各章節(jié)內(nèi)容第 10 章 基于 Hadoop 的宏基因組序列比對計算習(xí)題1. 什么是宏基因組學(xué)?答:宏基因組學(xué) (Metagenomics)又被稱為環(huán)境基因組學(xué),是一門直接研究自然狀態(tài)下微生物群落 (包含了可培養(yǎng)的和不可培養(yǎng)的細(xì)菌、真菌和病毒等基因組的總和 )的學(xué)科。2. 序列比對軟件分為可以哪幾類?答: 序列比對軟件依據(jù)其構(gòu)建索引的算法原理可大致分為兩類: 基于哈希表索引的序列比對方法和基于后綴樹索引的序列比對算法。3. 請簡述 Hadoop Streaming 的工作原理。 Hadoop Streaming 設(shè)置輸入輸出文件處理方式的 命令選項是什么?答: Hadoop Stre
41、aming 是 Hadoop 為方便非 Java 用戶編寫 MapReduce 程序而設(shè)計的一個工具包。 它允許用戶將任何可執(zhí)行文件或者腳本作 Mapper/Reducer, 這大大提高了程序員的開發(fā)效率。 Hadoop Streaming 實現(xiàn)的關(guān)鍵是它使用 UNIX 標(biāo)準(zhǔn)流作為程序與Hadoop 之間的接口,它要求用戶編寫的 Mapper/Reducer 從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),并將結(jié)果寫到標(biāo)準(zhǔn)數(shù)據(jù)中。Hadoop Streaming 設(shè) 置 輸 入 輸 出 文 件 處 理 方 式 的 命 令 選 項 是 -inputformat 和 -outputformat。第 11 章 基于細(xì)胞反應(yīng)大
42、數(shù)據(jù)的生物效應(yīng)評估計算1、什么是生物效應(yīng)評估?實現(xiàn)它的主要技術(shù)路線是什么?意義何在?答:生物效應(yīng)評估是通過測定和分析生物制劑刺激各種人體細(xì)胞后的數(shù)字化轉(zhuǎn)錄組反應(yīng), 快速確定相關(guān)的檢測標(biāo)志物和治療靶標(biāo), 極大縮短防治手段的研發(fā)過程, 以快速有效地應(yīng)對可能的生物威脅。從技術(shù)路線上看, 采用了典型的大數(shù)據(jù)策略, 即首先是系統(tǒng)地積累各種潛在生物制劑作用下的細(xì)胞反應(yīng)大數(shù)據(jù), 以此為基礎(chǔ), 通過大范圍數(shù)據(jù)比較推測突發(fā)生物效應(yīng)模式, 在數(shù)據(jù)的推動下實現(xiàn)技術(shù)跨越。其意義在于為下一步面向以大數(shù)據(jù)分析技術(shù)為基礎(chǔ)的生物效應(yīng)快速監(jiān)測技術(shù)體系奠定 了研究基礎(chǔ)。2、 LINCS 項目的全稱是什么?其目標(biāo)是什么?已取得那些
43、成果?答: LINCS 項目的全稱是 “基于網(wǎng)絡(luò)的細(xì)胞反應(yīng)印記整合圖書館由麻省理工學(xué)院和哈佛大學(xué)共同組建的 BROAD 研究所承擔(dān),種化學(xué)分子對 15 種典型人體細(xì)胞刺激后的基因表達(dá)情況?!薄F淠繕?biāo)是系統(tǒng)檢測 15000目前該計劃第一期已獲得了 15 種典型細(xì)胞中 3000 余個基因沉默和 5000 余種化學(xué)小分子刺激下的 130 余萬個全基因組表達(dá)譜。3、GSEA 算法的主要思想是什么?它分為哪幾個主要的步驟?當(dāng)某一表達(dá)譜包含 1000 個基 因,分別取前 50 個基因和后 50 個基因為基因集,與該表達(dá)譜比較算得的富集積分為多少(p=0)?答: GSEA 主要用于分析兩個不同表形樣本集之間
44、的表達(dá)差異, 其基本思想是檢驗所定義基因集 (Gene Set)S 中的基因在整個微陣列實驗中所測得的已排序的所有基因列表 (GeneList) L 中是均勻分布還是集中于頂端或底部。GSEA 分為 3 個主要步驟: 1) 富集積分的計算; 2) 估計 ES 的顯著性水平 (SignificanceLevel); 3)調(diào)整多重假設(shè)檢驗。 分別算得的富集積分為 1 和-1。4、 KMedoids 聚類相較于 KMeans 算法有何種優(yōu)勢? KMedoids+ 又作了何種優(yōu)化?答: KMedoids 的優(yōu)勢主要是解決了 KMeans 的 “噪聲敏感 ”問題?;叵?KMeans 尋找質(zhì)點的過程: 它
45、是對某類簇中所有的樣本點維度求平均值, 即獲得該類簇質(zhì)點的維度。 當(dāng)聚類的樣本點中有 “噪聲 ”(離群點)時,在計算類簇質(zhì)點的過程中會受到噪聲異常維度的干擾,造 成 所 得 質(zhì) 點 和 實 際 質(zhì) 點 位 置 偏 差 過 大, 從 而 使 類 簇 發(fā) 生 “畸 變 ”。 為 了 解 決 該 問題, KMedoids 提出了新的質(zhì)點選取方式,而不是簡單像 kMeans 算法采用均值計算法。在KMedoids 算法中,每次迭代后的質(zhì)點都是從聚類的樣本點中選取,而選取的標(biāo)準(zhǔn)就是當(dāng)該樣本點成為新的質(zhì)點后能提高類簇的聚類質(zhì)量, 使得類簇更緊湊。 該算法使用絕對誤差標(biāo)準(zhǔn)來定義一個類簇的緊湊程度。KMedo
46、ids 也需要隨機(jī)地產(chǎn)生初始聚類中心,不同的初始聚類中心可能導(dǎo)致完全不同的聚類結(jié)果。而 KMedoids+ 算法選擇初始 seeds的基本思想就是:初始的聚類中心之間的相 互距離要盡可能的遠(yuǎn)。從而在一定程度上優(yōu)化了初始聚類中心的生成問題。5、案例中對 KMedoids 算法并行化的核心思路是什么?答: 通過對單次迭代過程并行化來避免迭代間的相關(guān)依賴。 通過類標(biāo)記向量和平均距離向量在每次迭代中劃分新類和確定新的聚類中心。第 12 章 基于 SPARK 的海量宏基因組聚類問題分析計算1. 簡述大數(shù)據(jù)的定義及其它的特征。答: 大數(shù)據(jù)并沒有統(tǒng)一的定義, 但是通常它是指所處理的數(shù)據(jù)規(guī)模巨大到無法通過目前
47、主流數(shù)據(jù)庫軟件工具,在可以接受的時間內(nèi)完成抓取、儲存、 管理和分析,并從中提取出人類可以理解的資訊。4V 特征:第一個特征 Volume 是數(shù)據(jù)體量巨大。第二個特征 Variety:數(shù)據(jù)類型繁多。非結(jié)構(gòu)和半結(jié)構(gòu)數(shù)據(jù)正是大數(shù)據(jù)處理的難點所在。第三個特征 Velocity :處理速度快,時效性強(qiáng)。最后一個特征是 Value:商業(yè)價值高,但是價值密度低。單個數(shù)據(jù)的價值很低,只有大 量數(shù)據(jù)聚合起來處理才能借助歷史數(shù)據(jù)預(yù)測未來走勢,體現(xiàn)出大數(shù)據(jù)計算的價值所在。2. 思考: HDFS 體系結(jié)構(gòu)是否存在其局限性或瓶頸。 采用 Master-Slave 結(jié)構(gòu), 必定會存在單點故障問題與詳細(xì)的請讀者補充。3.
48、HDFS 中為什么默認(rèn)副本數(shù)為 3?答: 副本數(shù)為 3 的集群中, 將一個副本保存到本地機(jī)架NameNode 性能瓶頸問題。 其他更1 的一個節(jié)點 1 上, 第二個副本保存到本地機(jī)架的一個節(jié)點 2 上,第三個副本由節(jié)點 2 傳輸復(fù)制到遠(yuǎn)程機(jī)架 2 的節(jié)點 3 上。把三分之二的副本儲存在本地機(jī)架, 把三分之一的副本儲存在遠(yuǎn)程機(jī)架。 這樣做既保證了數(shù) 據(jù)的可靠性, 又節(jié)省了機(jī)架之間的網(wǎng)絡(luò)帶寬。 一整個機(jī)架崩潰的概率很明顯遠(yuǎn)遠(yuǎn)低于單個節(jié) 點的崩潰概率。一個機(jī)架崩潰了可以由另一機(jī)架保證數(shù)據(jù)的可用性。4. HBase 是如何實現(xiàn)隨機(jī)快速存取數(shù)據(jù)的?為什么要 HBASE 在創(chuàng)建表時只需要定義 列族,列族是
49、如何存儲的?隨機(jī)寫入: HBase 底層的存儲是采用了一個 keyvalue 的文件結(jié)構(gòu), 稱作 hfile 來實現(xiàn)的;HBase 的隨機(jī)寫入并不是立刻寫入 HDFS; 而是先寫入內(nèi)存 memstore,當(dāng) memstore 達(dá)到一定的閥值后才會寫入 HDFS ;而且 HBase 的后臺合并機(jī)制,將 memstore 寫入到 HDFS 的小文件合并成大文件;隨機(jī)刪除: HBase 中刪除數(shù)據(jù)并不是立即刪除, 而只是在數(shù)據(jù)上做好標(biāo)記, 然后再下一次合并操作的時候進(jìn)行清理。隨機(jī)讀取: HBase 在存儲數(shù)據(jù)時在一個 hfile 中只存儲同一列族的數(shù)據(jù),并且數(shù)據(jù)時按Row key 排序的,因此在讀取
50、數(shù)據(jù)時只需要根據(jù) Row key 跳轉(zhuǎn)到指定行就讀取數(shù)據(jù)。 HBase特別擅長的是對于同一列族的順序讀取, 如順序讀取。5. Cassandra中超級列族與超級列與所以隨機(jī)小數(shù)據(jù)量讀取雖然可行, 但是性能遠(yuǎn)遠(yuǎn)不HBase 中的列族和列有什么區(qū)別和聯(lián)系?超級列 (super column)是一種特殊的列。兩種列都是名 /值對,但是普通列的值是字節(jié)數(shù)組, 而超級列的值是一個子列的映射。 超級列不能存儲其他的超級列的映射, 即超級列僅允許使用一層,但是它不限制列的數(shù)量。超級列族概念上和普通列族相似,只不過它是超級列的集合。6. Cassandra提供了怎樣的可供用戶選擇的一致性級別?寫一致性如果是向
51、 Cassandra寫數(shù)據(jù),一致性級別指定了必須寫多少個副本成功后再返回給客戶端應(yīng)用。寫可以使用如下一致性級別, ANY 是最低的一致性 (但可用性最高 ), ALL 是最高的一致性 (但可用性最低 ), QUORUM 是中間的可確保強(qiáng)一致性, 可以容忍一定程度的故障。ANY 至少一個節(jié)點響應(yīng)寫操作。 如果請求的 row key 對應(yīng)的所有的副本節(jié)點都停止了,接收到請求的節(jié)點會記錄 HINT 消息和請求數(shù)據(jù),然后響應(yīng)寫成功。在所有副本節(jié)點至少有一個啟動之前,所有讀 row key 會失敗。并且 HINT間,如果在這段時間內(nèi)所有副本節(jié)點還不可用,則數(shù)據(jù)會丟失。ONETWO集群中至少有 1 個副本
52、節(jié)點寫成功。集群中至少有 2 個副本節(jié)點寫成功。row key 對應(yīng)的消息只保留一段時THREE 集群中至少有 3 個副本節(jié)點寫成功。QUORUM 集群中至少有 quorum 個副本節(jié)點寫成功 .quorum=(各數(shù)據(jù)中心副本因子之和 )/2 + 1 ,假如 2 個數(shù)據(jù)中心, 1 個數(shù)據(jù)中的副本因子 3, 1 個數(shù)據(jù)中心的副本因子是 2, quorum=(3+2)/2 + 1 = HYPERLINK l _bookmark1 3LOCAL_QUORUM 集群中同 1 個數(shù)據(jù)中心至少有 quorum 個副本節(jié)點寫成功。quorum=(本數(shù)據(jù)中心副本因子 )/2 + 1,假如接受請求的節(jié)點所在的數(shù)
53、據(jù)中心的副本因子是 2, 則 quorum=(2)/2 + 1 = HYPERLINK l _bookmark2 2EACH_QUORUM 集群中每個數(shù)據(jù)中心至少有 計算同 LOCAL_QUORUM 。ALL 集群中所有副本節(jié)點寫成功。讀一致性quorum 個副本節(jié)點寫成功。 quorum如果是向 Cassandra讀數(shù)據(jù),一致性級別指定了必須多少個副本響應(yīng)后再返回給客戶端應(yīng)用結(jié)果。 ONE TWOTHREE返回集群最近副本 (決定于 snitch)的響應(yīng)。 返回集群里 2 個最近副本中的最新數(shù)據(jù)。 返回集群里 3 個最近副本中的最新數(shù)據(jù)。QUORUM 返回集群里 quorum 個副本中的最新
54、數(shù)據(jù)。quorum=(各數(shù)據(jù)中心副本因子之和 )/2 + 1 ,假如 2 個數(shù)據(jù)中心, 1 個數(shù)據(jù)中的副本因子 3, 1 個數(shù)據(jù)中心的副本因子是 2,quorum=(3+2)/2 + 1 = 3LOCAL_QUORUM 返回集群里當(dāng)前數(shù)據(jù)中心 quorum 個副本中的最新數(shù)據(jù)。quorum=(本數(shù)據(jù)中心副本因子 )/2 + 1,假如接受請求的節(jié)點所在的數(shù)據(jù)中心的副本因子是 2, 則 quorum=(2)/2 + 1 = HYPERLINK l _bookmark5 2EACH_QUORUM 返回集群中每個數(shù)據(jù)中心至少有 quorum 計算同 LOCAL_QUORUM 。ALL 返回集群中所有副
55、本中的最新數(shù)據(jù)。quorum 個副本中的最新數(shù)據(jù)。7. Redis 的數(shù)據(jù)類型是怎樣的?是否像 HBase 一樣是 Key-Value 形式?Redis 并不是簡單的 key-value 存儲, 實際上他是一個數(shù)據(jù)結(jié)構(gòu)服務(wù)器, 支持不同類型的值。也就是說,你不必僅僅把字符串當(dāng)作鍵所指向的值。下列這些數(shù)據(jù)類型都可作為值類型。字符串( string) 、列表 (list) 、集合 (set)、有序集合 (orted set)、希表( hash)。? String 是最基本的一種數(shù)據(jù)類型,普通的 key/value 存儲都可以歸為此類。? List 類型其實就是一個每個子元素都是 String 類型
56、的雙向鏈表。? Set 是 String 類型的無序集合。? Sorted set和 set一樣也是 string 類型元素的集合,不同的是每個元素都會關(guān)聯(lián)一個double 類型的 score。? Hash 是一個 string 類型的 field 和 value 的映射表 .它的添加, 刪除操作都是 O(1)(平均) .hash特別適合用于存儲對象。8. Redis 提供了哪兩種分布式模型?讀寫分離模型: 傳統(tǒng) Master 與 Slave 模式。數(shù)據(jù)分片模型: 將每個節(jié)點看成都是獨立的 master,然后通過業(yè)務(wù)實現(xiàn)數(shù)據(jù)分片。結(jié)合上面兩種模型,可以將每個 master設(shè)計成由一個 mast
57、er 和多個 slave 組成的模型。9. MongoDB 的數(shù)據(jù)組織形式是怎樣的?它的特點與應(yīng)用場景是怎樣的?MongoDB 組織數(shù)據(jù)的方式如下:Key-Value 對 文檔 集合 數(shù)據(jù)庫多個 Key-Value 對組織起來形成類似于 JSON 格式的文檔, 多個文檔組織成為一個集合,多個集合組織起來, 就形成了數(shù)據(jù)庫 (database)。 單個 MongoDB 實例可以使用多個數(shù)據(jù)庫, 每個數(shù)據(jù)庫都是獨立運作的, 可以有單獨的權(quán)限, 每個數(shù)據(jù)庫的數(shù)據(jù)被分開保存在不同的文 件里。適用范圍:適合實時的插入, 更新與查詢, 并具備應(yīng)用程序?qū)崟r數(shù)據(jù)存儲所需的復(fù)制及高度伸縮性。適合作為信息基礎(chǔ)設(shè)施
58、的持久化緩存層。適合由數(shù)十或數(shù)百臺服務(wù)器組成的數(shù)據(jù)庫。 因為 Mongo 已經(jīng)包含對 MapReduce 引擎的內(nèi)置支持。10. 名詞解釋: PRAM、 BSP、 LogP 與 MapReduce.PRAM :即并行隨機(jī)存取機(jī) ,也稱之為 SIMD-SM( 共享存儲的單指令流多數(shù)據(jù)流 )模型 ,是一種應(yīng)用于并行計算抽象模型 ?PRAM模型中 ,假設(shè)有一組有限或無限個獨立的至少擁有簡單算數(shù)計算能力和邏輯判斷能力的處理機(jī),每個處理機(jī)擁有自己的本地存儲(即寄存器) 假定存在一個容量無限大的共享存儲器, 這個存儲器被切分成特定大小的存儲單元。 時間內(nèi),每個處理機(jī)都能夠隨機(jī)地訪問任意存儲單元。并在單位B
59、SP:整體同步并行計算模型 (Bulk Synchronous Parallel Computing Model) , 又名大同步模型或 BSP 模型。在一個超級步中,各處理器均執(zhí)行局部操作,并且可以通過選路器接收 和發(fā)送消息。LogP: LogP 模型是一種分布存儲器 ?點對點通信的多處理器模型 ?這個模型說明了由互連網(wǎng)絡(luò)連接起來的計算機(jī)集群的性能特點 ,但沒有描述網(wǎng)絡(luò)的結(jié)構(gòu) ?MapReduce:MapReduce 模型是一種并行編程技術(shù)。 它源自函數(shù)式編程理念, 并有 Google把它應(yīng)用到在分布式計算環(huán)境上的大規(guī)模數(shù)據(jù)處理中。11. 當(dāng)今流行的大數(shù)據(jù)處理模型 MapReduce 的數(shù)據(jù)
60、處理過程及其優(yōu)劣勢。MapReduce 的輸入和輸出都是是一系列的 key/value 對。 MapReduce 運行環(huán)境的用戶通過實現(xiàn)兩個函數(shù) (Map 和 Reduce)來表達(dá)自己的算法。 Map 函數(shù), 通過讀入一系列的 key/value對來輸出一系列的以 key/value 對為形式的中間結(jié)果。 MapReduce 運行環(huán)境會收集這些中間結(jié)果的 key/value 對,并根據(jù) key 的值進(jìn)行聚合和排序,并將這些 key/value 對有序地傳遞給Reduce 函數(shù)。同樣由用戶定義的 列表, 合并這些 value 來生成對應(yīng) 會產(chǎn)生一個或零個結(jié)果 value。Reduce 函數(shù)接收這
溫馨提示
- 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年度知識產(chǎn)權(quán)保護(hù)與運營顧問合同
- 2025年度綠色建筑設(shè)計與施工合同書
- 2025年度健身房健身教練職業(yè)培訓(xùn)與考核合同
- 2025年度農(nóng)業(yè)現(xiàn)代化貸款合同書
- 2025-2030年固體膠原蛋白肽企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年基因檢測教育普及平臺企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025年度網(wǎng)絡(luò)安全技術(shù)股權(quán)合作合同
- 2025-2030年手術(shù)室設(shè)備快速安裝家具企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025年度在線教育平臺講師招募合同
- 2025年度廣告燈箱維護(hù)保養(yǎng)服務(wù)合同范本
- 二次供水衛(wèi)生管理制度及辦法(4篇)
- 中學(xué)生手機(jī)使用管理協(xié)議書
- 給排水科學(xué)與工程基礎(chǔ)知識單選題100道及答案解析
- 2024年土地變更調(diào)查培訓(xùn)
- 2024年全國外貿(mào)單證員鑒定理論試題庫(含答案)
- 新版中國食物成分表
- DB11∕T 446-2015 建筑施工測量技術(shù)規(guī)程
- 運輸車輛掛靠協(xié)議書(15篇)
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- 醫(yī)院醫(yī)療質(zhì)量管理制度完整版
- 粵劇課程設(shè)計
評論
0/150
提交評論