大數(shù)據(jù)“復活”記
979
2025-04-03
第一部分
Spark基礎
第1章 大數(shù)據(jù)、Hadoop、Spark介紹
第2章 部署Spark
第3章 理解Spark集群架構
第4章 Spark編程基礎
第1章
大數(shù)據(jù)、Hadoop、Spark介紹
在古代,人們使用牛來拉重物,而當一頭牛拉不動的時候,人們并不會嘗試把牛養(yǎng)得更壯。我們也不應該嘗試使用更強大的計算機,而應該嘗試使用更多的計算機。
—美國計算機科學家,海軍準將格蕾絲·穆雷·赫柏
本章提要
大數(shù)據(jù)與Apache Hadoop項目簡介
Hadoop核心組件(HDFS和YARN)概覽
Apache Spark簡介
PySpark編程所需的Python基礎,包括函數(shù)式編程基礎知識
Hadoop和Spark項目都和大數(shù)據(jù)運動密不可分。從項目早期主要用于搜索引擎廠商和學術界,到現(xiàn)在用于從數(shù)據(jù)倉庫到復雜事件處理(Complex Event Processing,CEP)再到機器學習的各種各樣的應用中,Hadoop和Spark已經(jīng)在數(shù)據(jù)格局中做出了不可磨滅的貢獻。
本章會介紹一些基本的分布式計算概念、Hadoop項目和Spark項目、Python函數(shù)式編程,為你后續(xù)的學習打下堅實的基礎。
1.1 大數(shù)據(jù)、分布式計算、Hadoop簡介
在討論Spark之前,有必要回顧并理解所謂“?大數(shù)據(jù)?”的歷史。要想成為精通Spark的專家,你不僅需要理解Hadoop以及Spark對它的用法,還要理解Hadoop項目的一些核心概念,比如數(shù)據(jù)本地化、無共享和映射-歸約(MapReduce),因為它們對于Spark而言都適用且不可或缺。
1.1.1 大數(shù)據(jù)與Hadoop簡史
我們常說的“?大數(shù)據(jù)?”是一套數(shù)據(jù)存儲和處理的方法論,它最早在本世紀初出現(xiàn)于搜索引擎廠商,主要是谷歌和雅虎。搜索引擎廠商是第一批遇到互聯(lián)網(wǎng)規(guī)模(Internet-scale)問題的,主要問題是如何處理與存儲互聯(lián)網(wǎng)世界里所有文件的索引。盡管現(xiàn)在互聯(lián)網(wǎng)的體量比起當初早已翻了數(shù)倍,但上述問題在當時依然是一個巨大的挑戰(zhàn)。
雅虎和谷歌分別獨立入手開發(fā)解決這一挑戰(zhàn)的方法。在2003年,谷歌發(fā)表了一篇題為《The Google File System》的白皮書。緊接著,在2004年,谷歌又發(fā)布了另一篇題為《MapReduce: Simplif?ied Data Processing on Large Clusters》的白皮書。差不多在同一時間,Doug Cutting(公認的Hadoop項目創(chuàng)始人)和Mike Cafarella正在忙于一個名為Nutch的網(wǎng)絡爬蟲項目,該項目基于Cutting的開源項目Lucene(現(xiàn)在是Apache Lucene)。谷歌發(fā)布的白皮書啟發(fā)了Cutting,他將Nutch項目中做的一些工作與這些白皮書中列出的存儲和處理原理進行了整合。整合的成果就是如今的Hadoop。后來在2006年,雅虎決定接受Hadoop,并雇傭Doug Cutting讓他全職開展該項目的相關工作。Hadoop在2006年成為Apache軟件基金會的一員。
Apache軟件基金會
Apache軟件基金會(ASF)是1999年成立的非營利性組織,為開發(fā)者提供向開源項目做貢獻的開源軟件結構與框架。ASF鼓勵合作與社區(qū)參與,保護志愿人員免于相關訴訟。ASF以精英管理的概念為前提,意味著項目受到績效的支配。
貢獻者(contributor)是對項目貢獻了代碼或者文檔的開發(fā)人員。他們通?;钴S于郵件組和答疑論壇,對項目缺點提出意見和建議,或是提出解決問題的代碼補丁。
提交者(committer)是因專業(yè)績效突出而獲得一個項目主代碼倉庫的代碼提交權限的開發(fā)人員。提交者需要簽署貢獻者許可協(xié)議(Contributor License Agreement,CLA),會擁有一個apache.org后綴的電子郵箱地址。提交者形成一個委員會來做項目相關的一些決策。
訪問http://apache.org/可以獲取更多關于Apache軟件基金會的信息。
差不多在Hadoop項目誕生的同時,還有一些其他的技術革新也在進行中,包括如下幾項:
電子商務的疾速擴張
移動互聯(lián)網(wǎng)的誕生與迅速成長
博客與用戶驅動的網(wǎng)絡內容
社交媒體
這些革新累積導致所生成的數(shù)據(jù)量指數(shù)級增長。數(shù)據(jù)的洪流加速了大數(shù)據(jù)運動的擴張,進而導致了其他相關項目的出現(xiàn)(如Spark),還有開源消息系統(tǒng)(如Kafka),NoSQL平臺(如HBase和Cassandra),這些都會在本書后續(xù)內容中進行討論。
但這一切都從Hadoop開始。
Spark python spark Python
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。