【導(dǎo)讀】如果你剛接觸大數(shù)據(jù),你可能會覺得這個領(lǐng)域很難以理解,無從下手。近日,Ramesh Dontha在DataConomy上連發(fā)兩篇文章,扼要而全面地介紹了關(guān)于大數(shù)據(jù)的75個核心術(shù)語,這不僅是大數(shù)據(jù)初學(xué)者很好的入門資料,對于高階從業(yè)人員也可以起到查漏補缺的作用。
本文先介紹 了25 個基本大數(shù)據(jù)術(shù)語,幫助你溫故知新,那么開始吧~
01 算法(Algorithm)
算法可以理解成一種數(shù)學(xué)公式或用于進行數(shù)據(jù)分析的統(tǒng)計學(xué)過程。那么,「算法」又是何以與大數(shù)據(jù)扯上關(guān)系的呢?要知道,盡管算法這個詞是一個統(tǒng)稱,但是在這個流行大數(shù)據(jù)分析的時代,算法也經(jīng)常被提及且變得越發(fā)流行。
02 分析(Analytics analyze)
讓我們試想一個很可能發(fā)生的情況,你的信用卡公司給你發(fā)了封記錄著你全年卡內(nèi)資金轉(zhuǎn)賬情況的郵件,如果這個時候你拿著這張單子,開始認(rèn)真研究你在食品、衣物、娛樂等方面消費情況的百分比會怎樣?你正在進行分析工作,你在從你原始的數(shù)據(jù)(這些數(shù)據(jù)可以幫助你為來年自己的消費情況作出決定)中挖掘有用的信息。
那么,如果你以類似的方法在推特和臉書上對整個城市人們發(fā)的帖子進行處理會如何呢?在這種情況下,我們就可以稱之為大數(shù)據(jù)分析。所謂大數(shù)據(jù)分析,就是對大量數(shù)據(jù)進行推理并從中道出有用的信息。以下有三種不同類型的分析方法,現(xiàn)在我們來對它們分別進行梳理。
03 描述性分析法(Deive Analytics)
如果你只說出自己去年信用卡消費情況為:食品方面 25%、衣物方面 35%、娛樂方面 20%、剩下 20% 為雜項開支,那么這種分析方法被稱為描述性分析法。當(dāng)然,你也可以找出更多細(xì)節(jié)。
04 預(yù)測性分析法(Predictive Analytics)
如果你對過去 5 年信用卡消費的歷史進行了分析,發(fā)現(xiàn)每年的消費情況基本上呈現(xiàn)一個連續(xù)變化的趨勢,那么在這種情況下你就可以高概率預(yù)測出:來年的消費狀態(tài)應(yīng)該和以往是類似的。這不是說我們在預(yù)測未來,而是應(yīng)該理解為,我們在「用概率預(yù)測」可能發(fā)生什么事情。在大數(shù)據(jù)的預(yù)測分析中,數(shù)據(jù)科學(xué)家可能會使用先進的技術(shù),如機器學(xué)習(xí),和先進的統(tǒng)計學(xué)處理方法(這部分后面我們會談到)來預(yù)測天氣情況、經(jīng)濟變化等等。
05 規(guī)范性分析(Preive Analytics)
這里我們還是用信用卡轉(zhuǎn)賬的例子來理解。假如你想找出自己的哪類消費(如食品、娛樂、衣物等等)可以對整體消費產(chǎn)生巨大影響,那么基于預(yù)測性分析(Predictive Analytics)的規(guī)范性分析法通過引入「動態(tài)指標(biāo)(action)」(如減少食品或衣物或娛樂)以及對由此產(chǎn)生的結(jié)果進行分析來規(guī)定一個可以降低你整體開銷的最佳消費項。你可以將它延伸到大數(shù)據(jù)領(lǐng)域,并想象一個負(fù)責(zé)人是如何通過觀察他面前多種動態(tài)指標(biāo)的影響,進而作出所謂由「數(shù)據(jù)驅(qū)動」的決策的。
06 批處理(Batch processing)
盡管批量數(shù)據(jù)處理從大型機(mainframe)時代就已經(jīng)存在了,但是在處理大量數(shù)據(jù)的大數(shù)據(jù)時代面前,批處理獲得了更重要的意義。批量數(shù)據(jù)處理是一種處理大量數(shù)據(jù)(如在一段時間內(nèi)收集到的一堆交易數(shù)據(jù))的有效方法。分布式計算(Hadoop),后面會討論,就是一種專門處理批量數(shù)據(jù)的方法。
07 Cassandra
是一個很流行的開源數(shù)據(jù)管理系統(tǒng),由Apache Software Foundation 開發(fā)并運營。Apache掌握了很多大數(shù)據(jù)處理技術(shù),Cassandra就是他們專門設(shè)計用于在分布式服務(wù)器之間處理大量數(shù)據(jù)的系統(tǒng)。
08 云計算(Cloud computing)
雖然云計算這個詞現(xiàn)在已經(jīng)家喻戶曉,這里大可不必贅述,但是為了全篇內(nèi)容完整性的考慮,筆者還是在這里加入了云計算詞條。本質(zhì)上講,軟件或數(shù)據(jù)在遠(yuǎn)程服務(wù)器上進行處理,并且這些資源可以在網(wǎng)絡(luò)上任何地方被訪問,那么它就可被稱為云計算。
09 集群計算(Cluster computing)
這是一個來描述使用多個服務(wù)器豐富資源的一個集群(cluster)的計算的形象化術(shù)語。更技術(shù)層面的理解是,在集群處理的語境下,我們可能會討論節(jié)點(node)、集群管理層(cluster management layer)、負(fù)載平衡(load balancing)和并行處理(parallel processing)等等。
10 暗數(shù)據(jù)(Dark data)
這是一個生造詞,在筆者看來,它是用來嚇唬人,讓高級管理聽上去晦澀難懂的。基本而言,所謂暗數(shù)據(jù)指的是,那些公司積累和處理的實際上完全用不到的所有數(shù)據(jù),從這個意義上來說我們稱它們?yōu)椤赴怠沟臄?shù)據(jù),它們有可能根本不會被分析。這些數(shù)據(jù)可以是社交網(wǎng)絡(luò)中的信息,電話中心的記錄,會議記錄等等。很多估計認(rèn)為所有公司的數(shù)據(jù)中有60%到90%不等可能是暗數(shù)據(jù),但實際上沒人知道。
11 數(shù)據(jù)湖(Data lake)
當(dāng)筆者第一次聽到這個詞時,真的以為這是個愚人節(jié)笑話。但是它真的是一個術(shù)語。所以一個數(shù)據(jù)湖(data lake)即一個以大量原始格式保存了公司級別的數(shù)據(jù)知識庫。這里我們介紹一下數(shù)據(jù)倉庫(Data warehouse)。
數(shù)據(jù)倉庫是一個與這里提到的數(shù)據(jù)湖類似的概念,但不同的是,它保存的是經(jīng)過清理和并且其它資源整合后的結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)倉庫經(jīng)常被用于通用數(shù)據(jù)(但不一定如此)。一般認(rèn)為,一個數(shù)據(jù)湖可以讓人更方便地接觸到那些你真正需要的數(shù)據(jù),此外,你也可以更方便地處理、有效地使用它們。
12 數(shù)據(jù)挖掘(Data mining)
數(shù)據(jù)挖掘關(guān)乎如下過程,從一大群數(shù)據(jù)中以復(fù)雜的模式識別技巧找出有意義的模式,并且得到相關(guān)洞見。它與前文所述的「分析」息息相關(guān),在數(shù)據(jù)挖掘中,你將會先對數(shù)據(jù)進行挖掘,然后對這些得到的結(jié)果進行分析。為了得到有意義的模式(pattern),數(shù)據(jù)挖掘人員會使用到統(tǒng)計學(xué)(一種經(jīng)典的舊方法)、機器學(xué)習(xí)算法和人工智能。
13 數(shù)據(jù)科學(xué)家
數(shù)據(jù)科學(xué)家是時下非常性感的一門行業(yè)。它指那些可以通過提取原始數(shù)據(jù)(這就是我們前面所謂的數(shù)據(jù)湖)進而理解、處理并得出洞見的這樣一批人。部分?jǐn)?shù)據(jù)科學(xué)家必備的技能可以說只有超人才有:分析能力、統(tǒng)計學(xué)、計算機科學(xué)、創(chuàng)造力、講故事能力以及理解商業(yè)背景的能力。難怪這幫人工資很高。
14 分布式文件系統(tǒng)(Distributed File System)
大數(shù)據(jù)數(shù)量太大,不能存儲在一個單獨的系統(tǒng)中,分布式文件系統(tǒng)是一個能夠把大量數(shù)據(jù)存儲在多個存儲設(shè)備上的文件系統(tǒng),它能夠減少存儲大量數(shù)據(jù)的成本和復(fù)雜度。
15 ETL
ETL代表提取、轉(zhuǎn)換和加載。它指的是這一個過程:「提取」原始數(shù)據(jù),通過清洗/豐富的手段,把數(shù)據(jù)「轉(zhuǎn)換」為「適合使用」的形式,并且將其「加載」到合適的庫中供系統(tǒng)使用。即使ETL源自數(shù)據(jù)倉庫,但是這個過程在獲取數(shù)據(jù)的時候也在被使用,例如,在大數(shù)據(jù)系統(tǒng)中從外部源獲得數(shù)據(jù)。
16 Hadoop
當(dāng)人們思考大數(shù)據(jù)的時候,他們會立即想到Hadoop。Hadoop是一個開源軟件架構(gòu)(logo是一頭可愛的大象),它由 Hadoop分布式文件系統(tǒng)(HDFS)構(gòu)成,它允許使用分布式硬件對大數(shù)據(jù)進行存儲、抽象和分析。如果你真的想讓某人對這個東西印象深刻,你可以跟他說 YARN(Yet Another Resource Scheduler),顧名思義,就是另一個資源調(diào)度器。我確實被提出這些名字的人深深震撼了。提出 Hadoop 的 Apache 基金會,還負(fù)責(zé) Pig、Hive 以及 Spark(這都是一些軟件的名字)。你沒有被這些名字驚艷到嗎?
17 內(nèi)存計算(In-memory computing)
通常認(rèn)為,任何不涉及到 I/O訪問的計算都會更快一些。內(nèi)存計算就是這樣的技術(shù),它把所有的工作數(shù)據(jù)集都移動到集群的集體內(nèi)存中,避免了在計算過程中向磁盤寫入中間結(jié)果。Apache Spark 就是一個內(nèi)存計算的系統(tǒng),它相對 Mapreduce 這類 I/O 綁定的系統(tǒng)具有很大的優(yōu)勢。
18 物聯(lián)網(wǎng)(IoT)
最新的流行語就是物聯(lián)網(wǎng)(IoT)。IoT 是嵌入式對象中(如傳感器、可穿戴設(shè)備、車、冰箱等等)的計算設(shè)備通過英特網(wǎng)的互聯(lián),它們能夠收發(fā)數(shù)據(jù)。物聯(lián)網(wǎng)生成了海量的數(shù)據(jù),帶來了很多大數(shù)據(jù)分析的機遇。
19 機器學(xué)習(xí)(Machine Learning)
機器學(xué)習(xí)是基于喂入的數(shù)據(jù)去設(shè)計能夠?qū)W習(xí)、調(diào)整和提升的系統(tǒng)的一種方法。使用設(shè)定的預(yù)測和統(tǒng)計算法,它們持續(xù)地逼近「正確的」行為和想法,隨著更多的數(shù)據(jù)被輸入到系統(tǒng),它們能夠進一步提升。
20 MapReduce
MapReduce可能有點難以理解,我試著解釋一下吧。MapReduce是一個編程模型,最好的理解就是要注意到Map和Reduce是兩個不同的過程。在 MapReduce中,程序模型首先將大數(shù)據(jù)集分割成一些小塊(這些小塊拿技術(shù)術(shù)語來講叫做「元組」,但是我描述的時候會盡量避免晦澀的技術(shù)術(shù)語),然后這些小塊會被分發(fā)給不同位置上的不同計算機(也就是說之前描述過的集群),這在Map過程是必須的。然后模型會收集每個計算結(jié)果,并且將它們「reduce」成一個部分。MapReduce的數(shù)據(jù)處理模型和Hadoop分布式文件系統(tǒng)是分不開的。
21 非關(guān)系型數(shù)據(jù)庫(NoSQL)
這個詞聽起來幾乎就是「SQL,結(jié)構(gòu)化查詢語言」的反義詞,SQL 是傳統(tǒng)的關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS)必需的,但是 NOSQL 實際上指的是「不止SQL」。
NoSQL實際上指的是那些被設(shè)計來處理沒有結(jié)構(gòu)(或者沒有「schema」,綱要)的大量數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)。
NoSQL 適合大數(shù)據(jù)系統(tǒng),因為大規(guī)模的非結(jié)構(gòu)化數(shù)據(jù)庫需要 NoSQL的這種靈活性和分布式優(yōu)先的特點。
22 R語言
這還有人能給一個編程語言起一個更加糟糕的名字嗎?R 語言就是這樣的語言。不過,R 語言是一個在統(tǒng)計工作中工作得很好的語言。如果你不知道 R 語言,別說你是數(shù)據(jù)科學(xué)家。因為 R 語言是數(shù)據(jù)科學(xué)中最流行的編程語言之一。
23 Spark(Apache Spark)
Apache Spark 是一個快速的內(nèi)存數(shù)據(jù)處理引擎,它能夠有效地執(zhí)行那些需要迭代訪問數(shù)據(jù)庫的流處理、機器學(xué)習(xí)以及SQL負(fù)載。Spark通常會比我們前面討論過的MapReduce 快好多。
24 流處理(Stream processing)
流處理被設(shè)計來用于持續(xù)地進行流數(shù)據(jù)的處理。與流分析技術(shù)(指的是能夠持續(xù)地計算數(shù)值和統(tǒng)計分析的能力)結(jié)合起來,流處理方法特別能夠針對大規(guī)模數(shù)據(jù)的實時處理。
25 結(jié)構(gòu)化vs非結(jié)構(gòu)化數(shù)據(jù)(Structured v Unstructured Data)
這是大數(shù)據(jù)中的對比之一。結(jié)構(gòu)化數(shù)據(jù)基本上是那些能夠被放在關(guān)系型數(shù)據(jù)庫中的任何數(shù)據(jù),以這種方式組織的數(shù)據(jù)可以與其他數(shù)據(jù)通過表格來關(guān)聯(lián)。非結(jié)構(gòu)化數(shù)據(jù)是指任何不能夠被放在關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),例如郵件信息、社交媒體上的狀態(tài),以及人類語音等等。
推薦閱讀: