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

大數據技術及應用介紹1
大數據采集系統分為幾類
CNC數據采集網關具備哪些功能特點

評論