摘要:互聯(lián)網(wǎng)的快速發(fā)展帶來了海量數(shù)據(jù)的產(chǎn)生,現(xiàn)如今在生活中,我們無時無刻地創(chuàng)造著網(wǎng)絡數(shù)據(jù)。大數(shù)據(jù)時代的到來,已經(jīng)影響了社會生活方方面面,要想把握住信息時代的潮流,我們就應該懂得大數(shù)據(jù)并且學會利用大數(shù)據(jù)技術(shù)來服務于日常的工作。本文首先說明大數(shù)據(jù)的價值,其次介紹一些大數(shù)據(jù)的關(guān)鍵技術(shù),最后結(jié)合實際應用案例展現(xiàn)出大數(shù)據(jù)給我們帶來的好處。
關(guān)鍵詞:大數(shù)據(jù);Hadoop;大數(shù)據(jù)分析
自2012年開始,“大數(shù)據(jù)”一詞逐漸被人們熟知,這種技術(shù)不僅僅是用在互聯(lián)網(wǎng)領(lǐng)域上,也與人們的實際生活中加速融合。大數(shù)據(jù)技術(shù)的發(fā)展與人類社會的進步相輔相成。一方面,人們從傳統(tǒng)手工生產(chǎn)方式轉(zhuǎn)向信息自動化生產(chǎn)方式,使得數(shù)據(jù)來源越來越廣泛,促進了海量數(shù)據(jù)局面的形成;另一方面,人們能夠利用大數(shù)據(jù)技術(shù)在錯綜復雜的信息面前規(guī)劃、分析并得出真正有價值的結(jié)果。大數(shù)據(jù)時代的到來,讓我們每一個人都身處其中,其帶來的價值已經(jīng)不單單是技術(shù)層面上的突破與進步,更多的是在與其他領(lǐng)域融合中帶來的巨大經(jīng)濟效益和社會效益。那么對于當代社會需要的復合型人才,掌握必要的大數(shù)據(jù)知識、學會大數(shù)據(jù)分析本領(lǐng)對今后的日常工作也顯得極為重要。本文在此背景下,結(jié)合具體應用案例呈現(xiàn)出大數(shù)據(jù)技術(shù)給我們?nèi)粘9ぷ鲙淼谋憬菪浴?/p>
一、大數(shù)據(jù)關(guān)鍵技術(shù)
想要處理好數(shù)以萬計的數(shù)據(jù)信息,就必須要掌握大數(shù)據(jù)處理技術(shù),而Hadoop就是一種眾人熟知的對海量數(shù)據(jù)進行處理的分布式系統(tǒng)架構(gòu)。Hadoop框架最核心的技術(shù)就是:HDFS和MapReduce。
HDFS就是Hadoop分布式文件系統(tǒng)的英文縮寫,在實際應用中通常采用主-從的架構(gòu)形式。在HDFS集群里,一般采用拓撲結(jié)構(gòu),即單個中心節(jié)點NameNode和多個存儲節(jié)點DataNode,在中心節(jié)點的統(tǒng)一部署管理下,滿足對海量數(shù)據(jù)的存儲、增刪等要求。
MapReduce,簡單來說就是一種分布式離線的計算框架,其采用
其實Hadoop發(fā)展時至今日,已經(jīng)不單純是上面兩個技術(shù),而是逐漸成為一個Hadoop生態(tài)。在Hadoop生態(tài)圈里,我們能夠利用這些技術(shù)輕松的處理TB級別以上的數(shù)據(jù)量。下面介紹幾個經(jīng)常用到的技術(shù):
Hive是一種數(shù)據(jù)倉庫工具。簡單的來說,它能夠利用HQL語句實現(xiàn)數(shù)據(jù)管理工作,因此對于熟悉數(shù)據(jù)庫使用者來說非常友好,這樣一來會使得學習成本大大降低。
Yarn是Hadoop的資源管理器。我們可以通過它對資源的使用情況有一個清晰的掌握,監(jiān)測Mapper下的每一個小任務資源消耗情況,從而起到平衡資源、提高集群利用率。
Flume是一種實時日志收集系統(tǒng)。在其廣泛的應用發(fā)展下,不僅能夠數(shù)據(jù)收集,還能對信息進行簡單的處理并寫進接收方。
二、大數(shù)據(jù)應用——以分析日活躍用戶為例
如今人們可以通過使用各種終端設備輕松上網(wǎng),用戶的上網(wǎng)行為都可以被一一記錄下來。數(shù)據(jù)分析師通過后臺日志獲取用戶日常上網(wǎng)的數(shù)據(jù),分析用戶上網(wǎng)行為之后,能夠得出用戶上網(wǎng)習慣以及可以定向給用戶推送他們喜歡的內(nèi)容。下面作者對用戶登陸某一軟件時活躍的情況進行分析,闡述大數(shù)據(jù)技術(shù)是如何應用在實際生活工作中的。
用戶通過終端設備登陸軟件并進行各種操作時,可以將這些信息和行為都存儲在后臺日志中,數(shù)據(jù)分析員可以每天定時清洗這些數(shù)據(jù),拿到清洗的數(shù)據(jù)后存入到HDFS上并建立清洗后的數(shù)據(jù)表進行分析。技術(shù)路線如圖1所示。
2.1數(shù)據(jù)清洗
數(shù)據(jù)清洗的目的就是要把一些缺省值、異常值或者此次分析不需要用到的數(shù)據(jù)排除在外。本案例使用JAVA語言,在eclipse工具上編寫數(shù)據(jù)清洗代碼。利用Flume技術(shù)把日志文件中的數(shù)據(jù)導入到HDFS中,然后將預處理程序代碼打成jar包,再把jar包上傳到對應的HDFS節(jié)點上,之后編寫預處理腳本如下:
以上工作準備就緒后,啟動清洗腳本,開始清洗數(shù)據(jù)。
2.2日活躍用戶統(tǒng)計分析
根據(jù)關(guān)鍵字段建立數(shù)據(jù)總表general_log,并一一對應導入數(shù)據(jù),至此用戶的基本Hive表已經(jīng)建立。如何分析日活躍用戶,那么就再建立一張活躍用戶數(shù)據(jù)表user_active_day。從general_log數(shù)據(jù)總表的當天分區(qū)中,抽取當日的日活用戶信息插入日活用戶信息表user_active_day(插入的是每個活躍用戶當天所有記錄中時間最早的那條),主要SQL語句如下:
為了使信息更加清晰明了,我們可以采取多維度分析,創(chuàng)建多維度分析表dim_user_active_day,利用多重insert語法來統(tǒng)計各種維度組合的日活用戶數(shù),并插入到dim_user_active_day表的各分區(qū)中,得到日活躍用戶統(tǒng)計結(jié)果如表1所示。
從表1中,我們可以一目了然的得出使用此軟件的總用戶數(shù)量是多少,具體某一城市的用戶有多少以及具體某一城市哪一個國家用戶有多少的數(shù)量,這對今后進一步劃分用戶、分析用戶黏性程度等都提供了便捷性的幫助。此案例中作者使用的數(shù)據(jù)量僅僅是GB級別,如果是TB、PB級別以上,可想而知工作量的復雜和龐大,因此通過大數(shù)據(jù)技術(shù)的分析,可以讓我們在海量數(shù)據(jù)中快速、準確地獲得信息,大大降低了我們?nèi)粘9ぷ鞯某杀尽?/p>
三、總結(jié)
綜上所述,利用Hadoop平臺能夠?qū)A繑?shù)據(jù)進行快速簡單的處理,方便工作上各種統(tǒng)計分析工作。Hadoop平臺本身具有的低成本、高效率、易擴展等優(yōu)點,已經(jīng)成為大數(shù)據(jù)領(lǐng)域發(fā)展方向。未來伴隨著人工智能、5G通信技術(shù)等新型產(chǎn)業(yè)的蓬勃發(fā)展,大數(shù)據(jù)引領(lǐng)下的各行各業(yè)將全面實現(xiàn)數(shù)字經(jīng)濟化?,F(xiàn)在我們可以通過學習大數(shù)據(jù)技術(shù),掌握大數(shù)據(jù)分析本領(lǐng),今后將會在各自領(lǐng)域內(nèi)推動大數(shù)據(jù)產(chǎn)業(yè)進一步發(fā)展。
參考文獻:
[1]李曉瑋.淺談大數(shù)據(jù)Hadoop技術(shù)[J].電腦知識與技術(shù),2017,13(32):10-11.
[2]李文航,余恒奇.基于Hadoop平臺的數(shù)據(jù)分析和應用[J].微型電腦應用,2019,35(11):134-136+146.
作者簡介:
包訓宇(1997-),漢,男,江蘇徐州人,碩士,研究方向:云計算、大數(shù)據(jù)分析。