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

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ù)。

主站蜘蛛池模板: 区。| 呼图壁县| 蓬莱市| 海林市| 嵩明县| 宁南县| 封丘县| 紫金县| 来凤县| 台州市| 南阳市| 平江县| 汨罗市| 泽州县| 洛川县| 潮安县| 莲花县| 晋城| 千阳县| 夏邑县| 富裕县| 筠连县| 辽阳市| 壤塘县| 衡山县| 临夏市| 张家川| 河东区| 东港市| 江阴市| 易门县| 宁河县| 墨江| 克什克腾旗| 焦作市| 获嘉县| 汤阴县| 黄梅县| 鸡东县| 阜平县| 方正县|