《大數據導論》課件-第7章 日志分析實戰_第1頁
《大數據導論》課件-第7章 日志分析實戰_第2頁
《大數據導論》課件-第7章 日志分析實戰_第3頁
《大數據導論》課件-第7章 日志分析實戰_第4頁
《大數據導論》課件-第7章 日志分析實戰_第5頁
已閱讀5頁,還剩16頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

大數據導論1.日志生成目錄01概述02日志生成必要性03日志分析日志在計算機系統中是一個非常廣泛的概念,任何程序都有可能輸出日志:操作系統內核、各種應用服務器等等。日志的內容、規模和用途也各不相同,很難一概而論。本文討論的日志處理方法中的日志,僅指Web日志。其實并沒有精確的定義,可能包括但不限于各種前端Web服務器——apache、lighttpd、tomcat等產生的用戶訪問日志,以及各種Web應用程序自己輸出的日志。在Web日志中,每條日志通常代表著用戶的一次訪問行為。從日志中,我們可以得到很多有用的信息,例如訪問者的IP、訪問的時間、訪問的目標網頁、來源的地址以及訪問者所使用的客戶端的UserAgent信息等。如果需要更多的信息,則要用其它手段去獲取:例如想得到用戶屏幕的分辨率,一般需要使用js代碼單獨發送請求;而如果想得到諸如用戶訪問的具體新聞標題等信息,則可能需要Web應用程序在自己的代碼里輸出。日志生成必要性毫無疑問,Web日志中包含了大量人們——主要是產品分析人員會感興趣的信息,最簡單的,我們可以從中獲取網站每類頁面的PV值(PageView,頁面訪問量)、獨立IP數(即去重之后的IP數量)等;稍微復雜一些的,可以計算得出用戶所檢索的關鍵詞排行榜、用戶停留時間最高的頁面等;更復雜的,構建廣告點擊模型、分析用戶行為特征等等。既然這些數據是如此的有用,那么當然已經有無數現成的工具可以幫助我們來分析它們,例如awstats、Webalizer,都是專門用于統計分析Web服務器日志的免費程序。另外還有一類產品,它們不分析直接日志,而是通過讓用戶在頁面中嵌入js代碼的方式來直接進行數據統計,或者說我們可以認為它是直接讓日志輸出到了它們的服務器。典型的代表產品——大名鼎鼎的GoogleAnalytics,另外還有國內的cnzz、百度統計等。很多人可能會說,既然如此,我們為什么還需要自己來分析日志,有必要嗎?當然有。我們的用戶(產品分析人員)需求是無窮盡的,上面說的這幾類工具雖然很好很強大,但顯然沒辦法滿足全部的需求。日志要求怎么進行日志分析:這并不是一個簡單的問題。即使我們把“日志”限定為Web日志,依然包含了成千上萬種可能的格式和數據,而是“分析”更是難以定義,也許是簡單的統計值的計算,也許是復雜的數據挖掘算法。下面并不打算討論這些復雜的問題,而只是籠統的討論如何構建進行日志分析工作的基礎。有了這些基礎會讓基于日志的簡單統計分析變得很簡單,并讓復雜的分析挖掘等變得可行。少量數據的情況:先考慮最簡單的情況,在數據規模比較小的時候,也許是幾十MB、幾百MB或者幾十GB,總之就是在單機處理尚能忍受的時候。一切都很好辦,現成的各種Unix/Linux工具——awk、grep、sort、join等都是日志分析的利器,如果僅僅是想知道某個頁面的PV,一個wc+grep就能搞定。如果有稍復雜的邏輯,那就使用各種腳本語言,尤其是perl,配合偉大的正則表達式,基本就可以解決所有的問題。日志分析大數據導論2.日志格式介紹目錄01日志簡介03日志舉例02日志要求04json格式日志日志(Log)

日志(Log)是系統在運行過程中變化的一種抽象,其內容為指定對象的某些操作和其操作結果按時間的有序集合。文件日志(LogFile)、事件(Event)、數據庫日志(BinLog)、度量(Metric)數據都是日志的不同載體。在文件日志中,每個日志文件由一條或多條日志組成,每條日志描述了一次單獨的系統事件,是日志服務中處理的最小數據單元。日志簡介日志服務采用半結構數據模式定義一條日志。該模式中包含主題(Topic)、時間(Time)、內容(Content)、來源(Source)和標簽(Tags)五個數據域。日志要求日志服務對日志各字段的格式有不同要求,具體如下表所示:數據域含義格式主題(Topic)用戶自定義字段,用以標記一批日志。例如訪問日志可根據不同站點進行標記。包括空字符串在內的任意字符串,長度不超過128字節。默認情況下,該字段為空字符串。時間(Time)日志中的保留字段,用以表示日志產生的時間,一般由日志中的時間信息直接提取生成。整型,Unix標準時間格式。單位為秒,表示從1970-1-100:00:00UTC計算起的秒數。內容(Content)用以記錄日志的具體內容。內容部分由一個或多個內容項組成,每一個內容項為一個Key-Value對。Key為UTF-8編碼字符串,包含字母、下劃線和數字,且不以數字開頭。長度不超過128字節。不可以使用如下關鍵字:__time____source____topic____partition_time___extract_others___extract_others__Value為任意字符串,長度不超過1024*1024字節。來源(Source)日志的來源地,例如產生該日志機器的IP地址。任意字符串,長度不超過128字節。默認情況下該字段為空。標簽(Tags)日志的標簽,包括:用戶自定義標簽:您通過APIPutLogs寫入數據時添加的標簽。字典格式,Key和Value均為字符串類型。在控制臺查詢日志時,以__tag__:為前綴展示。日志要求實際使用場景中,日志的格式多樣。為了幫助理解,以下以一條nginx原始訪問日志如何映射到日志服務日志數據模型為例說明。假設用戶nginx服務器的IP地址為17,以下為該服務器的一條原始日志:92--[01/Mar/2012:18:12:07+0800]"GET/Send?AccessKeyId=8225105404HTTP/1.1"2005"-""Mozilla/5.0(X11;Linuxi686onx86_64;rv:10.0.2)Gecko/20100101Firefox/10.0.2"日志舉例把該條原始日志映射到日志服務日志數據模型,如下:數據域內容說明Topic“”沿用默認值,即空字符串。Time1331588527日志產生的精確時間,表示從1970-1-100:00:00UTC計算起的秒數。從原始日志中的時間轉換為時間戳。ContentKey-Value對日志具體內容。Source“12.249.221.107”使用服務器IP地址作為日志源。Tags無由用戶添加或者服務端添加。日志舉例用戶可以自己決定如何提取日志原始內容并組合成Key-Value對,例如下表:keyvalueip93methodGETstatus200length5ref_url-browserMozilla/5.0(X11;Linuxi686onx86_64;rv:10.0.2)Gecko/20100101Firefox/10.0.2日志舉例JSON(JavaScriptObjectNotation,JS對象簡譜)是一種輕量級的數據交換格式。它基于ECMAScript(歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。一段json格式的日志:{"name":"李四","sex":"女","年齡":20,"生日":"2016-01-0223:12:13"}json格式日志大數據導論3.回流用戶分析教學設計

教育培訓

信息化

微課目錄01回流用戶定義02回流用戶分析回流用戶定義01回流用戶:相當于回頭客,以前用過某物,過一段時間再次使用某物,這樣的用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論