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

熱線電話:13121318867

登錄
首頁精彩閱讀7個(gè)因素決定大數(shù)據(jù)的復(fù)雜性 如何處理
7個(gè)因素決定大數(shù)據(jù)的復(fù)雜性 如何處理
2015-10-28
收藏

7個(gè)因素決定大數(shù)據(jù)的復(fù)雜性 如何處理


   我們談?wù)摿撕芏嚓P(guān)于復(fù)雜數(shù)據(jù)及其為你的商業(yè)智能帶來的挑戰(zhàn)和機(jī)遇,但是導(dǎo)致數(shù)據(jù)復(fù)雜化的是什么呢?

  以及你如何區(qū)分你的公司當(dāng)前的數(shù)據(jù)是否是“復(fù)雜的”,亦或不久的將來會(huì)變得復(fù)雜?本文將解決這些問題。

  為什么這很重要?

  當(dāng)你試圖將數(shù)據(jù)轉(zhuǎn)化為商業(yè)價(jià)值時(shí),它的復(fù)雜度很可能會(huì)預(yù)示你將面對(duì)的困難程度——復(fù)雜數(shù)據(jù)的準(zhǔn)備和分析通常要比簡(jiǎn)單數(shù)據(jù)更加困難,以及通常需要一組不同的BI 工具來實(shí)現(xiàn)。復(fù)雜數(shù)據(jù)在可以“成熟的”分析和可視化之前需要額外的準(zhǔn)備工作和數(shù)據(jù)模型。因此重要的是,通過了解您目前的數(shù)據(jù)的復(fù)雜程度以及它在未來的復(fù)雜性趨向,來評(píng)估您的大數(shù)據(jù)/商業(yè)智能項(xiàng)目是否能夠勝任這一任務(wù)。

  簡(jiǎn)單測(cè)試:大數(shù)據(jù)或者異構(gòu)數(shù)據(jù)

  在高級(jí)層面上,有兩種基本的跡象表明你的數(shù)據(jù)可能被視為是復(fù)雜的:

  你的數(shù)據(jù)很“大”:我們把大放在引號(hào)里是因?yàn)樗菜品稀按髷?shù)據(jù)”術(shù)語的含義。然而事實(shí)是,處理海量數(shù)據(jù)在計(jì)算資源需要處理巨大的數(shù)據(jù)集方面提出了一個(gè)挑戰(zhàn), 就像把小麥從谷殼分開的困難,或者說在一個(gè)巨大的原始信息中辨別信號(hào)和雜音。

  你的數(shù)據(jù)來自許多不同的數(shù)據(jù)源:多重?cái)?shù)據(jù)源通常意味著臟數(shù)據(jù),或者遵循著不同的內(nèi)部邏輯結(jié)構(gòu)的簡(jiǎn)單的多個(gè)數(shù)據(jù)集。為了確保數(shù)據(jù)源有統(tǒng)一的數(shù)據(jù)語言,數(shù)據(jù)必須被轉(zhuǎn)換或整合到一個(gè)中央資源庫。

  可以認(rèn)為這是兩個(gè)最初的(可供選擇的)征兆:如果你正處理大數(shù)據(jù)或異構(gòu)數(shù)據(jù),你應(yīng)當(dāng)開始思考數(shù)據(jù)的復(fù)雜性。但是深究一下,對(duì)你的公司的數(shù)據(jù)的復(fù)雜性,以下有7個(gè)更具體的指標(biāo)。

  (注意,以上兩點(diǎn)之間有相似之處,但不互相排除——反之,例如,離散數(shù)據(jù)往往意味著各種各樣的數(shù)據(jù)結(jié)構(gòu)類型)

  

  7個(gè)因素決定你的數(shù)據(jù)的復(fù)雜性

  1、數(shù)據(jù)結(jié)構(gòu)

  不同數(shù)據(jù)源的數(shù)據(jù),或甚至來自同一個(gè)源的不同表,通常設(shè)計(jì)同樣的信息但結(jié)構(gòu)卻完全不同:

  舉例來說,想象你們?nèi)肆Y源部有三種不同的表格,一個(gè)是員工個(gè)人信息表,另一個(gè)是員工職位和薪資表第三個(gè)是員工職位要求表,諸如此類——而你們財(cái)務(wù)部門隨同保險(xiǎn)、福利和其他花費(fèi)一起記錄同樣的信息到單個(gè)表中。另外,在這些表中的一些表可能提到員工的全名,而另一些則只有名字的首字母,或者二者的結(jié)合。為了從所有表中有效使用數(shù)據(jù),同時(shí)不丟失或重復(fù)信息,需要數(shù)據(jù)建模或準(zhǔn)備工作。

  這是最簡(jiǎn)單的用例:更進(jìn)一步復(fù)雜化的是處理最初沒有適當(dāng)?shù)啬J降姆墙Y(jié)構(gòu)化數(shù)據(jù)源(例如NoSQL 數(shù)據(jù)庫)。

  2、數(shù)據(jù)大小

  再次回到模糊的“大數(shù)據(jù)”概念,你收集的數(shù)據(jù)量會(huì)影響你需要用來分析它的軟硬件的類型。這個(gè)可以通過原始大小來衡量:字節(jié),TB或PB——數(shù)據(jù)增長越大,越有可能“窒息”廣泛使用的內(nèi)存數(shù)據(jù)庫(IMDB),依賴于轉(zhuǎn)化壓縮數(shù)據(jù)到服務(wù)器內(nèi)存。其他因素包括多元異構(gòu)數(shù)據(jù)——包含很多數(shù)據(jù)行的表(Excel,可以說是最常用的數(shù)據(jù)分析工具,最大行數(shù)限制為1048576行),或結(jié)構(gòu)化數(shù)據(jù)——包含很多數(shù)據(jù)列的表。

  你將會(huì)發(fā)現(xiàn)在分析工具和方法上用于分析100,000行數(shù)據(jù)和那些用于分析1億行數(shù)據(jù)的是明顯不同的。

  3、數(shù)據(jù)細(xì)節(jié)

  你想要探索的數(shù)據(jù)的粒度水平。當(dāng)創(chuàng)建一個(gè)儀表盤或報(bào)表,展現(xiàn)總結(jié)或聚合數(shù)據(jù)時(shí)常常比讓終端用戶鉆取到每一個(gè)細(xì)節(jié)更容易實(shí)現(xiàn)——然而這是以犧牲數(shù)據(jù)分析的深度和數(shù)據(jù)挖掘為代價(jià)而做的權(quán)宜之計(jì)。

  創(chuàng)建一個(gè)BI系統(tǒng),使其具有顆粒向海量數(shù)據(jù)鉆取處理分析的能力,(不依賴于預(yù)定義查詢,聚合或匯總表)

  4、查詢語言

  不同的數(shù)據(jù)源有不同的數(shù)據(jù)語言:雖然SQL是從常見數(shù)據(jù)源和RDBMS提取數(shù)據(jù)的主要手段,但是當(dāng)使用第三方平臺(tái)時(shí)你會(huì)經(jīng)常需要通過它自己的API和語法去連接它,以及解析用于訪問數(shù)據(jù)的數(shù)據(jù)模型和協(xié)議。

  你的BI工具需要足夠靈活的根據(jù)數(shù)據(jù)源允許這種本地連接的方式,或者通過內(nèi)置插件或API訪問,否則你會(huì)發(fā)現(xiàn)你自己將不得不重復(fù)一個(gè)繁瑣的導(dǎo)出數(shù)據(jù)到表格\SQL數(shù)據(jù)庫\數(shù)據(jù)倉庫的過程,然后導(dǎo)入到你的商業(yè)智能軟件里,從而使你的分析變得麻煩。

  5、數(shù)據(jù)類型

  一方面動(dòng)態(tài)數(shù)據(jù)以表格形式存儲(chǔ),處理的大多是數(shù)值型數(shù)據(jù),但是大規(guī)模和非結(jié)構(gòu)化的機(jī)器數(shù)據(jù)完全是另外一回事兒,就像是文字?jǐn)?shù)據(jù)集存儲(chǔ)在MongoDB中,當(dāng)然了,更別提像視頻音頻這種超大規(guī)模的非結(jié)構(gòu)化數(shù)據(jù)了。

  不同的數(shù)據(jù)類型具有不同的規(guī)則,為使得商業(yè)決策建立在對(duì)公司數(shù)據(jù)的全面考慮的基礎(chǔ)上,找到一種建立單一可信來源的方法是至關(guān)重要的。

  6、離散數(shù)據(jù)

  數(shù)據(jù)存儲(chǔ)在多個(gè)位置:例如,組織里的不同部門,本地或云(付費(fèi)存儲(chǔ)或通過云應(yīng)用),來自客戶或供應(yīng)商的外部數(shù)據(jù)等。這種數(shù)據(jù)不僅收集起來很困難(簡(jiǎn)單來說是由于及時(shí)而有效的接收數(shù)據(jù)而需要的利益相關(guān)者的數(shù)量)。而且一旦收集了——在不同的數(shù)據(jù)集交叉引用和分析之前,通常需要“清理”或標(biāo)準(zhǔn)化,因?yàn)槊總€(gè)本地?cái)?shù)據(jù)集是根據(jù)相關(guān)組織\應(yīng)用程序自身的實(shí)際和關(guān)注收集數(shù)據(jù)。

  7、數(shù)據(jù)量的增長

  最終,你不僅需要考慮當(dāng)前數(shù)據(jù),還有數(shù)據(jù)的增長或變化的速度。如果經(jīng)常更新數(shù)據(jù)源,或經(jīng)常增加新的數(shù)據(jù)源,這將會(huì)消耗你的軟硬件資源(無論何時(shí)當(dāng)源數(shù)據(jù)發(fā)生重大更改時(shí),不是非常先進(jìn)的系統(tǒng)都需要重新獲取整個(gè)數(shù)據(jù)集),以及上述提到的關(guān)于結(jié)構(gòu)、類型、大小的復(fù)合性問題等。

  怎樣掌控復(fù)雜數(shù)據(jù)?

  如果你認(rèn)同上述的一個(gè)或更多以及你的數(shù)據(jù)剛剛好是復(fù)雜的,不要絕望:理解,是找到一個(gè)合適的解決方案的第一步,以及復(fù)雜數(shù)據(jù)的分析本身不需要過于復(fù)雜。我們將在未來的文章中涉及解決復(fù)雜數(shù)據(jù)的方法,但是你將想問自己的第一件事可能是——控制復(fù)雜數(shù)據(jù)你實(shí)際需要多少BI系統(tǒng)。

數(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ù)說明請(qǐng)參見: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); }