1.Docker中鏡像、容器和資料卷的概念
Docker 鏡像是一個特殊的檔案系統,除了提供容器運作時所需的程式、庫、資源、配置等檔案外,還包含了一些為運作時準備的一些配置參數(如匿名卷、環境變量、使用者等)。鏡像不包含任何動态資料,其内容在建構之後也不會被改變。鏡像并非是像一個 ISO 那樣的打封包件,鏡像隻是一個虛拟的概念,其實際展現并非由一個檔案組成,而是由一組檔案系統組成,或者說,由多層檔案系統聯合組成。
Docker容器是一個開源的應用容器引擎,讓開發者可以以統一的方式打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何安裝了docker引擎的伺服器上(包括流行的Linux機器、windows機器),也可以實作虛拟化。
Docker資料卷是用來解決資料持久化和資料共享的。它是一個可供一個或多個容器使用的特殊目錄,多個容器可共享同一個Volume,實作資料共享,它繞過UFS,使得容器将資料直接存儲到主控端的硬碟上。
(下方答案太片面,可與上面答案結合)
容器(Containers):是獨立運作的一個或一組應用,以及他們的運作态環境,是輕量級的,功能非常強悍,可讀寫,動态的。
鏡像(Images):類似虛拟機中的快照,更輕量,隻讀,靜态的。
資料卷(Data Volume):是一個可供一個或多個容器使用的特殊目錄,多個容器可共享同一個Volume,實作資料共享。
2.大資料平台中将實體節點轉化成虛拟節點的優缺點:
優點:解決實體節點維護繁瑣的瓶頸,虛拟化具有備份、快照、雙機熱備等多種功能。
缺點:上述功能很多是以犧牲硬體性能為代價的。
3.分布式大資料與經典關系資料庫的對比:
若圖不夠清晰,可私發

4.CDH的部署流程:(書P63)
第一步:Cloudera Manager安裝
(1)下載下傳CM安裝包
(2)運作安裝CM
第二步:添加服務
(1)添加Cloudera Management Service
(2)添加HDFS服務
(3)Zookeeper安裝(對叢集進行管理,如增添節點)
(4)YARN安裝
(5)Hive安裝
(6)Impala安裝
(7)CDH狀态一覽
5.本課程大資料的三種定義(書P1)
(1)麥肯錫公司最早給出大資料定義:大資料是超過傳統資料庫工具的擷取、存儲、分析能力的資料集,并不是超過TB的才叫大資料。
(2)維基百科:大資料是指無法在可承受的時間範圍内用正常軟體工具進行捕捉、管理和處理的資料集。
(3)本書編者:大資料是超過傳統資料庫工具、傳統資料結構、傳統程式設計語言、傳統程式設計思想的擷取、存儲、分析能力的資料集。
6.大資料的四個V,并解釋它們的含義:
Volume:資料容量巨大。大資料的起始計量機關至少是P、E、Z。
Velocity:處理速度快。
Variety:資料類型繁多。比如,網絡日志、視訊、圖檔、地理位置等。
Veracity:價值密度低,商業價值高。
7.大資料的三大核心技術,簡要解釋
(1)HDFS指被設計成适合運作在通用硬體上的分布式檔案系統。HDFS是 一個高度容錯性的系統,适合部署在廉價的機器上。
(2)MapReduce:處理海量資料的并行程式設計模型和計算架構。用于大規模資料集的并行運算。概念"Map"和"Reduce",是它們的主要思想,都是從函數式程式設計語言裡借來的,還有從矢量程式設計語言裡借來的特性。
(3)HBase一個高可靠、高性能、面向列、可伸縮的分布式資料庫,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲叢集。
8.Docker,OpenStack,CDH,MapR,HDP等工具在大資料平台中的位置及作用,架構圖。
Dokcer實作虛拟化,OpenStack、CDH、HDP,MapR是平台層,對叢集進行管理和監控
Docker 可以讓我們把一台實體機虛拟成多台來使用,在一台實體機上可以建立幾百上千個容器,而虛拟機做不到。直接通過核心建立虛拟的作業系統執行個體,在其上進行平台搭建
openstack将硬體資源虛拟化出計算資源池,向上開放了一系列API,用于支援上層應用的開發,滿足使用者對計算資源的各種需求。
CDH提供了Hadoop的核心可擴充存儲(HDFS)和分布式計算(MR),還提供了WEB頁面進行管理、監控。
MapR是一款融合資料平台(Converged Data Platform),這種平台在同一個叢集上支援資料流、互動式處理和批處理,實際上使Lambda架構扁平化。
(架構圖是一張張照片,所寫内容過多,可以适當放棄,如果想要可以私聊)
9.為什麼需要HDFS?HDFS基本原理?節點類型和各自功能?
HDFS是hadoop分布式管理系統,它可以存儲和管理PB級别以上資料,有大規模資料分布存儲能力,有高并發通路能力,并通過建構廉價的機群實作檔案的分發和存儲,不僅增加存儲的量而且增加了安全性。
HDFS的基本原理:使用者把資料交給HDFS的Name結點,通過對檔案的切分,然後Name接點把資料分發給各個資料接點進行存儲和備份,實作把大量的資料進行存儲和分發。
一個基本的Hadoop叢集中的節點主要有
NameNode:負責協調叢集中的資料存儲.
DataNode:存儲被拆分的資料塊.
JobTracker:協調資料計算任務.
TaskTracker:負責執行由JobTracker指派的任務.
SecondaryNameNode:幫助NameNode收集檔案系統運作的狀态資訊
10.MapReduce程式設計模型,三個步驟,用WordCount舉例。
三個步驟:Mapping,shuffle,Reducing
11.Spark和Hadoop的優缺點及各自應用場景。
Hadoop優點:(後4個是以前的考題答案)
1.處理超⼤⽂件:這⾥的超⼤⽂件通常指的是GB、 TB甚⾄PB⼤⼩
的⽂件。
2.運⾏于廉價的商⽤機器叢集上: HDFS設計對硬體需求⽐較
低,隻需運⾏在低廉的的商⽤機器叢集上,⽽⽆須使⽤昂貴的⾼可⽤
機器。在設計HDFS時要充分考慮資料的可靠性、安全性和⾼可⽤性。
4.流式的通路資料
5.高可靠性。Hadoop具有按位存儲和處理資料的能力。
6.高擴充性。Hadoop利用計算機集簇配置設定資料并完成計算任務,這些集簇可以擴充以千計的節點中。
7.高效性。Hadoop的處理速度非常快,這是因為他能夠在節點之間動态地移動資料,讓各個節點保證動态平衡。
8.高容錯性。Hadoop是用來自動儲存資料多個副本,而且将失敗的任務自動進行重新配置設定,是以容錯性在同類工具中絕對是出類拔萃的。
Hadoop缺點:
1.不适合低延遲資料通路:如果要處理⼀些⽤戶要求時間⽐較短的低延遲應⽤請求(⽐如毫秒級、秒級的響應時間),則HDFS不适合。 HDFS是為了處理⼤型資料集⽽設計的,主要是為了達到⾼的資料吞吐量⽽設計的,延遲時間通常是在分鐘乃⾄⼩時級别。
2.⽆法⾼效存儲⼤量⼩⽂件
3.不⽀持多⽤戶寫⼊和随機⽂件修改:在HDFS的⼀個⽂件中隻有⼀個寫⼊者,⽽且寫操作隻能在⽂件末尾完成,即隻能執⾏追加操作。
4.表達能力有限。計算都必須轉換成Map和Reduce,并不适合所有情況,複雜資料難以處理
5.磁盤IO開銷大。每次執行都需要從磁盤讀取資料,計算完成後要将結果寫會磁盤。
Haddop應用場景:
大資料量存儲:分布式存儲、日志處理、海量計算:并行計算
Spark主要具有如下優點:
1.Spark的計算模式也屬于MapReduce,但不局限于Map和Reduce操作,還提供了多種資料集操作類型,程式設計模型比Hadoop MapReduce更靈活。
2.Spark提供了記憶體計算,可将中間結果放到記憶體中,對于疊代運算效率更高
3.Spark基于DAG ( Directed Acyclic Graph,有向無環圖 )的任務排程執行機制,要優于Hadoop MapReduce的疊代執行機制
Spark應用場景:
同時支援批處理、互動式查詢和流資料處理
二者的應用場景可結合下圖再添加:
12.用Spark實作節點度統計,詞頻統計
實驗指導書上有(自行列印)
13.使用Mahout進行K-means聚類分析
實驗指導書上有(自行列印)
14.深度學習與機器學習,人工智能的關系
深度學習:由算法組成的機器學習子集,這些算法允許軟體通過将多層神經網絡暴露給大量資料來訓練自己執行任務,如語音和圖像識别。
機器學習:人工智能的一個子集,包括深奧的統計技術,使機器能夠在有經驗的任務中改進。這一類包括深度學習。
人工智能:任何使計算機能夠模仿人類智能的技術,使用邏輯、if-then規則、決策樹和機器學習(包括深度學習)。
***人工智能包含了機器學習,而機器學習包含了深度學習。也可以說是機器學習包含了深度學習,兩者的組成應用到人工智能中。
(上邊的想抄就抄吧,自行安排。自己提取名字寫,存在包含關系)
15.深度學習訓練的政策(三步走),訓練中如何衡量訓練結果(損失函數的原理),如何調整權值(梯度下降)
深度學習訓練的政策:
(1) 随機選擇一些初始參數,建構一個比對函數
(2)檢查所選參數是否足夠好,(用拟合函數F(X)進行判斷是否足夠精确)
(3)優化參數,使函數更準确。
損失函數的原理:通過建構一個損失函數
度量模型預測的好壞,用來估量模型的預測值f(x)與真實值Y的不一緻程度。如果損失函數的值越小我們就說它的拟合程度就越好;相反,越大,拟合程度越差。
如何調整權值:采用梯度下降的方法,通過建構函數
通過對拟合函數L(x)求一階偏導判定來調整它的權值,使W達到最小。