欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

大數(shù)據(jù)知識點總結(jié)

時間:2024-10-31 23:57:08 總結(jié) 我要投稿
  • 相關(guān)推薦

大數(shù)據(jù)知識點總結(jié)

  總結(jié)就是把一個時段的學習、工作或其完成情況進行一次全面系統(tǒng)的總結(jié),通過它可以正確認識以往學習和工作中的優(yōu)缺點,讓我們來為自己寫一份總結(jié)吧。總結(jié)一般是怎么寫的呢?以下是小編收集整理的大數(shù)據(jù)知識點總結(jié),希望對大家有所幫助。

大數(shù)據(jù)知識點總結(jié)

  1、Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。

  用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進行高速運算和存儲。

  2、Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。

  3、Hadoop的框架最核心的設(shè)計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,則MapReduce為海量的數(shù)據(jù)提供了計算。

  4、Hadoop它主要有以下幾個優(yōu)點:

  (a)高可靠性。Hadoop按位存儲和處理數(shù)據(jù)的能力值得人們信賴。

  (b)高擴展性。Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務(wù)的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。

  (c)高效性。Hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據(jù),并保證各個節(jié)點的動態(tài)平衡,因此處理速度非常快。

  (d)高容錯性。Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務(wù)重新分配。

  (e)低成本。與一體機、商用數(shù)據(jù)倉庫以及QlikView、Yonghong Z-Suite等數(shù)據(jù)集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。

  5、HDFS

  對外部客戶機而言,HDFS就像一個傳統(tǒng)的分級文件系統(tǒng)?梢詣(chuàng)建、刪除、移動或重命名文件,等等。但是HDFS的架構(gòu)是基于一組特定的節(jié)點構(gòu)建的,這是由它自身的特點決定的。這些節(jié)點包括NameNode(僅一個),它在HDFS內(nèi)部提供元數(shù)據(jù)服務(wù);DataNode,它為HDFS 提供存儲塊。由于僅存在一個NameNode,因此這是HDFS的一個缺點(單點失敗)。

  存儲在HDFS中的文件被分成塊,然后將這些塊復制到多個計算機中(DataNode)。這與傳統(tǒng)的RAID架構(gòu)大不相同。塊的大。ㄍǔ64MB)和復制的塊數(shù)量在創(chuàng)建文件時由客戶機決定。NameNode可以控制所有文件操作。HDFS內(nèi)部的所有通信都基于標準的TCP/IP協(xié)議。

  6、NameNode

  NameNode是一個通常在HDFS實例中的單獨機器上運行的軟件。它負責管理文件系統(tǒng)名稱空間和控制外部客戶機的訪問。NameNode決定是否將文件映射到DataNode上的復制塊上。對于最常見的3個復制塊,第一個復制塊存儲在同一機架的不同節(jié)點上,最后一個復制塊存儲在不同機架的某個節(jié)點上。

  NameNode本身不可避免地具有SPOF(Single Point Of Failure)單點失效的風險,主備模式并不能解決這個問題,通過Hadoop Non-stop namenode才能實現(xiàn)100% uptime可用時間。

  7、DataNode

  DataNode也是一個通常在HDFS實例中的單獨機器上運行的軟件。Hadoop集群包含一個NameNode和大量DataNode。DataNode通常以機架的形式組織,機架通過一個交換機將所有系統(tǒng)連接起來。Hadoop的一個假設(shè)是:機架內(nèi)部節(jié)點之間的傳輸速度快于機架間節(jié)點的傳輸速度。

  DataNode響應(yīng)來自HDFS客戶機的讀寫請求。它們還響應(yīng)來自NameNode的創(chuàng)建、刪除和復制塊的命令。NameNode依賴來自每個DataNode的定期心跳(heartbeat)消息。每條消息都包含一個塊報告,NameNode可以根據(jù)這個報告驗證塊映射和其他文件系統(tǒng)元數(shù)據(jù)。如果DataNode不能發(fā)送心跳消息,NameNode將采取修復措施,重新復制在該節(jié)點上丟失的塊。

  8、集群系統(tǒng)

  Google的數(shù)據(jù)中心使用廉價的Linux PC機組成集群,在上面運行各種應(yīng)用。核心組件是3個:

  (a)GFS(Google File System)。一個分布式文件系統(tǒng),隱藏下層負載均衡,冗余復制等細節(jié),對上層程序提供一個統(tǒng)一的文件系統(tǒng)API接口。Google根據(jù)自己的需求對它進行了特別優(yōu)化,包括:超大文件的訪問,讀操作比例遠超過寫操作,PC機極易發(fā)生故障造成節(jié)點失效等。GFS把文件分成64MB的塊,分布在集群的機器上,使用Linux的文件系統(tǒng)存放。同時每塊文件至少有3份以上的冗余。中心是一個Master節(jié)點,根據(jù)文件索引,找尋文件塊。詳見Google的工程師發(fā)布的GFS論文。

  (b)MapReduce。Google發(fā)現(xiàn)大多數(shù)分布式運算可以抽象為MapReduce操作。Map是把輸入Input分解成中間的Key/Value對,Reduce把Key/Value合成最終輸出Output。這兩個函數(shù)由程序員提供給系統(tǒng),下層設(shè)施把Map和Reduce操作分布在集群上運行,并把結(jié)果存儲在GFS上。

  (c)BigTable。一個大型的分布式數(shù)據(jù)庫,這個數(shù)據(jù)庫不是關(guān)系式的數(shù)據(jù)庫。像它的名字一樣,就是一個巨大的表格,用來存儲結(jié)構(gòu)化的數(shù)據(jù)。

  9、子項目

  (a)HDFS: Hadoop分布式文件系統(tǒng)(Distributed File System)

  (b)MapReduce:MapReduce是處理大量半結(jié)構(gòu)化數(shù)據(jù)集合的編程模型

  (c)HBase:類似Google BigTable的分布式NoSQL列數(shù)據(jù)庫。

  HBase是一個分布式的,面向列的數(shù)據(jù)庫。它基于Hadoop之上提供了類似BigTable的功能。

  (d)Hive:數(shù)據(jù)倉庫工具。

  Hive是一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類似SQL一樣的查詢語言HiveQL來管理這些數(shù)據(jù)。

  (e)Zookeeper:分布式鎖設(shè)施,提供類似Google Chubby的功能。

  ZooKeeper是一個針對大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供包括配置維護,名字服務(wù),分布式同步和組服務(wù)等功能。 Hadoop的管理就是用的ZooKeeper。

  (f)Avro:新的數(shù)據(jù)序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制。

  (g)Pig:大數(shù)據(jù)分析平臺,為用戶提供多種接口。

  Pig是一個基于Hadoop的大數(shù)據(jù)分析平臺,它提供了一個叫PigLatin的高級語言來表達大數(shù)據(jù)分析程序。

  (h)Ambari:Hadoop管理工具,可以快捷的監(jiān)控、部署、管理集群。

  對Hadoop集群進行監(jiān)控和管理的基于Web的系統(tǒng)。目前已經(jīng)支持HDFS,MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop等組件。

  (i)Sqoop:在HADOOP與傳統(tǒng)的數(shù)據(jù)庫間進行數(shù)據(jù)的傳遞。

  Sqoop是一個Hadoop和關(guān)系型數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)移工具?蓪㈥P(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)導入到Hadoop的HDFS中,也可將HDFS中的數(shù)據(jù)導進到關(guān)系型數(shù)據(jù)庫中。

  10、Hadoop1.x與Hadoop2.x的區(qū)別:

  Hadoop2.x中有兩個重要的變更:

  (a)HDFS的NameNode可以以集群的方式部署,增強了NameNode的水平擴展能力和可用性

  (b)MapReduce將JobTrack中的資源管理及任務(wù)生命周期管理(包括定時觸發(fā)及監(jiān)控),拆分成兩個獨立的組件,并更名為YARN

  11、Hadoop2.x解決了Hadoop1.x中的哪些問題

  (a)2.x解決了1.x中的namenode單點故障問題

  (b)解決了namenode內(nèi)存壓力過大難以擴展問題

  (c)解決了JobTrack單點故障問題

  (d)解決了JobTrack訪問壓力過大問題

  (e)解決了對MapReduce之外的框架支持問題

  12、Zeppelin是一個基于web的可視化的大數(shù)據(jù)分析工具。主要用來進行交互式的數(shù)據(jù)分析,它可以跟多種大數(shù)據(jù)分析組件集成在一起,為這些大數(shù)據(jù)分析組件提供基于瀏覽器頁面的交互式訪問功能。

  13、Zeppelin的主要用途

  1、Data Ingestion(數(shù)據(jù)攝取)

  2、Data Discovery(數(shù)據(jù)發(fā)現(xiàn))

  3、Data analytics(數(shù)據(jù)分析)

  4、Data Visualization & Collaboration(數(shù)據(jù)可視化和協(xié)同開發(fā))

  14、Zeppelin的主要特點

  a、支持多種編程語言

  b、Zeppelin支持的語言取決于跟Zeppelin集成的interpreter.比如Zeppelin跟Hive集成后,就可以支持HQL。

  c、Zeppelin默認跟Spark,Spark shell支持的語法在Zeppelin都默認支持,并且ZeppelinNotebook對Scala,Python和Spark SQL還實現(xiàn)了語言高亮。

  d、默認支持Spark

  e、通過多種圖表的方式,對數(shù)據(jù)分析提供數(shù)據(jù)可視化的支持

  f、通過簡單的拖拽操作,可以對圖表中展示的數(shù)據(jù)進行多種方式的聚合操作,如sum, count, average, min, max。

  g、支持動態(tài)表單,可以在交互中動態(tài)修改過濾條件。

  h、使用簡單的模板語言來創(chuàng)建form表單,適用于Markdown, Shell, SparkSQL后臺。

  i、通過編程的方式創(chuàng)建form表單,適用于Scala,Python等,調(diào)用z(ZeppelinContext)來創(chuàng)建和訪問表單。

  j、支持協(xié)同開發(fā),Zeppelin的notebook,可以被多人同時使用,任何一個人的改動都會被實時的同步到其他協(xié)作者的頁面上。

  k、Zeppelin notebook上產(chǎn)生的圖表,可以被獨立發(fā)布,通過iframe,可以嵌入到別的網(wǎng)頁上。

  l、100%開源的Apache項目。

  15、Ambari是一個開源的分布式Hadoop集群安裝,部署,監(jiān)控和管理的平臺。

  16、Ambari主要由三個部分組成,Ambari Server,Ambari Web和Ambari Agent。

  Ambari Server:AmbariServer是整個Ambari的統(tǒng)一入口,只能運行在集群中的一臺機器上。負責管理所有的Ambari Agent。

  Ambari Web:AmbariWeb和Ambari Server運行在同一臺機器上,作為Ambari Server的一部分功能存在,提供Web和RestAPI的方式訪問AmbariServer。

  AmbariAgent:AmbariAgent需要在集群中的每個節(jié)點上都運行一個,負責監(jiān)控宿主機器的狀態(tài)信息,執(zhí)行從Ambari Server上發(fā)送過來的操作指令。

  17、Spark是UCBerkeleyAMPlab所開源的類HadoopMapReduce的通用的并行計算框架,Spark基于mapreduce算法實現(xiàn)的分布式計算,擁有HadoopMapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學習等需要迭代的map reduce的算法。

  18、Spark與Hadoop的對比(Spark的優(yōu)勢)

  1、Spark的中間數(shù)據(jù)放到內(nèi)存中,對于迭代運算效率更高

  2、Spark比Hadoop更通用

  3、Spark提供了統(tǒng)一的編程接口

  4、容錯性–在分布式數(shù)據(jù)集計算時通過checkpoint來實現(xiàn)容錯

  5、可用性– Spark通過提供豐富的Scala, Java,Python API及交互式Shell來提高可用性

  19、Spark的組件

  1、Spark Streaming:支持高吞吐量、支持容錯的實時流數(shù)據(jù)處理

  2、Spark SQL,Data frames:結(jié)構(gòu)化數(shù)據(jù)查詢

  3、MLLib:Spark生態(tài)系統(tǒng)里用來解決大數(shù)據(jù)機器學習問題的模塊

  4、GraphX:是構(gòu)建于Spark上的圖計算模型

  5、SparkR:是一個R語言包,它提供了輕量級的方式使得可以在R語言中使用Spark

  20、DataFrame是一種以RDD為基礎(chǔ)的分布式數(shù)據(jù)集,類似于傳統(tǒng)數(shù)據(jù)庫中的二維表格。

  21、DataFrame與RDD的主要區(qū)別在于:

  前者帶有schema元信息,即DataFrame所表示的二維表數(shù)據(jù)集的每一列都帶有名稱和類型。這使得SparkSQL得以洞察更多的結(jié)構(gòu)信息,從而對藏于DataFrame背后的數(shù)據(jù)源以及作用于DataFrame之上的變換進行了針對性的優(yōu)化,最終達到大幅提升運行時效率的目標。反觀RDD,由于無從得知所存數(shù)據(jù)元素的具體內(nèi)部結(jié)構(gòu),Spark Core只能在stage層面進行簡單、通用的流水線優(yōu)化。

  22、MLlib是spark的可以擴展的機器學習庫,由以下部分組成:通用的學習算法和工具類,包括分類,回歸,聚類,協(xié)同過濾,降維

  23、SparkR實現(xiàn)了分布式的data frame,支持類似查詢、過濾以及聚合的操作

  24、RDD,全稱為Resilient Distributed Datasets,是個容錯的、并行的數(shù)據(jù)結(jié)構(gòu),可以讓用戶顯式地將數(shù)據(jù)存儲到磁盤和內(nèi)存中,并能控制數(shù)據(jù)的分區(qū)。同時,RDD還提供了一組豐富的操作來操作這些數(shù)據(jù)。

  25、RDD的特點:

  1.它是在集群節(jié)點上的不可變的、已分區(qū)的集合對象。

  2.通過并行轉(zhuǎn)換的方式來創(chuàng)建如(map, filter, join, etc )。

  3.失敗自動重建。

  4.可以控制存儲級別(內(nèi)存、磁盤等)來進行重用。

  5.必須是可序列化的。

  6.是靜態(tài)類型的。

  26、RDD核心概念

  Client:客戶端進程,負責提交作業(yè)到Master。

  Master:Standalone模式中主控節(jié)點,負責接收Client提交的作業(yè),管理Worker,并命令Worker啟動分配Driver的資源和啟動Executor的資源。

  Worker:Standalone模式中slave節(jié)點上的守護進程,負責管理本節(jié)點的資源,定期向Master匯報心跳,接收Master的命令,啟動Driver和Executor。

  Driver:一個Spark作業(yè)運行時包括一個Driver進程,也是作業(yè)的主進程,負責作業(yè)的解析、生成Stage并調(diào)度Task到Executor上。包括DAGScheduler,TaskScheduler。

  Executor:即真正執(zhí)行作業(yè)的地方,一個集群一般包含多個Executor,每個Executor接收Driver的命令Launch Task,一個Executor可以執(zhí)行一到多個Task。

  27、RDD常見術(shù)語

  DAGScheduler:實現(xiàn)將Spark作業(yè)分解成一到多個Stage,每個Stage根據(jù)RDD的Partition個數(shù)決定Task的個數(shù),然后生成相應(yīng)的Task set放到TaskScheduler中。

  TaskScheduler:實現(xiàn)Task分配到Executor上執(zhí)行。

  Task:運行在Executor上的工作單元

  Job:SparkContext提交的具體Action操作,常和Action對應(yīng)

  Stage:每個Job會被拆分很多組任務(wù)(task),每組任務(wù)被稱為Stage,也稱TaskSet

  RDD:Resilient Distributed Datasets的簡稱,彈性分布式數(shù)據(jù)集,是Spark最核心的模塊和類

  Transformation/Action:SparkAPI的兩種類型;Transformation返回值還是一個RDD,Action返回值不少一個RDD,而是一個Scala的集合;所有的Transformation都是采用的懶策略,如果只是將Transformation提交是不會執(zhí)行計算的,計算只有在Action被提交時才會被觸發(fā)。

  DataFrame:帶有Schema信息的RDD,主要是對結(jié)構(gòu)化數(shù)據(jù)的高度抽象。

  DataSet:結(jié)合了DataFrame和RDD兩者的優(yōu)勢,既允許用戶很方便的操作領(lǐng)域?qū)ο,又具有SQL執(zhí)行引擎的高效表現(xiàn)。

  28、RDD提供了兩種類型的操作:transformation和action

  1,transformation是得到一個新的RDD,方式很多,比如從數(shù)據(jù)源生成一個新的RDD,從RDD生成一個新的RDD

  2,action是得到一個值,或者一個結(jié)果(直接將RDD cache到內(nèi)存中)

  3,所有的transformation都是采用的懶策略,就是如果只是將transformation提交是不會執(zhí)行計算的,計算只有在action被提交的時候才被觸發(fā)

  29、RDD中關(guān)于轉(zhuǎn)換(transformation)與動作(action)的區(qū)別

  前者會生成新的RDD,而后者只是將RDD上某項操作的結(jié)果返回給程序,而不會生成新的RDD;無論執(zhí)行了多少次transformation操作,RDD都不會真正執(zhí)行運算(記錄lineage),只有當action操作被執(zhí)行時,運算才會觸發(fā)。

  30、RDD與DSM(distributed shared memory)的最大不同是:

  RDD只能通過粗粒度轉(zhuǎn)換來創(chuàng)建,而DSM則允許對每個內(nèi)存位置上數(shù)據(jù)的讀和寫。在這種定義下,DSM不僅包括了傳統(tǒng)的共享內(nèi)存系統(tǒng),也包括了像提供了共享DHT(distributed hash table)的Piccolo以及分布式數(shù)據(jù)庫等。

  31、RDD的優(yōu)勢

  1、高效的容錯機制

  2、結(jié)點落后問題的緩和(mitigate straggler):

  3、批量操作:

  4、優(yōu)雅降級(degrade gracefully)

  32、如何獲取RDD

  1、從共享的文件系統(tǒng)獲取,(如:HDFS)

  2、通過已存在的RDD轉(zhuǎn)換

  3、將已存在scala集合(只要是Seq對象)并行化,通過調(diào)用SparkContext的parallelize方法實現(xiàn)

  4、改變現(xiàn)有RDD的之久性;RDD是懶散,短暫的。

  33、RDD都需要包含以下四個部分

  a.源數(shù)據(jù)分割后的數(shù)據(jù)塊,源代碼中的splits變量

  b.關(guān)于“血統(tǒng)”的信息,源碼中的dependencies變量

  c.一個計算函數(shù)(該RDD如何通過父RDD計算得到),源碼中的iterator(split)和compute函數(shù)

  d.一些關(guān)于如何分塊和數(shù)據(jù)存放位置的元信息,如源碼中的partitioner和preferredLocations

  34、在RDD中將依賴劃分成了兩種類型:

  窄依賴(narrowdependencies)和寬依賴(widedependencies)。窄依賴是指父RDD的每個分區(qū)都只被子RDD的一個分區(qū)所使用。相應(yīng)的,那么寬依賴就是指父RDD的分區(qū)被多個子RDD的分區(qū)所依賴。例如,map就是一種窄依賴,而join則會導致寬依賴

  依賴關(guān)系分類的特性:

  第一,窄依賴可以在某個計算節(jié)點上直接通過計算父RDD的某塊數(shù)據(jù)計算得到子RDD對應(yīng)的某塊數(shù)據(jù);

  第二,數(shù)據(jù)丟失時,對于窄依賴只需要重新計算丟失的那一塊數(shù)據(jù)來恢復;

  35、數(shù)據(jù)分析常見模式:

  1、Iterative Algorithms,

  2、Relational Queries,

  3、MapReduce,

  4、Stream Processing,

  36、Spark Streaming的基本原理是將輸入數(shù)據(jù)流以時間片(秒級)為單位進行拆分,然后以類似批處理的方式處理每個時間片數(shù)據(jù)

  37、Spark Streaming優(yōu)劣

  優(yōu)勢:

  1、統(tǒng)一的開發(fā)接口

  2、吞吐和容錯

  3、多種開發(fā)范式混用,Streaming + SQL, Streaming +MLlib

  4、利用Spark內(nèi)存pipeline計算

  劣勢:

  微批處理模式,準實時

  38、Flume是一個分布式的日志收集系統(tǒng),具有高可靠、高可用、事務(wù)管理、失敗重啟等功能。數(shù)據(jù)處理速度快,完全可以用于生產(chǎn)環(huán)境。

  39、Flume的核心是agent。Agent是一個java進程,運行在日志收集端,通過agent接收日志,然后暫存起來,再發(fā)送到目的地。

  Agent里面包含3個核心組件:source、channel、sink。

  Source組件是專用于收集日志的,可以處理各種類型各種格式的日志數(shù)據(jù),包括avro、thrift、exec、jms、spoolingdirectory、netcat、sequencegenerator、syslog、http、legacy、自定義。source組件把數(shù)據(jù)收集來以后,臨時存放在channel中。

  Channel組件是在agent中專用于臨時存儲數(shù)據(jù)的,可以存放在memory、jdbc、file、自定義。channel中的數(shù)據(jù)只有在sink發(fā)送成功之后才會被刪除。

  Sink組件是用于把數(shù)據(jù)發(fā)送到目的地的組件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定義。

  40、ApacheKafka是分布式發(fā)布-訂閱消息系統(tǒng)。它最初由LinkedIn公司開發(fā),之后成為Apache項目的一部分。Kafka是一種快速、可擴展的、設(shè)計內(nèi)在就是分布式的,分區(qū)的和可復制的提交日志服務(wù)。

  41、Apache Kafka與傳統(tǒng)消息系統(tǒng)相比,有以下不同:

  1、它被設(shè)計為一個分布式系統(tǒng),易于向外擴展;

  2、它同時為發(fā)布和訂閱提供高吞吐量;

  3、它支持多訂閱者,當失敗時能自動平衡消費者;

  4、它將消息持久化到磁盤,因此可用于批量消費

  42、DataFrame特性

  1、支持從KB到PB級的數(shù)據(jù)量

  2、支持多種數(shù)據(jù)格式和多種存儲系統(tǒng)

  3、通過Catalyst優(yōu)化器進行先進的優(yōu)化生成代碼

  4、通過Spark無縫集成主流大數(shù)據(jù)工具與基礎(chǔ)設(shè)施

  5、API支持Python、Java、Scala和R語言

  43、Scala的好處:

  1、面向?qū)ο蠛秃瘮?shù)式編程理念加入到靜態(tài)類型語言中的混合體

  2、Scala的兼容性----能夠與Java庫無縫的交互

  3、Scala的簡潔性----高效,更不容易犯錯

  4、Scala的高級抽象

  5、Scala是靜態(tài)類型----類型推斷

  6、Scala是可擴展的語言

  44、搜索引擎是指根據(jù)一定的策略、運用特定的計算機程序從互聯(lián)網(wǎng)上搜集信息,在對信息進行組織和處理后,為用戶提供檢索服務(wù),將用戶檢索相關(guān)的信息展示給用戶的系統(tǒng)。搜索引擎包括全文索引、目錄索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、門戶搜索引擎與免費鏈接列表等。

  45、Lucene是一個高性能、可伸縮的信息搜索庫,即它不是一個完整的全文檢索引擎,而是一個全檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎。

  46、Elasticsearch是一個高可擴展的、開源的全文本搜索和分析工具。它允許你以近實時的方式快速存儲、搜索、分析大容量的數(shù)據(jù)。

  Elasticsearch是一個基于ApacheLucene(TM)的開源搜索引擎。無論在開源還是專有領(lǐng)域,Lucene可以被認為是迄今為止最先進、性能最好的、功能最全的搜索引擎庫。

  47、ElasticSearch有4種方式來構(gòu)建數(shù)據(jù)庫,

  最簡單的方法是使用indexAPI,將一個Document發(fā)送到特定的index,一般通過curltools實現(xiàn)。

  第二第三種方法是通過bulkAPI和UDPbulkAPI。兩者的區(qū)別僅在于連接方式。

  第四種方式是通過一個插件——river。river運行在ElasticSearch上,并且可以從外部數(shù)據(jù)庫導入數(shù)據(jù)到ES中。需要注意的是,數(shù)據(jù)構(gòu)建僅在分片上進行,而不能在副本上進行。

  48、ELK是一套常用的開源日志監(jiān)控和分析系統(tǒng),包括一個分布式索引與搜索服務(wù)Elasticsearch,一個管理日志和事件的工具logstash,和一個數(shù)據(jù)可視化服務(wù)Kibana

  logstash 負責日志的收集,處理和儲存

  elasticsearch 負責日志檢索和分析

  Kibana 負責日志的可視化

  49、Hive是什么?

  Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類SQL查詢功能。本質(zhì)是將HQL轉(zhuǎn)換為MapReduce程序

  50、Hive的設(shè)計目標?

  1、Hive的設(shè)計目標是使Hadoop上的數(shù)據(jù)操作與傳統(tǒng)SQL相結(jié)合,讓熟悉SQL編程開發(fā)人員能夠輕松向Hadoop平臺遷移

  2、Hive提供類似SQL的查詢語言HQL,HQL在底層被轉(zhuǎn)換為相應(yīng)的MapReduce操作

  3、Hive在HDFS上構(gòu)建數(shù)據(jù)倉庫來存儲結(jié)構(gòu)化的數(shù)據(jù),這些數(shù)據(jù)一般來源與HDFS上的原始數(shù)據(jù),使用Hive可以對這些數(shù)據(jù)執(zhí)行查詢、分析等操作。

  51、Hive的數(shù)據(jù)模型

  1、Hive數(shù)據(jù)庫2、內(nèi)部表3、外部表4、分區(qū)5、桶6、Hive的視圖

  52、Hive的調(diào)用方式

  1、Hive Shell 2、Thrift 3、JDBC 4、ODBC

  53、Hive的運行機制

  1、將sql轉(zhuǎn)換成抽象語法樹

  2、將抽象語法樹轉(zhuǎn)化成查詢塊

  3、將查詢塊轉(zhuǎn)換成邏輯查詢計劃(操作符樹)

  4、將邏輯計劃轉(zhuǎn)換成物理計劃(MRjobs)

  54、Hive的優(yōu)勢

  1、并行計算

  2、充分利用集群的CPU計算資源、存儲資源

  3、處理大規(guī)模數(shù)據(jù)集

  4、使用SQL,學習成本低

  55、Hive應(yīng)用場景

  1、海量數(shù)據(jù)處理2、數(shù)據(jù)挖掘3、數(shù)據(jù)分析4、SQL是商務(wù)智能工具的通用語言,Hive有條件和這些BI產(chǎn)品進行集成

  56、Hive不適用場景

  1、復雜的科學計算2、不能做到交互式的實時查詢

  57、Hive和數(shù)據(jù)庫(RDBMS)的區(qū)別

  1、數(shù)據(jù)存儲位置。Hive是建立在Hadoop之上的,所有的Hive的數(shù)據(jù)都是存儲在HDFS中的。而數(shù)據(jù)庫則可以將數(shù)據(jù)保存在塊設(shè)備或本地文件系統(tǒng)中。

  2、數(shù)據(jù)格式。Hive中沒有定義專門的數(shù)據(jù)格式,由用戶指定三個屬性:列分隔符,行分隔符,以及讀取文件數(shù)據(jù)的方法。數(shù)據(jù)庫中,存儲引擎定義了自己的數(shù)據(jù)格式。所有數(shù)據(jù)都會按照一定的組織存儲。

  3、數(shù)據(jù)更新。Hive的內(nèi)容是讀多寫少的,因此,不支持對數(shù)據(jù)的改寫和刪除,數(shù)據(jù)都在加載的時候中確定好的。數(shù)據(jù)庫中的數(shù)據(jù)通常是需要經(jīng)常進行修改。

  4、執(zhí)行延遲。Hive在查詢數(shù)據(jù)的時候,需要掃描整個表(或分區(qū)),因此延遲較高,只有在處理大數(shù)據(jù)是才有優(yōu)勢。數(shù)據(jù)庫在處理小數(shù)據(jù)是執(zhí)行延遲較低。

  5、索引。Hive沒有,數(shù)據(jù)庫有

  6、執(zhí)行。Hive是MapReduce,數(shù)據(jù)庫是Executor

  7、可擴展性。Hive高,數(shù)據(jù)庫低

  8、數(shù)據(jù)規(guī)模。Hive大,數(shù)據(jù)庫小

  58、Hbase的模塊:

  Region

  - Region用于存放表中的行數(shù)據(jù)

  -當一個表格很大的時候,數(shù)據(jù)會存放并共享在多個Region中

  -每一個Region只存放一個單一的Column Family

  Region Server

  -一個Region Server包含多個Region

  -管理表格,以及實現(xiàn)讀寫操作

  - Client會直接和Region Server通信獲取數(shù)據(jù)

  Master

  -協(xié)調(diào)多個Region Server

  -偵測各個Region Server的狀態(tài)并平衡它們之間的workload

  -分配Region給Region Serer

  -允許多個Master節(jié)點,但是只有一個服務(wù),其他是backup

  -和Zookeeper一起工作實現(xiàn)HA

  Zookeeper

  - Hbase中至關(guān)重要的模塊

  -確保有一個Master處于Running的狀態(tài)

  -注冊Region和Region Server

  -屬于Hbase容錯性的一部分

  HDFS

  - Hadoop的分布式文件系統(tǒng)(Hadoop Distributed File System)

  API

  - Hbase提供Java的Client API

【大數(shù)據(jù)知識點總結(jié)】相關(guān)文章:

高二物理知識點大總結(jié)09-15

語文知識點總結(jié)12-23

物理知識點總結(jié)05-09

傳記知識點總結(jié)07-26

物理知識點總結(jié)08-22

數(shù)據(jù)庫實訓個人總結(jié)09-08

店長數(shù)據(jù)分析總結(jié)(精選6篇)07-08

電子商務(wù)與數(shù)據(jù)分析總結(jié)06-06

數(shù)據(jù)中心工作總結(jié)05-31

小升初英語知識點總結(jié)06-24