99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀如何利用數(shù)據(jù)倉庫優(yōu)化數(shù)據(jù)分析
如何利用數(shù)據(jù)倉庫優(yōu)化數(shù)據(jù)分析
2016-11-21
收藏

如何利用數(shù)據(jù)倉庫優(yōu)化數(shù)據(jù)分析

在整個數(shù)據(jù)分析流程中,數(shù)據(jù)處理的時間往往要占據(jù)70%以上!這個數(shù)字有沒有讓你震驚呢?為了提高分析效率和質量,借用數(shù)據(jù)倉庫進行數(shù)據(jù)分析是一個很好的選擇,詳細的工作方法本文都有所介紹。

首先,我們來了解一下數(shù)據(jù)倉庫吧!數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反應歷史變化的數(shù)據(jù)集合。那數(shù)據(jù)分析又是干什么的呢?筆者憑借個人的經驗認為,基于業(yè)務需求,結合歷史數(shù)據(jù),利用相關統(tǒng)計學方法和某些數(shù)據(jù)挖掘工具對數(shù)據(jù)進行整合、分析,并形成一套最終解決某個業(yè)務場景的方案就是數(shù)據(jù)分析的過程。

數(shù)據(jù)分析大致包括以下流程:

業(yè)務理解 – 數(shù)據(jù)理解 – 數(shù)據(jù)準備 – 建模 – 評估 – 部署

由于數(shù)據(jù)分析對數(shù)據(jù)質量、格式的要求天然就比較高,對數(shù)據(jù)的理解也必須非常深刻,使得數(shù)據(jù)契合業(yè)務需求也要一定的過程,這樣,根據(jù)我們的經驗,在整個數(shù)據(jù)分析流程中,用于數(shù)據(jù)處理的時間往往要占據(jù)70%以上。

因此,如何高效、快速地進行數(shù)據(jù)理解和處理,往往決定了數(shù)據(jù)分析項目的進度和質量。而數(shù)據(jù)倉庫具有集成、穩(wěn)定、高質量等特點,基于數(shù)據(jù)倉庫為數(shù)據(jù)分析提供數(shù)據(jù),往往能夠更加保證數(shù)據(jù)質量和數(shù)據(jù)完整性。

利用數(shù)據(jù)倉庫進行數(shù)據(jù)分析無疑能夠給我們的工作帶來很大便利,那么,究竟要如何操作呢?我們首先需要了解數(shù)據(jù)倉庫的優(yōu)勢,數(shù)據(jù)倉庫至少可以從如下三個方面提升數(shù)據(jù)分析效率:

1. 數(shù)據(jù)理解

數(shù)據(jù)倉庫是面向主題的,所以其自身與業(yè)務結合就相對緊密和完善,更方便數(shù)據(jù)分析師基于數(shù)據(jù)理解業(yè)務。下圖是Teradata關于金融行業(yè)的成熟模型:


(出自Teradata FS-LDM官方文檔)

我們可以看到,整個數(shù)據(jù)倉庫被分為十大主題,而金融行業(yè)所有的數(shù)據(jù)、業(yè)務都會被這十大主題涵蓋。當我們需要找某個信用卡賬戶信息時,我們就去協(xié)議(AGREEMENT)主題,需要某次存款交易信息時就去探尋事件(EVENT)主題,需要某個理財產品相關信息就挖掘產品(PRODUCT)主題,如此類推,我們就會發(fā)現(xiàn)十大主題將整個金融行業(yè)的數(shù)據(jù)劃分得非常清晰,我們需要做的就是拿到業(yè)務需求,理解數(shù)據(jù)倉庫的模型,數(shù)據(jù)理解也就水到渠成了。

2. 數(shù)據(jù)質量

數(shù)據(jù)分析要求數(shù)據(jù)是干凈、完整的,而數(shù)據(jù)倉庫最核心的一項工作就是ETL過程,流程如下:

數(shù)據(jù)倉庫已經對源系統(tǒng)的數(shù)據(jù)進行了業(yè)務契合的轉換,以及臟數(shù)據(jù)的清洗,這就為數(shù)據(jù)分析的數(shù)據(jù)質量做了較好的保障。

3. 數(shù)據(jù)跨系統(tǒng)關聯(lián)

上圖是數(shù)據(jù)倉庫的一個簡單架構,可以看到,各業(yè)務源系統(tǒng)的數(shù)據(jù)經過ETL過程后流入數(shù)據(jù)倉庫,當不同系統(tǒng)數(shù)據(jù)整合到數(shù)據(jù)倉庫之后,至少解決了數(shù)據(jù)分析中的兩個問題:

第一,跨系統(tǒng)數(shù)據(jù)收集問題,同一個客戶的儲蓄交易和理財交易我們在同一張事件表就可以找到;

第二,跨系統(tǒng)關聯(lián)問題,同一個客戶可能在不同系統(tǒng)中記錄了不同的客戶號,甚至存在不同的賬號,進行數(shù)據(jù)整合時,總是需要找到共同的“紐帶”來關聯(lián)來自不同系統(tǒng)的信息,而數(shù)據(jù)倉庫ETL過程中就會整合相關客戶信息,完美解決跨系統(tǒng)關聯(lián)問題。

可見,數(shù)據(jù)倉庫是整合的、面向主題的、數(shù)據(jù)質量高的、跨系統(tǒng)的優(yōu)質數(shù)據(jù)源,那么,我們該如何充分利用這些優(yōu)勢呢?筆者總結了如下經驗:

1.  研究數(shù)據(jù)倉庫模型:數(shù)倉的精髓就是面向主題的模型,能理解各大主題域范疇,熟悉不同主題間的關系,基本就掌握了數(shù)倉的架構;

2. 學習數(shù)據(jù)倉庫設計文檔:設計文檔是業(yè)務與數(shù)據(jù),數(shù)倉與源系統(tǒng)的橋梁,熟悉表間mapping映射,就能快速定位需求變量的來源和處理邏輯,全面了解相關業(yè)務;

3. 熟悉數(shù)據(jù)字典表:數(shù)據(jù)字典是數(shù)據(jù)倉庫物理存儲的信息庫,可以通過數(shù)據(jù)字典了解庫、表、字段不同層級的關系、存儲、類型等信息;

4. 研究ETL腳本:學習幾個數(shù)據(jù)倉庫ETL加工腳本,能更細致的探索數(shù)據(jù)加工處理邏輯,更清楚的理解數(shù)倉加工模式,快速掌握數(shù)據(jù)加工技巧;

5. 觀察明細數(shù)據(jù):想要真正了解數(shù)據(jù),就必須對具體數(shù)據(jù)進行不同維度和層次的觀察;比如事件表,從交易類型、時間、渠道、業(yè)務種類等多個維度撈幾條數(shù)據(jù),觀察某個相同條件下不同維度的交易變化,了解銀行交易的全景信息,幫助理解業(yè)務,熟悉數(shù)據(jù)。

事實上,除此之外,數(shù)據(jù)處理人員還應該從中學習到數(shù)據(jù)倉庫的思想:面向主題,逐層加工。

面向主題是指讓雜亂的數(shù)據(jù)結合業(yè)務劃分,更容易著手處理原本雜亂的數(shù)據(jù),數(shù)據(jù)處理人員只需知道哪些數(shù)據(jù)屬于哪個主題,然后基于主題再進一步處理;逐層加工則是指讓細粒度的數(shù)據(jù)走向寬表的過程清晰,有層次,數(shù)據(jù)處理過程中清楚每一步的產出是什么。

其實,每一個數(shù)據(jù)分析師或者數(shù)據(jù)處理師都會有自己的工作習慣和經驗,以上是筆者經歷兩年多數(shù)據(jù)倉庫開發(fā)、三年數(shù)據(jù)倉庫和數(shù)據(jù)分析兼職者的經驗總結的一些心得,希望對大家有所幫助。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師考試動態(tài)
數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }