大數(shù)據(jù)導(dǎo)論
理順大數(shù)據(jù)的演進(jìn)路線
數(shù)據(jù)湖是個啥?
一般情況下,大數(shù)據(jù)處理的流程為:數(shù)據(jù)采集和預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)分析和數(shù)據(jù)可視化。
數(shù)據(jù)采集與預(yù)處理便是大數(shù)據(jù)流程的第一步。
首先來看, 數(shù)據(jù)是如何產(chǎn)生的 ?
(1)為滿足企業(yè)業(yè)務(wù)目標(biāo)的達(dá)成,企業(yè)通常會建設(shè)IT系統(tǒng),IT系統(tǒng)承載企業(yè)業(yè)務(wù)處理的同時,必然會產(chǎn)生交易記錄、付款記錄等等,這些都會保存在數(shù)據(jù)庫中;
(2)為了更好地預(yù)測消費者的需求,購物網(wǎng)站通常也會記錄消費者的網(wǎng)頁瀏覽時長、點贊、收藏、購買喜好等,這些都會記錄在日志文件中;
(3)為了滿足消費者獲取信息的便捷性,各大門戶網(wǎng)站、短視頻網(wǎng)站等都提供了大量的Web網(wǎng)頁供用戶瀏覽,Web網(wǎng)頁中呈現(xiàn)大量的文本、音視頻等;
那么,這些數(shù)據(jù)產(chǎn)生后,都 以什么形式存在 ?
(1)以文件的形式存在,如csv文件、圖像文件、視頻文件、日志文件;
(2)以數(shù)據(jù)庫的形式存在,如關(guān)系型數(shù)據(jù)庫MySql\\oracle、非關(guān)系型數(shù)據(jù)庫MongoDB;
(3)以Web網(wǎng)頁的形式存在,如新浪、搜狐、知乎等;
(4)以實時數(shù)據(jù)的形式存在,如物聯(lián)網(wǎng)絡(luò)中各種傳感器監(jiān)測到的數(shù)據(jù);
這樣,具象化的數(shù)據(jù)采集就變成從數(shù)據(jù)庫、Web網(wǎng)頁、文件、物聯(lián)傳感器等地方獲取。因數(shù)據(jù)存在形式的差異,采用的獲取方法也不盡相同:
(1)文件、Web網(wǎng)頁的抓取,通常采用直接編程的方式獲取,如網(wǎng)頁爬蟲;
(2)實時消息的獲取,則采用相應(yīng)的協(xié)議,如MQTT、Coap、HTTPS;
(3)對數(shù)據(jù)庫數(shù)據(jù)的獲取,則更多采用SQL的形式提取出來;
獲取的數(shù)據(jù),還存在什么問題 ?
獲取的原生數(shù)據(jù),可能會存在數(shù)據(jù)缺失、數(shù)據(jù)重復(fù)、數(shù)據(jù)類型和值都不對等問題,需要對數(shù)據(jù)進(jìn)行加工處理,這一過程被稱為“數(shù)據(jù)清洗”;
如果數(shù)據(jù)源是多個,并且要裝入到同一數(shù)據(jù)倉庫時,則需要進(jìn)行“數(shù)據(jù)集成”;
數(shù)據(jù)集成后,往往需要更高粒度的抽象,擦除一些細(xì)節(jié)數(shù)據(jù),如原有按交易時間記錄的數(shù)據(jù),現(xiàn)在需要按天進(jìn)行統(tǒng)計,此時需要進(jìn)行聚類處理,稱之為“數(shù)據(jù)轉(zhuǎn)換”;
同時,注意到大數(shù)據(jù)可能涉及到隱私問題,也需要去除隱私數(shù)據(jù),這一過程稱為“數(shù)據(jù)脫敏”;
而數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)脫敏這一系列的過程,稱為 數(shù)據(jù)預(yù)處理 。
經(jīng)過預(yù)處理后的數(shù)據(jù)放在哪?
可以將其放入數(shù)據(jù)倉庫中,如Hive\\HDFS;
也可以將其放入數(shù)據(jù)湖中,不但可以存儲原始數(shù)據(jù),也可以存儲結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu) 化的數(shù)據(jù),并且還能支撐數(shù)據(jù)的分析。具體可參考《數(shù)據(jù)湖是個啥?》
數(shù)據(jù)的采集與處理是繁瑣的,也是有跡可循的,聰明的研究人員實現(xiàn)了一系列 工具或框架 :
(1)網(wǎng)頁爬蟲系統(tǒng):Apache Nutch、Crawler4j、Scrapy;
(2)日志收集工具:Flume、Logstash、Filebeat、Fluentd;
(3)多源異構(gòu)數(shù)據(jù)采集工具:Sqoop、Datax。
同時,也形成大數(shù)據(jù)采集的方法論,如ETL。
ETL也就是Extract-Transform-Load,對應(yīng)為提取-轉(zhuǎn)換-加載,充當(dāng)了數(shù)據(jù)源與數(shù)據(jù)倉庫之間的數(shù)據(jù)流轉(zhuǎn)管道。其基本思想是:從日志、數(shù)據(jù)庫、Web頁面中提取數(shù)據(jù),并數(shù)據(jù)進(jìn)行轉(zhuǎn)換,按照預(yù)先規(guī)劃的Schema,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。
Kettle(水壺)、Sqoop(SQL-to-Hadoop)、DataX是ETL工具的代表。
-
數(shù)據(jù)采集
+關(guān)注
關(guān)注
39文章
6251瀏覽量
114039 -
數(shù)據(jù)存儲
+關(guān)注
關(guān)注
5文章
983瀏覽量
51056 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8908瀏覽量
137787
發(fā)布評論請先 登錄
相關(guān)推薦
評論