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

熱線電話:13121318867

登錄
首頁精彩閱讀大數(shù)據應用程序復雜多樣 企業(yè)又該如何部署
大數(shù)據應用程序復雜多樣 企業(yè)又該如何部署
2017-08-14
收藏

大數(shù)據應用程序復雜多樣 企業(yè)又該如何部署

如今,大數(shù)據應用程序比常規(guī)應用程序復雜10倍,開發(fā)人員通常需要了解大量的技術,以使大數(shù)據能夠正常工作。

大數(shù)據的應用仍然太難了。盡管有很多的炒作的成分,但大多數(shù)企業(yè)仍然努力從他們的數(shù)據中獲得價值。而Dresner咨詢服務公司得出結論:“盡管長時間的意識培養(yǎng)和炒作,大數(shù)據分析的實際部署目前并不廣泛適用于大多數(shù)組織。”

這是人員的問題。盡管有說服力的數(shù)據,企業(yè)高管們往往寧愿忽略這些數(shù)據。但是,大數(shù)據復雜性的一大部分是因為所需要的軟件。雖然Spark和其他更新的系統(tǒng)已經改善了軌跡,但大數(shù)據基礎設施仍然太難了,這是杰西·安德森精明的一點。

  實施起來困難

長期以來,人才一直是大數(shù)據采用的最大障礙之一。2015年Bain&Co.公司通過對高級IT主管調查發(fā)現(xiàn),59%的受訪者認為他們的公司缺乏對數(shù)據和業(yè)務有意義的能力。調查機構Gartner公司分析師尼克·荷德科特別指出,“到2018年,由于技能和集成的挑戰(zhàn),70%的Hadoop部署將無法滿足成本節(jié)省和收入目標?!比藛T的技能很重要,換句話說,相關人才供不應求。

隨著時間的推移,人員的技能差距將會減少,當然,但是了解平均Hadoop部署是不平凡的。安德森指出,大數(shù)據的復雜性歸結為兩個主要因素:“你需要掌握10到30種不同的技術,只是為了創(chuàng)建一個大數(shù)據解決方案。而采用分布式系統(tǒng)是比較簡單的”。

大數(shù)據應用程序復雜多樣 企業(yè)又該如何部署?

  問題是什么

安德森表示典型的移動應用程序與Hadoop支持的應用程序的復雜性,注意后者涉及“盒子”或組件的數(shù)量的兩倍。然而,用簡單的詞語表達,“Hadoop解決方案的‘Hello World’比其他域中到高級設置更復雜。

安德森說,人們面臨復雜的困難,是需要了解涉及的廣泛的系統(tǒng)。例如,人們可能需要知道10種技術來構建大數(shù)據應用程序,但這可能需要熟悉另外20種技術,只需知道在給定情況下使用哪種技術即可。否則,例如,你將如何知道使用MongoDB而不是Hbase?還是Cassandra?或neo4j?

此外,在分布式系統(tǒng)中運行有其復雜性,而大數(shù)據的技能短缺依然存在。

  簡單的出路

企業(yè)正在努力盡量減少在大數(shù)據構建中所固有的復雜性的一種方法是轉向公共云。根據最近的Databricks對Apache Spark用戶的調查,Spark到公共云的部署在過去一年中增長了10%,達到了總體部署的61%。云計算代替了那些繁瑣以及不靈活的內部部署基礎設施,可以提供靈活性。

然而,它并不能消除所涉及的技術的復雜性。關于此或數(shù)據庫或消息代理的相同選擇仍然存在。這種選擇,以及其中的復雜性,不會很快消失。像Cloudera和Hortonworks這樣的公司已經嘗試簡化這些選擇,將它們整合到堆棧中,但是它們仍然基本上提供需要被理解以便有用的工具。Amazon Web Services公司通過其Lambda服務進一步發(fā)展,這使得開發(fā)人員能夠專注于編寫應用程序代碼,而AWS負責所有底層基礎架構。

但下一步是完全為最終用戶預先制作應用程序,這是華爾街分析師彼得·戈德馬克所說的銷售基礎設施組件的更大的機會。用他的話來說,一個主要類別的“獲獎者”是應用和分析供應商,它將基礎技術的復雜性抽象為一個用戶友好的前端。企業(yè)用戶的可尋址的受眾將比程序員的市場致力于核心技術。

這是市場需要去的地方,而且是快速的。人們幾乎沒有做過。對于每個能夠掌握所有的相關的大數(shù)據技術公司,包括那些高端產業(yè)的企業(yè),只是想只是希望重塑自己,需要有人使他們的數(shù)據更具可操作性,人們現(xiàn)在需要這類供應商出現(xiàn)。


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

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

數(shù)據分析師資訊
更多

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); }