


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