官术网_书友最值得收藏!

前言

我們為什么寫這本書呢?這要從我們由數據科學家轉成數據工程師的經歷說起。我們經常笑稱自己為數據修補科學家。我們都被分配到過一些因數據基礎太差而難以推進的項目。我們向數據工程領域進發的旅程始于承擔建立數據基礎和搭建基礎設施等數據工程相關的任務。

隨著數據科學的興起,眾多公司在數據科學人才方面投入巨大,以期獲得豐厚的回報。但很多時候,數據科學家都在糾結于他們的背景和培訓經歷中沒有涉及的一眾基礎問題:數據收集、數據清洗、數據訪問權限控制、數據轉換和數據基礎設施。這些都是數據工程領域的問題。

本書不會涉及的內容

在我們介紹本書涉及的內容以及你將從本書中得到什么之前,讓我們快速地介紹一下本書不涉及哪些內容。本書不涉及關于使用特定工具、技術或平臺的數據工程內容。雖然很多優秀的書籍都是從這個角度來探討數據工程技術的,但這些書的保質期很短。與這些書不同,本書專注于數據工程背后的基本概念。

本書涉及的內容

本書旨在填補當前數據工程內容和資料的空白。雖然市面上有很多涉及具體數據工程工具和技術的資料,但人們卻很難理解如何將這些工具和技術組合并實際運用。本書將整個數據生命周期的各個環節聯系起來,告訴你如何將各種技術拼接起來,以滿足下游數據消費者(如分析師、數據科學家和機器學習工程師)的需求。本書是對那些覆蓋特定技術、平臺和編程語言細節的書籍的補充。

本書的主線是數據工程生命周期:數據生成、存儲、獲取、轉換和服務。自從數據誕生以來,人們見證了無數技術和供應商產品的興衰,但數據工程生命周期的各個階段基本上沒有變化。用這個框架思考,讀者會對用技術解決真實業務問題有較好的理解。

本書的目標是描繪那些經久不衰的準則。首先,我們希望從數據工程提煉出一些可以包容任何有關技術的準則。其次,我們希望留下那些經得起時間考驗的準則。我們希望這些內容能體現出從過去20年左右的數據相關技術變化中所吸取的經驗,并希望我們提出的思考框架在未來10年或更長時間內仍然有用。

有一點值得注意:我們不假思索地在書中選用了云優先的思路。我們認為上云是這幾十年中應用最廣泛的轉型趨勢,大多數企業本地的數據系統和負載發展到最后總會上云。我們認為,數據相關基礎設施和系統是快速變化的、可擴展的,因此數據工程師會傾向于在云上部署托管服務。不過,本書中的大多數概念也會有非云環境適用的版本。

本書的目標讀者

本書的主要目標讀者包括技術人員、中高級軟件工程師、數據科學家、有興趣進入數據工程領域的分析師,或有特定技術領域專長但希望發展更全面視角的數據工程師。我們的次要目標讀者包括與技術人員合作的數據利益相關者,例如,指導數據工程師團隊的數據團隊技術主管,或計劃將本地系統遷移上云的數據倉庫總監。

正常情況下,你會想了解閱讀這本書的理由。通過閱讀關于數據倉庫/數據湖、批處理和流式系統、任務編排、建模、管理、分析、云技術的發展等方面的書籍和文章,你可以保持對數據技術和發展趨勢的關注,而本書可以把你所讀到的內容編織成一幅跨越技術和范式的數據工程的完整圖景。

準備工作

我們假設讀者對企業級別的各種數據系統有較好的了解。此外,我們假設讀者掌握一些有關SQL和Python(或其他編程語言)知識,并有使用云的經驗。

準數據工程師可以獲取大量練習Python和SQL的資料,相關的免費線上資源有很多(博客文章、教程網站、YouTube視頻),每年還有許多新的Python書籍面世。

云計算有助于積累非常多的數據工具實踐經驗。我們建議準數據工程師開設云賬戶,如AWS、Azure、Google Cloud Platform、Snowflake、Databricks等。請注意,雖然許多平臺可以免費體驗,但讀者在學習過程中應密切關注成本,并使用少量數據和單節點集群。

在企業外了解企業級別數據系統一直都很困難,這給那些想學習但又沒有開始數據相關工作的準數據工程師帶來了一定的障礙,本書會對這些讀者有所幫助。我們建議數據新手先閱讀每章的頂層邏輯,然后再看每一章末尾的補充資料,在第二次閱讀時,留意任何不熟悉的術語和技術。你可以利用谷歌、維基百科、博客文章、YouTube視頻和供應商的網站來熟悉新的術語并填補理解上的空白。

你將學到的內容以及獲得的能力

本書旨在為你解決真實的數據工程問題打下堅實的基礎。

在閱讀完本書后,你將學到:

? 數據工程對你目前角色(數據科學家、軟件工程師或數據團隊負責人)的幫助。

? 如何看穿營銷炒作,選擇正確的技術、數據架構和流程。

? 如何使用數據工程生命周期來設計和建立一個強大的數據架構。

? 數據生命周期的每個階段的最佳實踐。

獲得的能力有:

? 將數據工程方法論融入你當前的角色(數據科學家、分析師、軟件工程師、數據團隊負責人等)。

? 組合運用各種云技術來滿足下游數據消費者的需求。

? 用全周期的最佳實踐框架考量數據工程問題。

? 將數據治理和數據安全納入數據工程生命周期。

本書導航

本書分為以下部分。

第一部分中,我們首先將在第1章中給出數據工程的定義,然后在第2章中描繪數據工程的生命周期。在第3章中,我們將討論合理的架構設計。在第4章中,我們將介紹幫助技術選型的框架——我們經常看到技術和架構被混為一談,但實際上這兩者相去甚遠。

第二部分將在第2章的基礎上,深入介紹數據工程的生命周期,每個生命周期階段——數據生成、存儲、獲取、轉換和服務,都有相應的章節來介紹。第二部分是本書的核心,其他章節都服務于第二部分的中心思想。

第三部分涵蓋一些其他話題。第10章將討論安全和隱私。雖然安全一直是數據工程專業的重要部分,但隨著以贏利為目的的黑客和網絡攻擊興風作浪,它變得更加重要了。那么,保護隱私有多重要呢?不重視企業隱私的時代已經過去了,沒有公司愿意被詬病“隱私不健全”。而隨著GDPR、CCPA和其他相關法規的出臺,對個人數據的不當處理會產生重大的法律風險。簡而言之,安全和隱私一定是所有數據工程工作的首要關注點。

在從事數據工程工作,以及為本書做調研和咨詢眾多專家的過程中,我們對領域內的近期和遠期發展進行了大量思考。第11章將介紹我們對數據工程未來的預測。但未來本是一件不確定的事情,那就讓時間證明我們的想法。我們希望了解讀者對未來的看法和我們有什么一致或不同。

在附錄中,我們將介紹一些與數據工程的日常實踐極為相關,但卻和主干無關的技術話題。具體來說,工程師需要了解序列化和壓縮(見附錄A),這與處理數據文件和評估數據系統的性能有關,而云網絡(見附錄B)是數據工程上云的關鍵話題。

排版約定

本書中使用以下排版約定:

斜體(Italic

表示新的術語、URL、電子郵件地址、文件名和文件擴展名。

等寬字體(Constant width)

用于程序清單,以及段落中的程序元素,例如變量名、函數名、數據庫、數據類型、環境變量、語句以及關鍵字。

該圖示表示提示或建議。

該圖示表示一般性說明。

該圖示表示警告或注意。

如何聯系我們

對于本書,如果有任何意見或疑問,請按照以下地址聯系本書出版商。

美國:

O'Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中國:

北京市西城區西直門南大街2號成銘大廈C座807室(100035)

奧萊利技術咨詢(北京)有限公司

要詢問技術問題或對本書提出建議,請發送電子郵件至errata@oreilly.com.cn

本書配套網站https://oreil.ly/fundamentals-of-data上列出了勘誤表、示例以及其他信息。

關于書籍、課程、會議和新聞的更多信息,請訪問我們的網站http://oreilly.com

我們在LinkedIn上的地址:https://linkedin.com/company/oreilly-media

我們在Twitter上的地址:http://twitter.com/oreillymedia

我們在YouTube上的地址:http://youtube.com/oreillymedia

致謝

當我們開始寫這本書的時候,很多人都忠告我們,這是一項艱巨的任務。像這樣的書包含了很多深層的內容,并較全面地覆蓋了數據工程領域,這就需要大量的研究、走訪、討論和深入思考。我們不認為本書囊括了數據工程的所有內容,但我們希望本書能引起你的共鳴。許多人都為本書做出了貢獻,我們感謝很多專業人士對我們的支持。

首先,感謝本書優秀的技術顧問團隊。他們認真地審閱了本書,并提供了寶貴(甚至有些直言不諱)的反饋。如果沒有他們的努力,這本書將黯然失色。在此,我們向Bill Inmon、Andy Petrella、Matt Sharp、Tod Hansmann、Chris Tabb、Danny Lebzyon、Martin Kleppman、Scott Lorimor、Nick Schrock、Lisa Steckman、Veronika Durgin和Alex Woolford致以無限的謝意。

其次,我們和很多數據工程領域的專家通過現場演示、博客、聚會和數不清的電話進行過溝通。他們的思想幫助塑造了這本書。有太多的人需要感謝,這里無法一一列舉,但我們還是想對Jordan Tigani、Zhamak Dehghani、Ananth Packkildurai、Shruti Bhat、Eric Tschetter、Benn Stancil、Kevin Hu、Michael Rogove、Ryan Wright、Adi Polak、Shinji Kim、Andreas Kretz、Egor Gryaznov、Chad Sanderson、Julie Price、Matt Turck、Monica Rogati、Mars Lan、Pardhu Gunnam、Brian Suk、Barr Moses、Lior Gavish、Bruno Aziza、Gian Merlino、DeVaris Brown、Todd Beauchene、Tudor Girba、Scott Taylor、Ori Rafael、Lee Edwards、Bryan Offutt、Ollie Hughes、Gilbert Eijkelenboom、Chris Bergh、Fabiana Clemente、Andreas Kretz、Ori Reshef、Nick Singh、Mark Balkenende、Kenten Danas、Brian Olsen、Lior Gavish、Rhaghu Murthy、Greg Coquillo、David Aponte、Demetrios Brinkmann、Sarah Catanzaro、Michel Tricot、Levi Davis、Ted Walker、Carlos Kemeny、Josh Benamram、Chanin Nantasenamat、George Firican、Jordan Goldmeir、Minhaaj Rehmam、Luigi Patruno、Vin Vashista、Danny Ma、Jesse Anderson、Alessya Visnjic、Vishal Singh、Dave Langer、Roy Hasson、Todd Odess、Che Sharma、Scott Breitenother、Ben Taylor、Thom Ives、John Thompson、Brent Dykes、Josh Tobin、Mark Kosiba、Tyler Pugliese、Douwe Maan、Martin Traverso、Curtis Kowalski、Bob Davis、Koo Ping Shung、Ed Chenard、Matt Sciorma、Tyler Folkman、Jeff Baird、Tejas Manohar、Paul Singman、Kevin Stumpf、Willem Pineaar、Tecton的Michael Del Balso、Emma Dahl、Harpreet Sahota、Ken Jee、Scott Taylor、Kate Strachnyi、Kristen Kehrer、Taylor Miller、Abe Gong、Ben Castleton、Ben Rogojan、David Mertz、Emmanuel Raj、Andrew Jones、Avery Smith、Brock Cooper、Jeff Larson、Jon King、Holden Ackerman、Miriah Peterson、Felipe Hoffa、David Gonzalez、Richard Wellman、Susan Walsh、Ravit Jain、Lauren Balik、Mikiko Bazeley、Mark Freeman、Mike Wimmer、Alexey Shchedrin、Mary Clair Thompson、Julie Burroughs、Jason Pedley、Freddy Drennan、Jason Pedley、Kelly Phillipps、Matt Phillipps、Brian Campbell、Faris Chebib、Dylan Gregerson、Ken Myers、Jake Carter、Seth Paul、Ethan Aaron等表示感謝。

我們還要感謝Ternary Data團隊(Colleen McAuley、Maike Wells、Patrick Dahl、Aaron Hunsaker等)、我們的學生,以及世界各地無數支持我們的人。這也提醒了我們世界真小。

與O'Reilly的工作人員一起工作真是太棒了,特別感謝Jess Haberman在計劃預審階段對我們的信任,感謝優秀的、極有耐心的開發編輯Nicole Taché和Michele Cronin的無私編輯、反饋與支持。也感謝O'Reilly的一流制作團隊(Greg和他的伙伴們)。

Joe想感謝他的家人Cassie、Milo和Ethan。他們為這本書也付出了很多,所以Joe開玩笑地保證自己再也不寫書了。

Matt要感謝他的朋友和家人,感謝他們的超強耐心和支持。他很希望Seneca在經歷了勞累和錯過了很多假期的家庭時光之后,還能給一個五星好評。

主站蜘蛛池模板: 衡南县| 垦利县| 团风县| 兖州市| 五家渠市| 南漳县| 比如县| 惠安县| 错那县| 都江堰市| 五常市| 额敏县| 聂荣县| 津市市| 太白县| 金湖县| 柳林县| 都兰县| 临高县| 曲靖市| 崇州市| 娄底市| 霍邱县| 商洛市| 汉寿县| 通州市| 甘南县| 周至县| 九台市| 金塔县| 筠连县| 扎赉特旗| 白玉县| 昌图县| 苍溪县| 金乡县| 元阳县| 濉溪县| 浦北县| 旅游| 保亭|