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

熱線電話:13121318867

登錄
首頁精彩閱讀企業(yè)用戶如何玩轉(zhuǎn)大數(shù)據(jù),贏在未來
企業(yè)用戶如何玩轉(zhuǎn)大數(shù)據(jù),贏在未來
2017-03-09
收藏

企業(yè)用戶如何玩轉(zhuǎn)大數(shù)據(jù),贏在未來

傳統(tǒng)的數(shù)據(jù)治理在大數(shù)據(jù)時代面臨著大量數(shù)據(jù)的接入、大量數(shù)據(jù)的存儲和快速靈活處理的三方面問題,這一期我們來聊聊如何正確的思考和解決這三個問題。

大量數(shù)據(jù)接入

大量數(shù)據(jù)的接入問題主要體現(xiàn)在兩方面,第一方面是大數(shù)據(jù)的多樣性造成原有單一通道的不適用性。大數(shù)據(jù)的多樣性表明我們在接入數(shù)據(jù)的時候必然會采用多樣化的接入手段。這就需要我們針對數(shù)據(jù)的類型如結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)數(shù)據(jù),數(shù)據(jù)源的存儲形式如關(guān)系數(shù)據(jù)庫、文件、分布式數(shù)據(jù)庫兩方面特性進行綜合考慮,形成一個二維接入方式表。當(dāng)然實際情況要更加復(fù)雜,在這里我們只是提出其中的一種解決問題的思路。

另一方面是大數(shù)據(jù)的高速性造就了數(shù)據(jù)通道的擁堵。針對大數(shù)據(jù)高速性的特點,流處理的技術(shù)發(fā)揮了重要作用。我們可以依賴消息隊列集群加上流處理的技術(shù)進行解決,例如現(xiàn)在廣泛采用的 kafka+spark streaming 的解決方案。數(shù)據(jù)通過消息的不同通道和訂閱發(fā)布機制,建立了不同的數(shù)據(jù)傳輸通道,并且通過分布式機制和緩存機制解決了大量數(shù)據(jù)接入的性能問題。新智數(shù)工提供的采集助手就是要讓不懂技術(shù)的人員也能接入各種類型的數(shù)據(jù)。

大量數(shù)據(jù)存儲

關(guān)于數(shù)據(jù)存儲的問題,第一個是大量數(shù)據(jù)造成了原有的存儲空間不足的現(xiàn)象;第二個是數(shù)據(jù)的多樣性造成了數(shù)據(jù)存儲方式單一的現(xiàn)象;第三個最重要的現(xiàn)象是前面兩個問題造成了數(shù)據(jù)存儲要不斷面臨調(diào)整的問題。我認為要解決好如上問題需要從兩個方面進行解決。一方面是數(shù)據(jù)的存儲問題。數(shù)據(jù)的存儲是為了更好的數(shù)據(jù)應(yīng)用,應(yīng)該提供給最終用戶可以隨時調(diào)整數(shù)據(jù)存儲和定義的一組業(yè)務(wù)功能。我們現(xiàn)在很多用戶只是知道自己大概有哪些數(shù)據(jù),大概是什么情況。其實我們應(yīng)該提供一個能讓用戶掌握數(shù)據(jù)資產(chǎn)的數(shù)據(jù)臺帳,通過它能夠?qū)崟r了解數(shù)據(jù)的總量情況、變化情況、存儲情況、加工情況,從而滿足一系列的數(shù)據(jù)應(yīng)用場景。另一方面是底層技術(shù)要做好保障,應(yīng)按數(shù)據(jù)類型、使用類型建立好分布式存儲的解決方案。包括塊存儲、文件存儲、對象存儲等。但這種技術(shù)形式應(yīng)該對業(yè)務(wù)用戶透明,用戶只需要進行業(yè)務(wù)定義,不需要關(guān)心技術(shù)細節(jié)。新智數(shù)工的大數(shù)據(jù)池產(chǎn)品正是為了解決此問題而產(chǎn)生的。

快速靈活處理

快速靈活處理其實是體現(xiàn)大數(shù)據(jù)的第4個v價值的問題,因為數(shù)據(jù)食材被加工成不同的形狀是為了菜品的要求,也就是數(shù)據(jù)加工處理的目的是為了數(shù)據(jù)應(yīng)用。而傳統(tǒng)的處理方式都是由專業(yè)數(shù)據(jù)加工者將數(shù)據(jù)進行預(yù)處理,當(dāng)數(shù)據(jù)多樣性體現(xiàn)后,這種方法就不能真正滿足一線人員的實際需求了。這也是為什么以前的BI系統(tǒng)在面對一個新的數(shù)據(jù)種類時,變更會異常復(fù)雜和繁瑣的原因。而我們真正的一線廚師需要隨時隨地能夠加工數(shù)據(jù)食材,根據(jù)自已的喜好和需求對食材進行加工制作,而不是再依靠任何 IT 公司。依托大數(shù)據(jù)技術(shù)我們應(yīng)該給用戶提供一組簡單的、可自己隨時加工處理數(shù)據(jù)的功能。例如我們原來的一張列表有10個字段,我們應(yīng)該可以由這10個原有字段不斷定義新的字段,也就是我們可以給數(shù)據(jù)食材切成片或塊等多種形式。

大數(shù)據(jù)時代,數(shù)據(jù)的價值密度很低,這就更需要數(shù)據(jù)裂變,只有數(shù)據(jù)裂變,數(shù)據(jù)的價值才能不斷被放大。


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

若不方便掃碼,搜微信號: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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括: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); }