
大數(shù)據(jù)和Hadoop生態(tài)圈,Hadoop發(fā)行版和基于Hadoop的企業(yè)級(jí)應(yīng)用2
Zookeeper ——用于Hadoop的分布式協(xié)調(diào)服務(wù)。Hadoop的許多組件依賴于Zookeeper,它運(yùn)行在計(jì)算機(jī)集群上面,用于管理Hadoop操作。
Oozie——Oozie是一個(gè)可擴(kuò)展的工作體系,集成于Hadoop的堆棧,用于協(xié)調(diào)多個(gè)MapReduce作業(yè)的執(zhí)行。它能夠管理一個(gè)復(fù)雜的系統(tǒng),基于外部事件來執(zhí)行,外部事件包括數(shù)據(jù)的定時(shí)和數(shù)據(jù)的出現(xiàn)。
Pig——它是MapReduce編程的復(fù)雜性的抽象。Pig平臺(tái)包括運(yùn)行環(huán)境和用于分析Hadoop數(shù)據(jù)集的腳本語言(Pig Latin)。其編譯器將Pig Latin翻譯成MapReduce程序序列。
Hive ——Hive類似于SQL高級(jí)語言,用于運(yùn)行存儲(chǔ)在Hadoop上的查詢語句,Hive讓不熟悉MapReduce開發(fā)人員也能編寫數(shù)據(jù)查詢語句,然后這些語句被翻譯為Hadoop上面的MapReduce任務(wù)。像Pig一樣,Hive作為一個(gè)抽象層工具,吸引了很多熟悉SQL而不是Java編程的數(shù)據(jù)分析師。
Hadoop的生態(tài)圈還包括以下幾個(gè)框架,用來與其它企業(yè)融合:
Sqoop是一個(gè)連接工具,用于在關(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫和Hadoop之間轉(zhuǎn)移數(shù)據(jù)。Sqoop利用數(shù)據(jù)庫技術(shù)描述架構(gòu),進(jìn)行數(shù)據(jù)的導(dǎo)入/導(dǎo)出;利用MapReduce實(shí)現(xiàn)并行化運(yùn)行和容錯(cuò)技術(shù)。
Flume提供了分布式、可靠、高效的服務(wù),用于收集、匯總大數(shù)據(jù),并將單臺(tái)計(jì)算機(jī)的大量數(shù)據(jù)轉(zhuǎn)移到HDFS。它基于一個(gè)簡單而靈活的架構(gòu),并提供了數(shù)據(jù)流的流。它利用簡單的可擴(kuò)展的數(shù)據(jù)模型,將企業(yè)中多臺(tái)計(jì)算機(jī)上的數(shù)據(jù)轉(zhuǎn)移到Hadoop。
除了在圖1-1所示的核心部件外,Hadoop生態(tài)圈正在不斷增長,以提供更新功能和組件,如以下內(nèi)容:
Whirr——Whirr是一組用來運(yùn)行云服務(wù)的Java類庫,使用戶能夠輕松地將Hadoop集群運(yùn)行于Amazon EC2、Rackspace等虛擬云計(jì)算平臺(tái)。
Mahout——Mahout是一個(gè)機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫,它提供的MapReduce包含很多實(shí)現(xiàn),包括聚類算法、回歸測試、統(tǒng)計(jì)建模。通過使用 Apache Hadoop 庫,可以將Mahout有效地?cái)U(kuò)展到云中。
BigTop —— BigTop作為Hadoop子項(xiàng)目和相關(guān)組件,是一個(gè)用于打包和互用性測試的程序和框架。
Ambari——?Ambar通過為配置、管理和監(jiān)控Hadoop集群提供支持,簡化了Hadoop的管理。
Hadoop家族成員正在逐步增加。在本書中,主要涉及到了三個(gè)新的Apache Hadoop孵化項(xiàng)目。
孵化項(xiàng)目演變到Apach項(xiàng)目的過程
下面將會(huì)簡要介紹Apache基金會(huì)的運(yùn)作方式,以及Apache各種項(xiàng)目及其彼此之間的聯(lián)系。Apache的個(gè)人會(huì)員共同治理整個(gè)組織,Apache提供項(xiàng)目的創(chuàng)建、成熟和回收。
新的項(xiàng)目開始于“孵化器”。建立Apache孵化器,是為了幫助新項(xiàng)目加入Apache。Apache提供管理和檢驗(yàn),經(jīng)過篩選后,再建立新的項(xiàng)目或者子項(xiàng)目。在創(chuàng)建孵化項(xiàng)目后,Apache會(huì)評(píng)估項(xiàng)目的成熟度,并負(fù)責(zé)將孵化器中的項(xiàng)目“畢業(yè)”到Apache項(xiàng)目或子項(xiàng)目。孵化器也會(huì)由于各種原因而終止一些項(xiàng)目。
要查看孵化器中項(xiàng)目(當(dāng)前的、孵化成功的、暫時(shí)停止的和回收的)的完整列表,可以通過此網(wǎng)址:http://incubator.apache.org/projects/index.html。
當(dāng)今大多數(shù)的Hadoop方面的書籍,要么專注于Hadoop生態(tài)圈中某個(gè)獨(dú)立組件的描述,要么介紹如何使用Hadoop業(yè)務(wù)分析工具(如Pig和Hive)。盡管這些方面也很重要,但是這些書籍通常沒有進(jìn)行深入的描述,并不能幫助架構(gòu)師建立基于Hadoop的企業(yè)級(jí)應(yīng)用或復(fù)雜應(yīng)用。
雖然Hadoop是開源的Apache(和現(xiàn)在GitHub)項(xiàng)目,但是在Hadoop行業(yè),仍然出現(xiàn)了大量的新興公司,以幫助人們更方便地使用Hadoop為目標(biāo)。這些企業(yè)大多將Hadoop發(fā)行版進(jìn)行打包、改進(jìn),以確保所有的軟件一起工作,并提供技術(shù)支持。現(xiàn)在,Apache自己也在開發(fā)更多的工具來簡化Hadoop的使用,并擴(kuò)展其功能。這些工具是專有的,并有所差異。有的工具成為了Apache Hadoop家族中新項(xiàng)目的基礎(chǔ)。其中,有些是經(jīng)過Apache2許可的開源GitHub項(xiàng)目。盡管所有這些公司都基于Apache Hadoop發(fā)行版,但是他們都與Hadoop的愿景有了細(xì)微的不同——應(yīng)該選取哪個(gè)方向,怎樣完成它。
這些公司之間最大的區(qū)別是:Apache源代碼的使用。除了MapR公司之外,都認(rèn)為Hadoop應(yīng)該由Apache項(xiàng)目的代碼定義。相反,MapR認(rèn)為Apache的代碼只是實(shí)施參考,可以基于Apache提供的API來實(shí)現(xiàn)自己的需求。這種方法使得MapR做出了很大的創(chuàng)新,特別是在HDFS和HBase方面,MapR讓這兩個(gè)基本Hadoop的存儲(chǔ)機(jī)制更加可靠、更加高性能。MapR還推出了高速網(wǎng)絡(luò)文件系統(tǒng)(NFS),可以訪問HDFS,從而大大簡化了一些企業(yè)級(jí)應(yīng)用的集成。
有兩個(gè)關(guān)注度較高的Hadoop發(fā)行版,分別由亞馬遜和微軟發(fā)布。兩者都提供Hadoop的預(yù)安裝版本,運(yùn)行于相應(yīng)的云服務(wù)平臺(tái)(Amazon or Azure),提供PaaS服務(wù)。它們都提供了擴(kuò)展服務(wù),允許開發(fā)人員不僅能夠利用Hadoop的本地HDFS,也可以通過HDFS映射利用微軟和雅虎的數(shù)據(jù)存儲(chǔ)機(jī)制(Amazon的S3,和Azure的Windows Azure存儲(chǔ)機(jī)制)。亞馬遜還提供了,在S3上面保存和恢復(fù)HBase內(nèi)容的功能。
表1-1展示了主要的Hadoop發(fā)行版的主要特點(diǎn)。
表1: 不同的Hadoop供應(yīng)商
供應(yīng)商 |
HADOOP特性 |
Cloudera CDH,個(gè)人版和企業(yè)版 |
CDH基于Hadoop2,(撰寫本文時(shí)為4.1.2版本)包括HDFS,YARN,HBas,MapReduce,Hive, Pig, Zookeeper, Oozie, Mahout, Hue以及其他開源工具(包括實(shí)時(shí)查詢引擎Impala)。Cloudera的個(gè)人免費(fèi)版包括所有CDH工具,和支持高達(dá)50個(gè)節(jié)點(diǎn)的集群管理器。Cloudera企業(yè)版提供了更復(fù)雜的管理器,支持無限數(shù)量的集群節(jié)點(diǎn),能夠主動(dòng)監(jiān)控,并額外提供了數(shù)據(jù)分析工具。 |
Hortonworks數(shù)據(jù)平臺(tái) |
發(fā)行版(Alpha 2.0版)基于Hadoop2,包括HDFS,YARN, HBase, MapReduce, Hive, Pig, HCatalog, Zookeeper, Oozie, Mahout, Hue, Ambari, Tez,實(shí)時(shí)版Hive(Stinger)和其他開源工具。Hortonworks提供了高可用性支持、高性能的Hive ODBC驅(qū)動(dòng)和針對(duì)大數(shù)據(jù)的Talend Open Studio。 |
MapR |
基于Hadoop1,發(fā)行版(撰寫本文時(shí)為版本M7)包括HDFS, HBase, MapReduce, Hive, Mahout, Oozie, Pig, ZooKeeper, Hue以及其他開源工具。它還包括直接NFS訪問、快照、“高實(shí)用性”鏡像、專有的HBase實(shí)現(xiàn),與Apache完全兼容的API和一個(gè)MapR管理控制臺(tái)。 |
IBM InfoSphere BigInsights |
基于Hadoop1,提供了兩個(gè)版本?;景姘?a href='/map/hdfs/' style='color:#000;font-size:inherit;'>HDFS, Hbase, MapReduce, Hive, Mahout, Oozie, Pig, ZooKeeper, Hue以及其他一些開源工具。并提供IBM的安裝程序和數(shù)據(jù)訪問工具的基本版本。企業(yè)版增加了復(fù)雜的作業(yè)管理工具、集成了數(shù)據(jù)源的數(shù)據(jù)訪問層和BigSheets(類似電子表格的界面,用來操作集群中的數(shù)據(jù))。 |
GreenPlum的Pivotal HD |
在撰寫本文時(shí),最新版基于Hadoop2,包括HDFS, MapReduce, Hive, Pig, HBase, Zookeeper, Sqoop, Flume和其他開源工具。Pivotal HD企業(yè)級(jí)還增加了先進(jìn)的HAWQ數(shù)據(jù)庫服務(wù)(ADS),和豐富、成熟、并行的SQL處理工具。 |
亞馬遜彈性MapReduce(EMR) |
在撰寫本文時(shí),最新版基于Hadoop1。亞馬遜EMR是一個(gè)web服務(wù),能夠使用戶方便且經(jīng)濟(jì)高效地處理海量的數(shù)據(jù)。它采用Hadoop框架,運(yùn)行在亞馬遜彈性計(jì)算云EC2和簡單存儲(chǔ)服務(wù)S3之上。包括HDFS(S3支持),HBase(專有的備份恢復(fù)),MapReduce,, Hive (Dynamo的補(bǔ)充支持), Pig, and Zookeeper. |
Windows Azure的HDlnsight |
HDlnsight基于Hortonworks數(shù)據(jù)平臺(tái)(Hadoop1),運(yùn)行在Azure云。它集成了微軟管理控制臺(tái),易于部署,易于System Center的集成。通過使用Excel插件,可以整合Excel數(shù)據(jù)。通過Hive開放式數(shù)據(jù)庫連接(ODBC)驅(qū)動(dòng)程序,可以集成Microsoft SQL Server分析服務(wù)(SSAS)、PowerPivot和Power View。Azure Marketplace授權(quán)客戶連接數(shù)據(jù)、智能挖掘算法以及防火墻之外的人。Windows Azure Marketplace從受信任的第三方供應(yīng)商中,提供了數(shù)百個(gè)數(shù)據(jù)集。 |
當(dāng)然,大量的發(fā)行版讓你疑惑“我應(yīng)該使用哪個(gè)發(fā)行版?”當(dāng)公司/部門決定采用一個(gè)具體的版本時(shí),應(yīng)該考慮以下幾點(diǎn):
技術(shù)細(xì)節(jié)——包括Hadoop的版本、組件、專有功能部件等等。
易于部署——使用工具箱來實(shí)現(xiàn)管理的部署、版本升級(jí)、打補(bǔ)丁等等。
易于維護(hù)——主要包括集群管理、多中心的支持、災(zāi)難恢復(fù)支持等等。
成本——包括針發(fā)行版的實(shí)施成本、計(jì)費(fèi)模式和許可證。
企業(yè)集成的支持——Hadoop應(yīng)用程序與企業(yè)中其他部分的集成。
版本的選擇依賴于,你打算利用Hadoop來解決哪些問題。本書中的討論與版本無關(guān),因?yàn)楣P者看中的是每個(gè)發(fā)行版提供的價(jià)值。
為了滿足大數(shù)據(jù)帶來的新挑戰(zhàn),需要重新思考構(gòu)建數(shù)據(jù)分析的程序的方式。傳統(tǒng)的在數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù),構(gòu)建應(yīng)用程序的方法,對(duì)于大數(shù)據(jù)處理將不再有效。主要因?yàn)椋?/span>
因此,一個(gè)典型的基于Hadoop的企業(yè)級(jí)應(yīng)用如圖1-2所示。在這些應(yīng)用中,包括數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)處理層、實(shí)時(shí)訪問層和安全層。要實(shí)現(xiàn)這種體系結(jié)構(gòu),不僅需要理解Hadoop組件所涉及的API,而且需要理解他們的功能和局限性,以及每個(gè)組件在整體架構(gòu)中的作用。
如圖1-2所示,數(shù)據(jù)存儲(chǔ)層包括源數(shù)據(jù)和中間數(shù)據(jù)。源數(shù)據(jù)主要來自這些外部數(shù)據(jù)源,外部數(shù)據(jù)源包括企業(yè)應(yīng)用程序、外部數(shù)據(jù)庫、執(zhí)行日志和其它數(shù)據(jù)源。中間數(shù)據(jù)結(jié)果來自Hadoop的執(zhí)行過程,它們被Hadoop的實(shí)時(shí)應(yīng)用程序使用,并交付給其他應(yīng)用程序和終端用戶。
圖1-2: Hadoop企業(yè)級(jí)應(yīng)用
可以使用不同的機(jī)制將源數(shù)據(jù)轉(zhuǎn)移到Hadoop,包括:Sqoop,F(xiàn)lume,直接安裝HDFS作為一個(gè)網(wǎng)絡(luò)文件系統(tǒng)(NFS),或者利用Hadoop的實(shí)時(shí)服務(wù)和應(yīng)用程序。在HDFS中,新的數(shù)據(jù)不會(huì)覆蓋現(xiàn)有數(shù)據(jù),而是新建一個(gè)數(shù)據(jù)版本。這一點(diǎn)很重要,因?yàn)?a href='/map/hdfs/' style='color:#000;font-size:inherit;'>HDFS是一個(gè)“寫一次”的文件系統(tǒng)。
對(duì)于數(shù)據(jù)處理層,Oozie預(yù)處理源數(shù)據(jù),并將其轉(zhuǎn)換為中間數(shù)據(jù)。不同于源數(shù)據(jù),中間數(shù)據(jù)會(huì)被覆蓋,沒有多個(gè)版本,所以中間數(shù)據(jù)量不會(huì)很大。
對(duì)于實(shí)時(shí)訪問層,Hadoop的實(shí)時(shí)應(yīng)用程序既支持直接數(shù)據(jù)訪問,也支持基于數(shù)據(jù)集的訪問。這些應(yīng)用程序讀取基于Hadoop的中間數(shù)據(jù),并將源數(shù)據(jù)存儲(chǔ)在Hadoop。該應(yīng)用程序也可以用于服務(wù)用戶,或者用于其它企業(yè)的Hadoop集成。
源數(shù)據(jù)用來存儲(chǔ)和初步處理數(shù)據(jù),中間數(shù)據(jù)用于傳遞和整合數(shù)據(jù)。因?yàn)椴捎昧嗽磾?shù)據(jù)和中間數(shù)據(jù)完全分離的結(jié)構(gòu),所以允許開發(fā)人員在沒有任何事務(wù)處理需求的情況下,構(gòu)建任何虛擬和復(fù)雜的應(yīng)用程序。通過中間預(yù)處理過程,明顯減少了服務(wù)數(shù)據(jù)量,使得實(shí)時(shí)數(shù)據(jù)訪問更加靈活。
HADOOP擴(kuò)充性
雖然許多文章認(rèn)為,對(duì)于開發(fā)人員來講,Hadoop隱藏了底層的復(fù)雜性。但是,其實(shí)是這些文章沒有充分認(rèn)識(shí)到Hadoop的可擴(kuò)展。
通過設(shè)計(jì)Hadoop的實(shí)現(xiàn)方式,可以使開發(fā)人員輕松、無縫地集成新的功能到Hadoop中執(zhí)行。Hadoop明確指定一些類庫來負(fù)責(zé)MapReduce執(zhí)行的不同階段。通過這種方式,滿足了開發(fā)者執(zhí)行特定問題的要求,從而確保每一個(gè)作業(yè)以最低成本、最高性能性能來執(zhí)行。
可以自定義Hadoop執(zhí)行的以下內(nèi)容:
本書有一部分內(nèi)容,在他人工作成果的基礎(chǔ)上,對(duì)自定義方法,以及實(shí)現(xiàn)方式進(jìn)行了專門的描述。
本書涵蓋了Hadoop企業(yè)級(jí)應(yīng)用的所有主要層,如圖1-2所示。
第2章介紹了構(gòu)建數(shù)據(jù)層的方法,包括HDFS和HBase(架構(gòu)和API)。然后,對(duì)兩者進(jìn)行對(duì)比分析,以及如何將HDFS和HBase相結(jié)合。本章還介紹了Avro(Hadoop的新的序列化框架),以及它在存儲(chǔ)或訪問數(shù)據(jù)中的作用。最后,你將了解HCatalog,以及用它來做廣告和訪問數(shù)據(jù)的方式。
本書將對(duì)數(shù)據(jù)處理進(jìn)行了大量的描述。對(duì)于應(yīng)用程序的數(shù)據(jù)處理部分,筆者建議使用MapReduce和Oozie。
在本書中,為什么以MapReduce源碼為核心?
你可能會(huì)問,為什么本書將重點(diǎn)放在MapReduce源碼上,而不是可以讓MapReduce編程變得更簡單的高級(jí)語言上面。你可以在網(wǎng)上或者Hadoop社區(qū)內(nèi),找到很多關(guān)于這方面的討論。在這些討論中給出的解釋是,MapReduce源碼量(就代碼行數(shù)而言)比提供相同的功能的Pig源碼量通常要多很多。盡管這是一個(gè)不爭的事實(shí),不過還有一些其他因素:
并不是什么都可以描述為一種高級(jí)語言。有些任務(wù),更適合使用傳統(tǒng)的Java代碼來執(zhí)行。
如果你寫的代碼僅需要執(zhí)行一次,那么代碼的行數(shù)可能對(duì)你很重要。但是,如果你正在編寫企業(yè)級(jí)應(yīng)用,那么你應(yīng)該考慮其他標(biāo)準(zhǔn),包括性能、可靠性和安全性。通常情況下,MapReduce源碼提供了更多的途徑,從而更容易實(shí)現(xiàn)這些特質(zhì)。
MapReduce通過自定義方式,為用戶提供的更多功能,以進(jìn)一步提高應(yīng)用程序的性能、可靠性和安全性。
在第3章中,您將了解MapReduce的架構(gòu)、主要構(gòu)成和編程模型。本章介紹了MapReduce的應(yīng)用程序設(shè)計(jì)、設(shè)計(jì)模式和MapReduce注意事項(xiàng)。本章還講介紹MapReduce的執(zhí)行是如何實(shí)現(xiàn)的。正如所提到的,MapReduce最強(qiáng)的特征之一是它可以自定義執(zhí)行。第4章會(huì)介紹自定義選項(xiàng)的詳細(xì)信息,并舉例說明。第5章通過演示實(shí)例,對(duì)MapReduce進(jìn)一步討論,構(gòu)建可靠的MapReduce應(yīng)用。
盡管MapReduce功能很強(qiáng)大,但是對(duì)于一個(gè)切實(shí)可行的解決方案,通常需要將多個(gè)MapReduce應(yīng)用集合到在一起。這個(gè)過程非常復(fù)雜,通過使用Hadoop的Workflow/Coordinator(工作流/協(xié)調(diào)員)引擎,可以被大大簡化MapReduce應(yīng)用的集成。
Oozie的價(jià)值
Oozie是Hadoop中最容易被低估的組件。很少有人(甚至沒有)在Hadoop書籍討論這個(gè)極其重要的組件。本書不但彰顯了Oozie什么可以做,而且還提供了一個(gè)端到端的例子,用來展示如何利用Oozie功能來解決實(shí)際問題。類似于Hadoop的其余部分,Oozie的功能也具有很好的擴(kuò)展性。開發(fā)者可以通過不同的方法來擴(kuò)展Oozie的功能。
在Hadoop中,最容易被低估的挑戰(zhàn)是:將Hadoop執(zhí)行與企業(yè)處理的其余部分進(jìn)行整合。使用Oozie來協(xié)調(diào)MapReduce應(yīng)用,并通過公開Oozie API的方式公開了Hadoop進(jìn)程。通過這種方式,你會(huì)很容易就找到更好的集成方法,對(duì)Hadoop處理和企業(yè)處理部分進(jìn)行集成。
第6章描述了Oozie是什么,Oozie的體系結(jié)構(gòu)、主要組成、編程語言和執(zhí)行模型。為了更好地解釋每個(gè)Oozie組件的功能和角色,第7章通過使用Oozie應(yīng)用解決端到端的實(shí)際問題。第8章中,通過展示Oozie的一些高級(jí)功能,對(duì)Oozie進(jìn)一步描述。這些高級(jí)功能包括自定義Workflow活動(dòng)、動(dòng)態(tài)生成Workflow和支持超級(jí)JAR文件(一個(gè)包含了所有的包及其依賴關(guān)系的JAR文件)。
第9章主要講解實(shí)時(shí)訪問層。該章首先介紹了一個(gè)工業(yè)中實(shí)時(shí)Hadoop應(yīng)用實(shí)例,然后針對(duì)實(shí)現(xiàn)方式提出了整體架構(gòu)。接著,介紹了建立這種實(shí)現(xiàn)的三種主要方法——基于HBase的應(yīng)用程序、實(shí)時(shí)查詢以及基于流的處理。本章介紹了總體架構(gòu),并提供了基于HBase實(shí)時(shí)應(yīng)用的兩個(gè)例子。然后,描述了一個(gè)實(shí)時(shí)查詢體系結(jié)構(gòu),并討論了兩個(gè)具體的實(shí)現(xiàn)——Apache Drill 和 Cloudera’s Impala。還介紹了實(shí)時(shí)查詢和MapReduce的對(duì)比。最后,您將了解基于Hadoop的復(fù)雜事件處理,以及兩個(gè)具體的實(shí)現(xiàn)——Strom和HFlame。
開發(fā)企業(yè)級(jí)應(yīng)用需要大量的規(guī)劃,以及信息安全方面的策略。第10章將重點(diǎn)講解Hadoop的安全模型。
隨著云計(jì)算的發(fā)展,許多企業(yè)嘗試將他們的Hadoop運(yùn)行在云上。第11章的重點(diǎn)是,通過使用EMR實(shí)現(xiàn),在亞馬遜的云上運(yùn)行Hadoop應(yīng)用;并且介紹了其它AWS服務(wù)(如S3),用來補(bǔ)充Hadoop的功能。本章還介紹了,通過使用不同的方法來運(yùn)行云上的Hadoop,并討論了最佳實(shí)踐方案。
除了Hadoop自身的安全問題外,通常Hadoop還需要集成其他企業(yè)的組件,來實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入和導(dǎo)出。第12章將重點(diǎn)介紹,如何才能維護(hù)好那些使用了Hadoop的企業(yè)級(jí)應(yīng)用,并提供了示例和最佳安全實(shí)踐,來確保所有Hadoop企業(yè)級(jí)應(yīng)用的安全運(yùn)行。
本章高度概括了大數(shù)據(jù)和Hadoop之間的關(guān)系。并介紹了大數(shù)據(jù)及其價(jià)值,還介紹了企業(yè)面臨的大數(shù)據(jù)挑戰(zhàn),包括數(shù)據(jù)存儲(chǔ)和處理的挑戰(zhàn)。通過本章,你還了解了Hadoop及其歷史。
通過本章,你了解了Hadoop特點(diǎn),并知道了為什么Hadoop如此適合大數(shù)據(jù)處理。本章還概述了Hadoop的主要組件,并介紹了一些例子,用來展示Hadoop如何簡化數(shù)據(jù)科學(xué),簡化創(chuàng)建企業(yè)應(yīng)用程序的過程。
本章介紹了關(guān)于Hadoop發(fā)行版本的基礎(chǔ)知識(shí),以及為什么許多企業(yè)傾向于選擇特定供應(yīng)商的發(fā)行版。因?yàn)樗麄儾幌M幚鞟pache項(xiàng)目中的兼容問題,或者他們需要供應(yīng)商的技術(shù)支持。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10