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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀說(shuō)說(shuō)什么是數(shù)據(jù)分析方法論?
說(shuō)說(shuō)什么是數(shù)據(jù)分析方法論?
2016-05-20
收藏

說(shuō)說(shuō)什么是數(shù)據(jù)分析方法論?

在數(shù)據(jù)集成類(lèi)的項(xiàng)目中,最難的過(guò)程就是數(shù)據(jù)分析了,數(shù)據(jù)分析過(guò)程位于數(shù)據(jù)集成類(lèi)項(xiàng)目整個(gè)過(guò)程(前期準(zhǔn)備調(diào)研—–數(shù)據(jù)分析—–接口實(shí)現(xiàn))的第二步,它為第三步接口實(shí)現(xiàn)提供了充分的準(zhǔn)備,因此數(shù)據(jù)分析的正確與否很大程度上決定了數(shù)據(jù)集成能否成功的實(shí)現(xiàn)和完成。
怎么樣有效的進(jìn)行數(shù)據(jù)分析呢,怎么樣提前在數(shù)據(jù)分析中盡量避免問(wèn)題等到實(shí)現(xiàn)時(shí)才出現(xiàn)呢?這是一個(gè)行之有效的數(shù)據(jù)分析方法論的評(píng)判的關(guān)鍵。
經(jīng)過(guò)幾個(gè)項(xiàng)目的經(jīng)歷,反思了一下在做這些項(xiàng)目時(shí)比較有效的方法和失妥的方法,總結(jié)了一套目前個(gè)人覺(jué)得可行的數(shù)據(jù)分析方法,此套數(shù)據(jù)分析方法只適用于數(shù)據(jù)庫(kù)—文件—數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)—數(shù)據(jù)庫(kù)的分析,對(duì)于接口式的集成(例如調(diào)用對(duì)方的webservice、EJB接口等)并不適用,在這樣的一套數(shù)據(jù)分析的方法中,為數(shù)據(jù)分析的步驟以及需要注意的問(wèn)題事項(xiàng)提出了指導(dǎo),編寫(xiě)此blog以希望有同行的同學(xué)們多多交流。
2、數(shù)據(jù)分析方法論
此方法論中涉及的名詞的解釋:
目標(biāo)數(shù)據(jù)源
指在數(shù)據(jù)集成中需要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)源,此數(shù)據(jù)源可能是數(shù)據(jù)庫(kù),也有可能是文件。
源數(shù)據(jù)源
指在數(shù)據(jù)集成中獲取數(shù)據(jù)的數(shù)據(jù)源,此數(shù)據(jù)源可能是數(shù)據(jù)庫(kù),也有可能是文件。
字典代碼
在數(shù)據(jù)庫(kù)中以代碼的方式(如數(shù)字、英文字母等)來(lái)代替中文意思進(jìn)行存儲(chǔ),其中的這些代碼就稱為字典代碼。
2.1.步驟
2.1.1.分析目標(biāo)數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)
目標(biāo)數(shù)據(jù)源既有可能是數(shù)據(jù)庫(kù)也有可能是文件,但無(wú)論是哪種,它都是有數(shù)據(jù)結(jié)構(gòu)的,首先要做的就是分析目標(biāo)數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu),在分析目標(biāo)數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)時(shí),要分析清楚的有:

目標(biāo)數(shù)據(jù)源中需要交換的有哪些表,這些表的含義分別是什么。
字段
這些表中包含的字段字段的類(lèi)型以及長(zhǎng)度。
字段含義
分析每個(gè)字段的含義,包括字段的中文含義、字段涉及到的字典代碼以及字段的規(guī)則(如業(yè)務(wù)規(guī)則、生成規(guī)則)。
在分析了上面所提及的表、字段、字段含義后,形成如下結(jié)構(gòu)的文檔:
表名
字段    字段類(lèi)型及長(zhǎng)度    中文含義    涉及到的字典代碼    字段規(guī)則
id    number(10)    主鍵流水號(hào)    —    流水號(hào),通過(guò)表名_SEQ的Sequence來(lái)獲取
unitcode    varchar2(19)    單位編碼    單位編碼字典    —
2.1.2. 分析目標(biāo)數(shù)據(jù)源的表關(guān)系
在完成了第一步后,需要接著分析目標(biāo)數(shù)據(jù)源的表關(guān)系,分析表關(guān)系最重要的在于分析各個(gè)表之間的關(guān)聯(lián)關(guān)系(例如一對(duì)一、一對(duì)多,通過(guò)這里可以分析出的為主鍵、外鍵的關(guān)聯(lián)關(guān)系),其次就是需要根據(jù)業(yè)務(wù)來(lái)分析其各個(gè)表之間的隱性關(guān)聯(lián),如只有當(dāng)A表中的某個(gè)值為03時(shí)才關(guān)聯(lián)到B表。
在分析完畢目標(biāo)數(shù)據(jù)源的表關(guān)系后,形成如下Rose圖:

2.1.3. 分析源數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)
方法同2.1.1,分析的對(duì)象改變?yōu)樵磾?shù)據(jù)源,分析完畢后形成同2.1.1中的文檔。
2.1.4.分析源數(shù)據(jù)源的表關(guān)系
方法同2.1.2,分析的對(duì)象改變?yōu)樵磾?shù)據(jù)源,分析完畢后形成同2.1.2中的Rose圖。
2.1.5.根據(jù)目標(biāo)數(shù)據(jù)源的表關(guān)系分析其和源數(shù)據(jù)源的表的對(duì)應(yīng)關(guān)系
根據(jù)目標(biāo)數(shù)據(jù)源的表關(guān)系,來(lái)分析其和源數(shù)據(jù)源表的對(duì)應(yīng)關(guān)系,在這個(gè)步驟中需要分析清楚的是目標(biāo)數(shù)據(jù)源的表的數(shù)據(jù)來(lái)源于源數(shù)據(jù)源的哪些表,怎么獲取到這些數(shù)據(jù),分析完畢后可形成校驗(yàn)數(shù)據(jù)集成是否正確的一個(gè)標(biāo)準(zhǔn),那就是目標(biāo)數(shù)據(jù)源的表的數(shù)據(jù)量和其來(lái)源的源數(shù)據(jù)源的那些表的數(shù)據(jù)量應(yīng)該是一致的,分析時(shí)仍然是根據(jù)目標(biāo)表的業(yè)務(wù)含義去源數(shù)據(jù)源中的表中尋找具備相同含義的表,在分析的過(guò)程中可能會(huì)碰到如下幾種情況:
含義相同的表
這種情況通常是目標(biāo)數(shù)據(jù)源和源數(shù)據(jù)源均為使用一張表存儲(chǔ),含義相同的表通常都是一對(duì)一的數(shù)據(jù)關(guān)系,例如目標(biāo)數(shù)據(jù)源中有一張表為常住人口基本信息,源數(shù)據(jù)源中有張常住人員基本信息,兩張表就可以對(duì)應(yīng)上了,當(dāng)然,有些時(shí)候并不一定是意義相同就一定相同,這需要從業(yè)務(wù)層面去判斷。
具備包含意義的表
這種情況通常是目標(biāo)數(shù)據(jù)源為一張表,源數(shù)據(jù)源為多張表,這個(gè)時(shí)候就形成多對(duì)一的關(guān)系,例如目標(biāo)數(shù)據(jù)源中有張表為物品表,源數(shù)據(jù)源中為手機(jī)、證券等幾張表,這個(gè)時(shí)候就需要將手機(jī)、證券這些表對(duì)應(yīng)到物品表。
又或者可能會(huì)碰到這樣的現(xiàn)象,目標(biāo)數(shù)據(jù)源為一張表,源數(shù)據(jù)源也是一張表,但源數(shù)據(jù)源的這張表的每行記錄包含了目標(biāo)表的兩種類(lèi)型的記錄,這種情況下就需要將源數(shù)據(jù)源的一行記錄拆分為兩條導(dǎo)入到目標(biāo)表中,例如目標(biāo)數(shù)據(jù)源有張表為遷入遷出表,其存儲(chǔ)方式為遷入和遷出都為單獨(dú)的記錄來(lái)存儲(chǔ)的,源數(shù)據(jù)源有張表也為遷入遷出表,但其存儲(chǔ)方式為遷入和遷出在同一條記錄,這個(gè)時(shí)候就要將源數(shù)據(jù)源的這張遷入遷出表的一行記錄拆分為兩條進(jìn)行導(dǎo)入了。
被包含意義的表
和之上的具備包含意義的表相反。
根據(jù)業(yè)務(wù)的對(duì)應(yīng)關(guān)系
這張是最為復(fù)雜的,例如可能會(huì)碰到這樣的現(xiàn)象,當(dāng)源數(shù)據(jù)源的某張表的某個(gè)字段的值為多個(gè)的時(shí)候,就需要拆分為兩條記錄導(dǎo)入到目標(biāo)表中。
綜合上面所述,目標(biāo)數(shù)據(jù)源的表和源數(shù)據(jù)源的表可能會(huì)存在一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多、條件式的對(duì)應(yīng)幾種關(guān)系,在分析完畢后形成如下的文檔:

2.1.6.根據(jù)表的對(duì)應(yīng)關(guān)系分析字段的對(duì)應(yīng)關(guān)系以及轉(zhuǎn)化規(guī)則
在對(duì)應(yīng)了表的對(duì)應(yīng)關(guān)系后,根據(jù)表的單一對(duì)應(yīng)關(guān)系(如目標(biāo)數(shù)據(jù)源的B表對(duì)應(yīng)到了源數(shù)據(jù)源的B、C表,則需要分為B對(duì)應(yīng)B以及B對(duì)應(yīng)C兩個(gè)步驟來(lái)分析)來(lái)分析每個(gè)表中的字段的對(duì)應(yīng)關(guān)系以及轉(zhuǎn)化規(guī)則了,對(duì)應(yīng)的方法為:
    先在對(duì)應(yīng)的表中尋找相應(yīng)的字段
    如尋找不到則到相關(guān)的表中尋找相應(yīng)的字段
    如還是尋找不到則需要從業(yè)務(wù)含義方面去推測(cè)
從業(yè)務(wù)含義角度分析此字段是否需要合并多個(gè)字段或拆分字段,又或根據(jù)某種業(yè)務(wù)規(guī)則來(lái)生成這個(gè)字段的值。
在尋找到了相應(yīng)的字段后,首先根據(jù)類(lèi)型、長(zhǎng)度來(lái)分析是否需要進(jìn)行類(lèi)型和長(zhǎng)度的處理,之后需要分析該字段是否為通過(guò)關(guān)聯(lián)到其他表來(lái)獲取的,接著再分析此字段是否涉及到字典代碼,如涉及則需要對(duì)照兩邊的字典代碼是否一致,如不一致則需要形成兩邊的字典代碼的對(duì)應(yīng)關(guān)系,最后分析該字段是否涉及業(yè)務(wù)含義,如涉及則需注明如何進(jìn)行處理。
在分析完畢后,形成如下文檔:

2.2.需注意的問(wèn)題
由于數(shù)據(jù)集成涉及的為系統(tǒng)中最為重要的基礎(chǔ)—數(shù)據(jù),那么在做數(shù)據(jù)集成時(shí)就特別需要仔細(xì)考慮不要對(duì)數(shù)據(jù)產(chǎn)生了破壞性的影響,這也是數(shù)據(jù)分析過(guò)程中需要慎重考慮的問(wèn)題。
2.2.1.數(shù)據(jù)覆蓋/混亂的問(wèn)題
在做數(shù)據(jù)分析時(shí)需要考慮,這樣集成數(shù)據(jù)后是否會(huì)將已存在的數(shù)據(jù)非法的覆蓋或造出混亂,出現(xiàn)這種問(wèn)題通常都是由于主鍵的原因,這個(gè)在做數(shù)據(jù)分析時(shí)需要考慮。
2.2.2.制定錯(cuò)誤出現(xiàn)時(shí)的彌補(bǔ)方案
在做數(shù)據(jù)分析時(shí)需要考慮在進(jìn)行數(shù)據(jù)集成后可能會(huì)出現(xiàn)的錯(cuò)誤,對(duì)于這些可能出現(xiàn)的錯(cuò)誤需要制定相應(yīng)的彌補(bǔ)方案,以避免數(shù)據(jù)的被破壞。
2.2.3.源數(shù)據(jù)源數(shù)據(jù)質(zhì)量造成的問(wèn)題的處理方案
需要考慮如源數(shù)據(jù)源本身的數(shù)據(jù)質(zhì)量出現(xiàn)問(wèn)題時(shí),應(yīng)如何處理或者如何避免。
2.2.4.業(yè)務(wù)專家的支持
在整個(gè)數(shù)據(jù)分析的過(guò)程中,可以看出業(yè)務(wù)專家起到了非常大的作用,可以說(shuō)如果缺少業(yè)務(wù)專家的話,數(shù)據(jù)分析很可能會(huì)失敗,或需要走很多的彎路才能最后摸索出來(lái),有一點(diǎn)可以肯定,在缺少業(yè)務(wù)專家的支持下整個(gè)數(shù)據(jù)分析的過(guò)程將會(huì)大大的延長(zhǎng),從這點(diǎn)可以看出,在進(jìn)行數(shù)據(jù)分析時(shí)要盡量獲取到業(yè)務(wù)專家的支持。
3、總結(jié)
如上的方法論對(duì)數(shù)據(jù)分析的過(guò)程和避免問(wèn)題的方法做出了一定的描述,在實(shí)際的進(jìn)行數(shù)據(jù)分析時(shí),最重要的還是負(fù)責(zé)數(shù)據(jù)分析的人對(duì)于系統(tǒng)的理解,有過(guò)系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)的人來(lái)做數(shù)據(jù)分析成功的幾率會(huì)高很多,有些非常專業(yè)的系統(tǒng)的話還得依賴有相應(yīng)的設(shè)計(jì)經(jīng)驗(yàn)的人才做才能做得了,類(lèi)如流程系統(tǒng)的數(shù)據(jù)集成。
在一個(gè)數(shù)據(jù)分析過(guò)程中,已經(jīng)可以制定出判斷數(shù)據(jù)集成是否成功的標(biāo)準(zhǔn)了,這也可以列為T(mén)DD的入口條件,J。
方法論始終都還是理論,我本來(lái)就不是一個(gè)那么講理論的人,但也不否認(rèn)理論對(duì)于實(shí)際是有很好的指導(dǎo)作用的,避免在實(shí)踐過(guò)程中走過(guò)多的彎路,能做到理論結(jié)合實(shí)踐那是最好的,理論指導(dǎo)實(shí)踐,實(shí)踐改進(jìn)理論。

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

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }