理解如何存儲(chǔ)超大規(guī)模數(shù)據(jù)。
設(shè)計(jì)并實(shí)施可提供快速熱查詢(xún)和精確冷結(jié)果的解決方案。
以批量數(shù)據(jù)處理、實(shí)時(shí)微批量或一次處理一個(gè)元組的方式處理實(shí)時(shí)數(shù)據(jù)。
將機(jī)器學(xué)習(xí)與你的數(shù)據(jù)管道相集成。
數(shù)據(jù)資產(chǎn)的管理、治理和安全。
使用示例代碼,這些代碼由C#、Scala、Java,以及現(xiàn)代數(shù)據(jù)分析管道中各種服務(wù)所使用的原生語(yǔ)言編寫(xiě)。
Microsoft Azure在存儲(chǔ)、處理和分析不同攝取速度、形態(tài)和大小的數(shù)據(jù)方面提供了超過(guò)25種平臺(tái)即服務(wù)(PaaS)功能,用以實(shí)現(xiàn)數(shù)據(jù)分析管道。對(duì)于你的公司業(yè)務(wù)來(lái)說(shuō),該如何選擇恰當(dāng)?shù)墓δ苣?針?duì)如何建立Azure大數(shù)據(jù)分析解決方案這一問(wèn)題,本書(shū)提供了極具實(shí)踐性的參考框架。
本書(shū)作者介紹了包括數(shù)據(jù)湖和Lambda架構(gòu)在內(nèi)的基本概念,同時(shí)結(jié)合示例代碼詳細(xì)解釋了數(shù)據(jù)分析管道中的各個(gè)階段。為了幫助你在數(shù)據(jù)分析的各個(gè)階段中選擇適當(dāng)?shù)腁zure服務(wù),本書(shū)還通過(guò)一個(gè)案例場(chǎng)景對(duì)全書(shū)內(nèi)容進(jìn)行了擴(kuò)展,對(duì)書(shū)中所涉及的各項(xiàng)Azure服務(wù),以示例代碼的形式展示了它們?cè)诂F(xiàn)實(shí)世界中的真實(shí)用例。
如今,在你創(chuàng)建軟件解決方案時(shí),令人感到不快的不僅數(shù)據(jù)方面的潛在問(wèn)題,還可能 遇到高級(jí)數(shù)據(jù)分析,或是只有機(jī)器學(xué)習(xí)才能解決的復(fù)雜問(wèn)題。但問(wèn)題是,軟件開(kāi)發(fā)領(lǐng) 域與大數(shù)據(jù)和高級(jí)數(shù)據(jù)分析領(lǐng)域差不多相隔幾個(gè)光年,這兩個(gè)領(lǐng)域的人使用著不同的 軟件、不同的名詞,而且在多數(shù)情況下還遵循不同的工程方法,更別說(shuō)各種方案還具 有多種選擇。對(duì)此,本書(shū)的目標(biāo)是為你提供一份銀河系漫游指南,無(wú)論面對(duì)的是
來(lái)自物聯(lián)網(wǎng)(IoT)傳感器以曲速譯注1產(chǎn)生的數(shù)據(jù),還是像冰川一樣沉積著的
歷史數(shù)據(jù),這份指南都能幫助你從中探尋數(shù)據(jù)洞察力并找明方向。
本書(shū)在結(jié)構(gòu)設(shè)計(jì)上以數(shù)據(jù)管道作為內(nèi)容主線(xiàn),包括數(shù)據(jù)攝取、處理、存儲(chǔ),以及實(shí) 時(shí)(熱數(shù)據(jù))和批量(冷數(shù)據(jù))數(shù)據(jù)處理路徑。在沿著數(shù)據(jù)管道前行的途中,各種 Azure服務(wù)將成為旅途中的指引,這些服務(wù)可能會(huì)在一章或多個(gè)章節(jié)中出現(xiàn)。我們還 會(huì)針對(duì)數(shù)據(jù)管道中的特定步驟,對(duì)需要考慮的服務(wù)和工具進(jìn)行詳細(xì)介紹;蛘,你也 可以換種方式思考,將這些服務(wù)和工具看作是數(shù)據(jù)分析管道中每個(gè)環(huán)節(jié)的工具箱,然 后就此得出類(lèi)似這樣的問(wèn)答:對(duì)于長(zhǎng)期數(shù)據(jù)存儲(chǔ),我該使用哪項(xiàng)Azure服務(wù)?對(duì)此, 我們?cè)诒緯?shū)中會(huì)向你展示如何使用Azure存儲(chǔ)和Azure數(shù)據(jù)湖存儲(chǔ),那么對(duì)于流數(shù)據(jù)的 存儲(chǔ)呢?本書(shū)將為你介紹包括Azure流分析、結(jié)合Storm或Spark的Azure HDInsight以 及Event Processor Host,并展示如何編寫(xiě)相關(guān)代碼。
當(dāng)然,如果你心中沒(méi)有目的地,這份地圖就會(huì)顯得無(wú)聊很多,為了讓我們的旅途更有 趣,我們需要一個(gè)目標(biāo)在Azure中構(gòu)建一個(gè)數(shù)據(jù)分析管道。對(duì)此,本書(shū)通過(guò)一個(gè) 機(jī)場(chǎng)數(shù)據(jù)管理的虛擬業(yè)務(wù)場(chǎng)景,結(jié)合該場(chǎng)景所需的所有示例數(shù)據(jù)和代碼,幫助你理解Azure的各項(xiàng)數(shù)據(jù)分析服務(wù)。
請(qǐng)你像閱讀旅游指南一樣使用本書(shū),可以從頭讀到尾,也可以根據(jù)興趣選擇幾個(gè)領(lǐng) 域深入了解。在這份旅游地圖上,我們對(duì)各種Azure服務(wù)和工具都進(jìn)行了詳細(xì)介 紹,沿著它們即可依次構(gòu)建出完整的數(shù)據(jù)管道。在有些場(chǎng)景中,有些內(nèi)容可能略微復(fù) 雜、深入或難懂。還有一些部分是簡(jiǎn)單但具有針對(duì)性的解決方案,它們是專(zhuān)門(mén)用于解 決特定問(wèn)題而設(shè)計(jì)的,其中可能使用了開(kāi)源代碼,也可能采用的是Microsoft的最近創(chuàng) 新。無(wú)論如何,在本書(shū)最后,你將有能力建立屬于自己的銀河系漫游指南,針對(duì) 不同目的深入了解如何使用相應(yīng)的服務(wù)和工具,最終得以精通Azure數(shù)據(jù)分析。
本書(shū)的排版約定
本書(shū)通過(guò)不同排版風(fēng)格表達(dá)內(nèi)容,具體說(shuō)明如下:
斜體字(Italic)
新名詞、URL、電子郵件地址、文件名和文件擴(kuò)展名。 等寬字體 (Constant width)
用于代碼和段落中引用的代碼片段,如變量或方法名、數(shù)據(jù)庫(kù)、數(shù)據(jù)類(lèi)型、環(huán)境
變量、生命和關(guān)鍵字等。
等寬粗體字 (Constant width) 命令或應(yīng)該由用戶(hù)輸入的文本內(nèi)容。
等寬斜體字(Constant width) 應(yīng)由用戶(hù)提供數(shù)值并進(jìn)行替換的內(nèi)容,或是應(yīng)根據(jù)上下文才能確定的內(nèi)容。
使用示例代碼
更多補(bǔ)充資料(包括示例代碼、練習(xí)等)可以從這里下載:https://github.com/ ZoinerTejada/mastering-azure-analytics。
本書(shū)可以幫助你完成工作任務(wù)。通常,對(duì)于書(shū)中提供的示例代碼,可以直接在自己的 程序和文檔中使用,無(wú)需聯(lián)系我們獲取授權(quán),除非要再次分發(fā)大量示例代碼。具體舉 例來(lái)說(shuō),如果在編寫(xiě)程序時(shí)使用了本書(shū)提供的一部分代碼,不用擔(dān)心授權(quán)問(wèn)題;但如 果要把O Reilly系列圖書(shū)中的示例代碼以CD-ROM等方式銷(xiāo)售或分發(fā),則需要獲得我 們的授權(quán);在解答問(wèn)題時(shí)如需引用本書(shū)提供的代碼,不需要授權(quán);但如果是在你的產(chǎn) 品文檔中使用本書(shū)的任意代碼,則必須獲得授權(quán)。
雖然并不要求,但我們感謝你能夠引用本書(shū)。引用格式一般會(huì)包含書(shū)名、作者、出 版商和ISBN,例如:Mastering Azure Analytics by Zoiner Tejada(OReilly)。 Copyright 2017 Zoiner Tejada,978-1-491-95665-6。
如果你認(rèn)為自己在使用示例代碼時(shí)超出了上述許可范圍,敬請(qǐng)發(fā)郵件聯(lián)系我們
permissions@oreilly.com。
OReilly Safari
Safari(曾用名:Safari圖書(shū)在線(xiàn))是一個(gè)針對(duì)企業(yè)、政府、教育工作者和個(gè)人的會(huì)員 制技術(shù)培訓(xùn)和內(nèi)容參考平臺(tái)。
Safari會(huì)員可以瀏覽和觀看數(shù)千本圖書(shū)、培訓(xùn)視頻、培訓(xùn)課程、交互式練習(xí)和我們 專(zhuān)門(mén)策劃的內(nèi)容列表,這些內(nèi)容來(lái)自超過(guò)250家出版社,包括O Reilly Media、哈 佛商業(yè)評(píng)論、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett,以及Course Technology等。
了解有關(guān)Safari的更多信息,請(qǐng)?jiān)L問(wèn)http://oreilly.com/safari。
聯(lián)系我們
請(qǐng)將關(guān)于本書(shū)的意見(jiàn)和問(wèn)題通過(guò)以下地址提供給出版社:
前言
美國(guó):
OReilly Media, Inc.
1005 Gravenstein Highway North Sebastopol, CA 95472
中國(guó):
北京市西城區(qū)西直門(mén)南大街2號(hào)成銘大廈C座807室(100035) 奧萊利技術(shù)咨詢(xún)(北京)有限公司
針對(duì)這本書(shū),我們還建有一個(gè)網(wǎng)頁(yè),列出了有關(guān)勘誤、示例和其他信息?梢酝ㄟ^(guò)以 下地址訪(fǎng)問(wèn)這個(gè)頁(yè)面:http://bit.ly/masterAzureAnalytics。
如果對(duì)這本書(shū)有什么意見(jiàn),或者要詢(xún)問(wèn)技術(shù)上的問(wèn)題,請(qǐng)將電子郵件發(fā)至:
bookquestions@oreilly.com。
致謝
編寫(xiě)這樣一本內(nèi)容覆蓋廣泛的書(shū),離不開(kāi)身后的大量支持,在本書(shū)撰寫(xiě)過(guò)程中,我很 榮幸能夠得到許多專(zhuān)家的幫助。在此,我要感謝Lynn Langit,她精準(zhǔn)地指出了書(shū)中所 有含糊或表述不清的內(nèi)容,在這樣嚴(yán)格要求的壓力與挑戰(zhàn)下,本書(shū)才能以如此完美的 質(zhì)量展現(xiàn)給大家。同時(shí),我也很榮幸獲得了來(lái)自Microsoft工程師的技術(shù)審閱,感謝 Nishant Thacker、Ted Way和Rama Ramani以其杰出的技術(shù)水平為本書(shū)所付出的努力。
我要向Azure MVP社區(qū)的特別一員Tom Kerkhove表示感謝。感謝你在代碼測(cè)試中一絲 不茍地專(zhuān)注于細(xì)節(jié)并認(rèn)真修改,從而使讀者能夠獲得更好的體驗(yàn)。
感謝Matt Winkler給我指明了從當(dāng)年的工作流如何轉(zhuǎn)向如今全新數(shù)據(jù)世界的道路,當(dāng) 然,他也教會(huì)了我如何從消防栓取水喝。
我還要在這里向我的編輯Shannon Cutt表示感謝,在過(guò)去的一年多里,他一直提供著 細(xì)致、明慧和有益的支持。與此同時(shí),最值得感謝的還有Kristen Brown,每當(dāng)我指尖 的鍵盤(pán)無(wú)法跟上思想的步伐時(shí),他都能及時(shí)幫我記錄下所有想法。感謝你們讓我的首 本OReilly著作成為了如此美妙的體驗(yàn)。
最后,我要感謝我的妻子Ashley,她與我一同編寫(xiě)此書(shū),默默忍受了無(wú)數(shù)個(gè)夜晚 和無(wú)聊的周末,她的理解和耐心是愛(ài)我的最好表達(dá)。
Zoiner Tejada,架構(gòu)師,擁有超過(guò)18年軟件行業(yè)咨詢(xún)經(jīng)驗(yàn),在云計(jì)算、大數(shù)據(jù)、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)方面擁有卓越見(jiàn)解。鑒于他在Azure和數(shù)據(jù)平臺(tái)(Data Platform)兩個(gè)方面的貢獻(xiàn),Microsoft在這兩個(gè)領(lǐng)域都向他授予了MVP(Microsoft有價(jià)值專(zhuān)家)稱(chēng)號(hào)。
目錄
序1
前言3
第1章 企業(yè)數(shù)據(jù)分析基礎(chǔ)7
數(shù)據(jù)分析管道7
數(shù)據(jù)湖8
Lambda架構(gòu)9
Kappa架構(gòu)11
在Lambda和Kappa間進(jìn)行選擇12
Azure分析管道12
數(shù)據(jù)分析場(chǎng)景介紹15
示例代碼和示例數(shù)據(jù)集16
小結(jié)21
第2章 將數(shù)據(jù)導(dǎo)入Azure22
攝取加載層22
批量數(shù)據(jù)加載24
硬盤(pán)傳送24
流數(shù)據(jù)加載78
小結(jié)80
第3章 在Azure中存儲(chǔ)攝取的數(shù)據(jù)81
文件存儲(chǔ)81
隊(duì)列存儲(chǔ)97
小結(jié)124
第4章 Azure中的實(shí)時(shí)數(shù)據(jù)處理125
流處理125
在Azure中每次處理一個(gè)元組131
小結(jié)174
第5章 Azure中的實(shí)時(shí)微批處理176
Azure中的微批處理176
小結(jié)207
第6章 Azure中的批處理208
HDInsight上的MapReduce批處理210
HDInsight上的Hive批處理214
HDInsight上的Pig批處理228
HDInsight上的Spark批處理229
使用SQL數(shù)據(jù)倉(cāng)庫(kù)的批處理237
使用數(shù)據(jù)湖分析的批處理247
Azure Batch批處理258
小結(jié)260
第7章 Azure中的交互式查詢(xún)261
Azure SQL數(shù)據(jù)倉(cāng)庫(kù)的可交互式查詢(xún)263
Hive和Tez交互式查詢(xún)269
Spark SQL交互式查詢(xún)277
USQL交互式查詢(xún)281
小結(jié)284
第8章 Azure中的冷\熱訪(fǎng)問(wèn)服務(wù)層285
Azure Redis緩存287
Document DB294
SQL 數(shù)據(jù)庫(kù)300
SQL數(shù)據(jù)倉(cāng)庫(kù)308
HDInsight上的HBase309
Azure搜索314
小結(jié)315
第9章 智能和機(jī)器學(xué)習(xí)316
Azure機(jī)器學(xué)習(xí)319
HDInsight上的R服務(wù)321
SQL R服務(wù)321
Microsoft認(rèn)知服務(wù)322
小結(jié)334
第10章 Azure中的元數(shù)據(jù)管理335
使用Azure數(shù)據(jù)目錄管理元數(shù)據(jù)335
小結(jié)350
第11章 保護(hù)在Azure中的數(shù)據(jù)351
身份和訪(fǎng)問(wèn)管理351
數(shù)據(jù)保護(hù)353
審計(jì)355
小結(jié)356
第12章 執(zhí)行數(shù)據(jù)分析357
使用Power BI進(jìn)行分析357
在藍(lán)色天際機(jī)場(chǎng)場(chǎng)景中使用Power BI批量分析報(bào)表368
展望372