提到大數據可能有些令人生畏。在了解一定基本概念的基礎上,掌握其中一些關鍵術語也是至關重要的。
在本文中,我列出了 25 個必須掌握的大數據術語。
算法(Algorithm)
指用于執行數據分析的數學公式或統計過程。那么算法與大數據有什么關系呢?雖然算法是一個通用術語,但大數據分析使得這個詞變得更具時代性,更受歡迎。
分析(Analytics)
你的信用卡公司會將附有你全年交易情況的年終報表寄給你。如果具體看在食物,衣服,娛樂等方面花了多少錢呢?那么你就在進行“分析”。你正在從原始數據中獲得一些見解,這可以幫助你決定來年的支出。
如果你對朋友、網絡或者自己的公司發的推文以及 facebook 帖子進行同樣的操作,那我們現在就涉及的就是大數據分析了。它是通過使用大量數據進行推論并得出結論。共有三種不同類型的分析。
描述性分析(Descriptive Analytics)
如果你告訴我,去年你的信用卡消費中 25% 用于食物,35% 用于服裝,20% 用于娛樂活動,其他的用于雜物,這就是描述性的分析。當然,你也可以進行更詳細的了解。
預測分析(Predictive Analytics)
如果你分析了過去5年的信用卡記錄,發現當中有一定的一致性,那么你可以較有把握地預測,明年的情況將與過去幾年類似。值得注意的是,這并不是“預測未來”,而是“預測事情發生的可能性”。在大數據預測分析中,數據科學家會使用數據挖掘,機器學習和高級統計過程等先進技術,進行天氣,經濟等方面的預測。
規范分析(Prescriptive Analytics)
還是用信用卡的例子,你可能會想知道哪些消費目標(例如食品、娛樂、服裝等)會對你的整體消費產生巨大的影響。規范分析通過包括“行為”(即減少購買食物、衣服或娛樂)和對結果進行分析,從而預測規范相應目標,從而減少你的總開銷。將此擴展到大數據,你可以想象管理人員如何通過研究各種行為影響,從而做出數據驅動的決策。
批量處理(Batch processing)
盡管從大型計算機時代開始,批量處理就已經出現了。由于處理大型數據集,批量處理對大數據具有額外的意義。批量數據處理是處理一段時間內收集的大量數據的有效方式。稍后我將介紹的 hadoop 就是專注于批量數據處理。
Cassandra
是由 Apache 軟件基金會管理的一個流行的開源數據庫管理系統。Apache 屬于大數據技術,Cassandra 旨在處理跨分布式服務器的大量數據。
云計算(Cloud computing)
云計算已經變得無所不在,所以在這里僅處于完整性的考慮將其歸納在內。它本質上是在遠程服務器上托管和運行的軟件及數據,并可從互聯網的任何地方進行訪問。
集群計算(Cluster computing)
這是一個使用多個服務器集合資源的“集群”的計算術語。要想更技術性的話,就會涉及到節點,集群管理層,負載平衡和并行處理等概念。
暗數據(Dark Data)
基本上指的是,由企業收集和處理的,但并不用于任何意義性目的的數據,因此它是“暗”的,可能永遠不會被分析。它可以是社交網絡反饋,呼叫中心日志,會議筆記等等。有很多人估計,所有企業數據中的 60-90% 可能是“暗數據”,但誰又真正知道呢?
數據湖(Data lake)
當第一次聽到這個概念,我還以為是在開玩笑。但這真是一個術語。數據湖是原始格式的企業級數據的大型存儲庫。與此同時我們可以涉及數據倉庫,它在概念上是相似的,也是企業級數據的存儲庫,但在清理、與其他來源集成之后是以結構化格式。數據倉庫通常用于常規數據(但不是專有的)。數據湖使得訪問企業級數據更加容易,你需要明確你要尋找什么,以及如何處理它并明智地試用它。
數據挖掘(Data mining)
數據挖掘是通過使用復雜的模式識別技術,從而找到有意義的模式,并得出大量數據的見解。這與我們之前討論的“數據分析”術語密切相關,因為你將通過挖掘數據進行分析。為了獲得有意義的模式,數據挖掘者使用統計,機器學習算法和人工智能。
數據科學家(Data Scientist)
一個熱門的職業。指的是通過提取原始數據,對其進行處理,并提出自己的見解的人。數據科學家需要具備超人般的技能:分析,統計,計算機科學,創造力,故事講述和理解環境的能力。難怪他們薪水這么高。
分布式文件系統(Distributed File System)
由于大數據太大而無法存儲在單個系統上,分布式文件系統是一種數據存儲系統用于存儲跨多個存儲設備的大量數據,并有助于降低存儲大量數據的成本和復雜性。
ETL
ETL 指的是提取,轉換和加載。具體指的是“提取”原始數據的過程,通過清理、豐富數據將其“轉換”成適合使用的,并“加載”到適當的存儲庫中以供系統使用。雖然它源于數據倉庫,但 ETL 過程也被用來從大數據系統的外部資源中獲取和吸收數據。
Hadoop
當想到大數據時,人們立即會想到 Hadoop 。Hadoop(具有可愛的大象標志)是一個開源軟件框架,由所謂的 Hadoop 分布式文件系統(HDFS)組成,并允許使用分布式硬件對非常大的數據集進行存儲,檢索和分析。如果你真的想給別人留下深刻的印象,還可以談談 YARN,顧名思義,這是一種資源調度程序。取名字的人真太有才了。Apache 基金會還推出了 Hadoop,Pig,Hive 以及 Spark(是的,這些都是各種軟件的名稱)。真是服了這些名字。
內存計算(In-memory computing)
一般來說,任何可以在不訪問 I / O 的情況下完成的計算都是很快的。內存計算是一種將工作數據集完全放在集群的集體內存中,避免將中間計算寫入磁盤的技術。Apache Spark 是一個內存計算系統,它在速度超過 I / O 綁定系統(如 Hadoop 的MapReduce)方面擁有巨大的優勢。
物聯網(IoT)
最新的流行語是物聯網(IOT)。IOT 通過互聯網將嵌入式對象(傳感器,可穿戴設備,汽車,冰箱等)中的計算設備進行互連,并且能夠發送以及接收數據。IOT 生成大量數據,提供了大量大數據分析的機會。
機器學習(Machine learning)
機器學習是指通過提供的數據,使系統能夠學習,調整和改進。通過預測和統計算法,他們不斷學習“正確”的行為和洞察力,隨著更多的數據流通過該系統,得以不斷地改進。
MapReduce
MapReduce 可能會有點難懂。MapReduce 是一個編程模型,為了更好的理解,需注意 Map 和 Reduce 其實是兩個獨立的部分。在這種情況下,編程模型首先將大數據數據集分解成多個部分(在技術術語中稱為“元組”),因此可以分布在不同位置的不同計算機上(即前面所述的集群計算),這基本上就是 Map 部分。然后,該模型收集結果并將其“減少”為一個報告。MapReduce 的數據處理模式與Hadoop 的分布式文件系統緊密相關。
NoSQL
聽起來像是 SQL (結構化查詢語言)的反面,SQL 是傳統關系數據庫管理系統(RDBMS)的主要內容。但 NOSQL 實際上意味著不僅僅是 SQL (Not ONLY SQL)。NoSQL 實際上是指的是用于處理大量數據的數據庫管理系統,它們不具有結構,或被稱為“架構”(類似關系數據庫)。NoSQL 數據庫通常適合大型數據系統,因為它們具有大型非結構化數據庫所需的靈活性和分布式的優先體系結構。
R
R 是一種編程語言,在統計計算方面很出色。如果你不知道 R,你就稱不上是數據科學家。R 是數據科學中最受歡迎的語言之一。
Spark(Apache Spark)
Apache Spark 是一種快速的內存數據處理引擎,用于高效執行流,機器學習或需要快速迭代訪問數據集的 SQL 工作負載。Spark 通常比我們前面提及的 MapReduce 快很多。
流處理(Stream processing)
流處理旨在對有“連續”要求的實時和流數據進行處理。結合流分析,即在流內不間斷地計算數學或統計分析的能力。流處理解決方案旨在對高流量進行實時處理。
結構化 v 非結構化數據(Structured v Unstructured Data)
這是大數據中的“V”之一,即多樣性。結構化數據基本上指任何可以放在關系數據庫中,并以該方式組織起來,通過表與其他數據相關。非結構化數據則反之,如無法發電子郵件,發社交媒體帖子和錄制的人類語音等。