- 精通Spark數(shù)據(jù)科學(xué)
- (美)安德魯·摩根 (英)安托萬·阿門德 大衛(wèi)·喬治 馬修·哈利特
- 1373字
- 2021-01-15 16:45:35
1.1 大數(shù)據(jù)生態(tài)系統(tǒng)簡介
在數(shù)據(jù)持續(xù)產(chǎn)生、變動和更新的時代,數(shù)據(jù)管理顯得尤為重要。在這種情形下,我們需要一種存儲、結(jié)構(gòu)化和審計(jì)數(shù)據(jù)的方法,從而對數(shù)據(jù)進(jìn)行持續(xù)處理,對模型和結(jié)果進(jìn)行不斷改進(jìn)。
本章將介紹如何最優(yōu)地保存和管理數(shù)據(jù),以便在滿足日常需求的數(shù)據(jù)架構(gòu)環(huán)境中集成Apache Spark和相關(guān)工具。
1.1.1 數(shù)據(jù)管理
就算暫且不做長遠(yuǎn)的打算,即使你只是想在家里隨便“玩”一點(diǎn)數(shù)據(jù),如果沒有適當(dāng)?shù)臄?shù)據(jù)管理,往往問題會逐步升級直至你在數(shù)據(jù)中完全迷失,進(jìn)而犯下錯誤。花時間思考如何組織你的數(shù)據(jù),特別是如何進(jìn)行數(shù)據(jù)采集是至關(guān)重要的。假如你花了很長的時間運(yùn)行并分析代碼,然后整理結(jié)果并生成報(bào)告,最終你發(fā)現(xiàn)使用了錯誤版本的數(shù)據(jù),或者數(shù)據(jù)并不完整(例如缺失字段),或者更糟糕的是你把結(jié)果誤刪了。沒有什么比這些更讓人“抓狂”了!
這里還有個壞消息——雖然數(shù)據(jù)管理相當(dāng)重要,但商業(yè)和非商業(yè)組織對它都并不太重視,尤其是缺少現(xiàn)成的解決方案。但好消息是,使用本章介紹的基礎(chǔ)構(gòu)建模塊來完成這一工作會容易得多。
1.1.2 數(shù)據(jù)管理職責(zé)
在考慮數(shù)據(jù)時,我們很容易忽視該領(lǐng)域需要考慮的真實(shí)范疇。實(shí)際上,大部分?jǐn)?shù)據(jù)“新手”會按照以下方式考慮數(shù)據(jù)范疇。
- 獲取數(shù)據(jù)。
- 將數(shù)據(jù)放在某處。
- 使用數(shù)據(jù)。
- 丟棄數(shù)據(jù)。
實(shí)際上,關(guān)于數(shù)據(jù),我們需要考慮的因素還有很多。數(shù)據(jù)管理的職責(zé)就是判斷在特定的工作中需要具體考慮哪些因素。以下數(shù)據(jù)管理構(gòu)建模塊將有助于解答一些關(guān)于數(shù)據(jù)的重要問題。
- 文件完整性。
- 數(shù)據(jù)文件是否完整?
- 如何確定數(shù)據(jù)文件完整性?
- 數(shù)據(jù)文件是一個集合的一部分嗎?
- 數(shù)據(jù)文件是否正確?
- 數(shù)據(jù)文件在傳輸過程中被修改了嗎?
- 數(shù)據(jù)完整性。
- 數(shù)據(jù)是否符合預(yù)期?
- 數(shù)據(jù)是否包含所有的字段?
- 數(shù)據(jù)是否有足夠的元數(shù)據(jù)?
- 數(shù)據(jù)質(zhì)量是否滿足要求?
- 有沒有發(fā)生數(shù)據(jù)漂移?
- 調(diào)度。
- 數(shù)據(jù)是否按規(guī)律傳輸?
- 數(shù)據(jù)多久到達(dá)一次?
- 數(shù)據(jù)是否按時到達(dá)?
- 能確定數(shù)據(jù)接收時間嗎?
- 需要確認(rèn)數(shù)據(jù)接收時間嗎?
- 模式管理。
- 數(shù)據(jù)是結(jié)構(gòu)化還是非結(jié)構(gòu)化的?
- 數(shù)據(jù)是如何被解釋的?
- 模式能否被推斷出來?
- 數(shù)據(jù)是否隨著時間產(chǎn)生變化?
- 模式能否從之前的版本演變而來?
- 版本管理。
- 數(shù)據(jù)是什么版本?
- 版本是否正確?
- 如何處理不同版本的數(shù)據(jù)?
- 如何確定正在使用的數(shù)據(jù)的版本?
- 安全性。
- 數(shù)據(jù)是否敏感?
- 數(shù)據(jù)是否包含個人身份信息(PII)?
- 數(shù)據(jù)是否包含個人健康信息(PHI)?
- 數(shù)據(jù)是否包含支付卡信息(PCI)?
- 如何保護(hù)這些數(shù)據(jù)?
- 誰有權(quán)讀/寫數(shù)據(jù)?
- 數(shù)據(jù)是否需要匿名/清理/混淆/加密處理?
- 銷毀。
- 如何銷毀數(shù)據(jù)?
- 什么時候銷毀數(shù)據(jù)?
如果上述內(nèi)容仍無法說服你,那么在你繼續(xù)使用gawk和crontab命令編寫bash腳本之前,請繼續(xù)閱讀,你將會發(fā)現(xiàn)一種更快、更靈活且更安全的模式,可以讓你從小規(guī)模開始逐步構(gòu)建商業(yè)級的數(shù)據(jù)采集管道!
1.1.3 合適的工具
Apache Spark是新興的可擴(kuò)展數(shù)據(jù)處理的事實(shí)標(biāo)準(zhǔn)。在撰寫本書時,它是最活躍的Apache軟件基金會(ASF)項(xiàng)目,并提供了豐富的配套工具。每天都會出現(xiàn)新的工具,但其中許多工具在功能上有所重疊,因此我們需要花很多時間來學(xué)習(xí)它們的功能并判斷其是否適用,而且這個過程沒有捷徑。通常來說,很少有萬能的解決方案,總是需要根據(jù)實(shí)際情況進(jìn)行具體場景分析。因此,讀者需要探索可用的工具并做出明智的選擇。
不同的技術(shù)將貫穿本書,希望它們能給讀者提供更實(shí)用的技術(shù)引導(dǎo),幫助讀者在項(xiàng)目中使用相應(yīng)技術(shù)。此外,如果代碼編寫合理,即使發(fā)現(xiàn)選擇的某個技術(shù)是錯誤的,也可以利用應(yīng)用程序接口(API)(或者Spark Scala中的高階函數(shù))來更換技術(shù)。
- 空間機(jī)器人遙操作系統(tǒng)及控制
- Visual FoxPro 6.0數(shù)據(jù)庫與程序設(shè)計(jì)
- Cloud Analytics with Microsoft Azure
- Windows XP中文版應(yīng)用基礎(chǔ)
- INSTANT Varnish Cache How-to
- WordPress Theme Development Beginner's Guide(Third Edition)
- 空間機(jī)械臂建模、規(guī)劃與控制
- FANUC工業(yè)機(jī)器人配置與編程技術(shù)
- 簡明學(xué)中文版Flash動畫制作
- 西門子S7-1200/1500 PLC從入門到精通
- Windows 7來了
- 從機(jī)器學(xué)習(xí)到無人駕駛
- Web滲透技術(shù)及實(shí)戰(zhàn)案例解析
- Learning OpenShift
- 軟件需求最佳實(shí)踐