近幾年,汽車行業(yè)全面擁抱電氣化和數(shù)字化聪轿,一方面有行業(yè)先行者和政策法規(guī)的激勵(lì)作用爷肝,另外一方面隨著無線網(wǎng)絡(luò)升級換代以及云計(jì)算技術(shù)越發(fā)成熟,車機(jī)端到企業(yè)端能夠更加實(shí)時(shí)穩(wěn)定傳輸豐富數(shù)據(jù)陆错。如何利用好這些數(shù)據(jù)灯抛,為生產(chǎn)、營銷決策提供支持是各大車企都迫切關(guān)心的問題音瓷。大數(shù)據(jù)分析對于車企的價(jià)值也更加凸顯对嚼。
對企業(yè)來說如何搭建一個(gè)可應(yīng)對未來數(shù)據(jù)量幾何級增長的數(shù)據(jù)分析平臺?是選在在本地搭建還是云上绳慎?在數(shù)據(jù)湖上如何構(gòu)建纵竖?Kyligence 團(tuán)隊(duì)很幸運(yùn)參與到一家世界領(lǐng)先的車企數(shù)字化轉(zhuǎn)型的實(shí)際項(xiàng)目中,今天特別邀請到這個(gè)項(xiàng)目的負(fù)責(zé)同事與大家分享 Kyligence 在數(shù)據(jù)湖上搭建大數(shù)據(jù)分析平臺方面的一些思考杏愤。
背景
過去幾年靡砌,汽車行業(yè)在排放法規(guī)、激勵(lì)政策珊楼、行業(yè)競爭等內(nèi)外壓力驅(qū)動(dòng)下實(shí)施了電氣化戰(zhàn)略乏奥、進(jìn)行數(shù)字化轉(zhuǎn)型。產(chǎn)業(yè)鏈借助云計(jì)算亥曹、IoT邓了、邊緣計(jì)算、微服務(wù)媳瞪、反應(yīng)式架構(gòu)等技術(shù)手段完成V2X(Vehicle-to-everything)的建設(shè)骗炉,已經(jīng)建立了對車輛電氣數(shù)據(jù)和用車數(shù)據(jù)全面、準(zhǔn)確蛇受、實(shí)時(shí)的收集的能力句葵。
人們對汽車的定位也逐步從機(jī)械產(chǎn)品向電子信息系統(tǒng)控制的智能產(chǎn)品轉(zhuǎn)變,由單純的交通運(yùn)輸工具逐漸轉(zhuǎn)變?yōu)橹悄芤苿?dòng)空間和應(yīng)用終端兢仰,有網(wǎng)聯(lián)能力的新能源汽車保有量也越來越高乍丈,行業(yè)向縱深發(fā)展越來越依賴對數(shù)據(jù)的應(yīng)用。
在不久前把将,中國發(fā)改委印發(fā)《智能汽車創(chuàng)新發(fā)展戰(zhàn)略》中提出“加強(qiáng)智能汽車復(fù)雜使用場景的大數(shù)據(jù)應(yīng)用轻专,重點(diǎn)在數(shù)據(jù)增值、出行服務(wù)察蹲、金融保險(xiǎn)等領(lǐng)域请垛,培育新商業(yè)模式”。這標(biāo)志著行業(yè)在投入了諸多精力打通了車輛端到企業(yè)端的數(shù)據(jù)鏈路后洽议,整個(gè)行業(yè)必須盡快駛?cè)胪诰驍?shù)據(jù)更高附加價(jià)值的快車道中宗收,深耕數(shù)據(jù)實(shí)在推動(dòng)業(yè)務(wù)發(fā)展。
以汽車行業(yè)電氣化和數(shù)字戰(zhàn)略先行者Tesla公司為例亚兄,自2012年起累計(jì)生產(chǎn)交付了100萬輛電動(dòng)車混稽,所有這些車輛都可以持續(xù)不斷上傳三電系統(tǒng)、車載雷達(dá)审胚、攝像機(jī)匈勋、車主用車行為和全球主要城市的交通信息數(shù)據(jù)。若一輛車平均每天行駛2小時(shí)菲盾,行駛中每秒上傳10kb壓縮數(shù)據(jù)颓影,100萬輛車每天產(chǎn)生的數(shù)據(jù)量大約為 70tb。Tesla借助云計(jì)算懒鉴、大數(shù)據(jù)技術(shù)能夠處理利用這些數(shù)據(jù)诡挂,用來提升電池安全與性能、提高汽車自動(dòng)駕駛能力以及為車主提供個(gè)性化的用車體驗(yàn)临谱。
Kyligence 服務(wù)的這家客戶今年將在中國推出第一款純電動(dòng)跑車璃俗,加上存量車型,到2021 年大約會(huì)有 10 多萬臺具有智聯(lián)模塊的車輛行駛在道路上悉默。雖然車輛端到企業(yè)端數(shù)據(jù)鏈路建設(shè)的十分成熟城豁,但因?yàn)檫€沒有數(shù)據(jù)平臺的支持,只能采用低頻策略收集有限的數(shù)據(jù)滿足安全監(jiān)控等基礎(chǔ)應(yīng)用場景抄课,也無法積累更久遠(yuǎn)的數(shù)據(jù)唱星,這些導(dǎo)致數(shù)據(jù)價(jià)值得不到很好的發(fā)揮雳旅,無法滿足行業(yè)對車輛智能化發(fā)展、數(shù)據(jù)創(chuàng)新型應(yīng)用的要求间聊。這家企業(yè)于去年下半年啟動(dòng)了中國區(qū)數(shù)據(jù)平臺建設(shè)計(jì)劃攒盈,希望能夠借助平臺基礎(chǔ)能力,將核心經(jīng)營數(shù)據(jù)哎榴、合作伙伴數(shù)據(jù)型豁、互聯(lián)網(wǎng)開放數(shù)據(jù)、車聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)做綜合運(yùn)用尚蝌,使數(shù)據(jù)為業(yè)務(wù)創(chuàng)造更多價(jià)值迎变。考慮到企業(yè)級數(shù)據(jù)平臺建設(shè)是一個(gè)持續(xù)迭代的過程,結(jié)合客戶方中短期內(nèi)業(yè)務(wù)部門飘言、IT團(tuán)隊(duì)對平臺能力的要求衣形,我們確定了首期建設(shè)目標(biāo)是打造企業(yè)級數(shù)據(jù)湖。
架構(gòu)挑戰(zhàn)
數(shù)據(jù)湖(Data Lake)概念自2011年被推出后热凹,其概念定位泵喘、架構(gòu)設(shè)計(jì)和相關(guān)技術(shù)都得到了飛速發(fā)展和眾多實(shí)踐,數(shù)據(jù)湖也從單一數(shù)據(jù)存儲(chǔ)池概念演進(jìn)為支撐高效般妙、安全纪铺、穩(wěn)定企業(yè)級數(shù)據(jù)應(yīng)用的下一代基礎(chǔ)數(shù)據(jù)平臺,也是客戶進(jìn)行數(shù)據(jù)平臺建設(shè)的核心訴求碟渺。
基于上述業(yè)務(wù)背景和客戶需求鲜锚,我們在進(jìn)行數(shù)據(jù)湖的方案選擇和架構(gòu)設(shè)計(jì)時(shí),需要解決的核心挑戰(zhàn)主要有以下四個(gè)方面:
1. ?? 良好經(jīng)濟(jì)的存儲(chǔ)方案苫拍,平臺經(jīng)濟(jì)性的要求主要為了應(yīng)對以下兩個(gè)問題:
原始數(shù)據(jù)被大量存儲(chǔ):車聯(lián)網(wǎng)可以產(chǎn)生大量的電氣設(shè)備芜繁、駕駛過程、人機(jī)交互绒极、地理位置數(shù)據(jù)骏令。企業(yè)積累的原始數(shù)據(jù)集包含的數(shù)據(jù)種類豐富度(數(shù)據(jù)廣度)、數(shù)據(jù)積累的時(shí)間長度(數(shù)據(jù)深度)垄提、數(shù)據(jù)細(xì)粒度和產(chǎn)生頻率(數(shù)據(jù)密度)決定其可能具有的價(jià)值高低榔袋。很多企業(yè)會(huì)追求積累更加廣泛、深厚铡俐、密集的原始數(shù)據(jù)集凰兑。但由于起初利用數(shù)據(jù)的能力非常有限,原始數(shù)據(jù)轉(zhuǎn)換成高價(jià)值數(shù)據(jù)的速度相比數(shù)據(jù)產(chǎn)生的速度是非常緩慢的审丘,導(dǎo)致原始數(shù)據(jù)越積越多吏够。
高價(jià)值數(shù)據(jù)由熱轉(zhuǎn)冷:從原始數(shù)據(jù)抽絲剝繭得到的高價(jià)值數(shù)據(jù)隨著時(shí)間流逝產(chǎn)生的問題是,其數(shù)據(jù)價(jià)值對當(dāng)前和未來的業(yè)務(wù)貢獻(xiàn)度普遍會(huì)降低,且越來越少锅知。因此數(shù)據(jù)被提及或使用的頻率會(huì)逐漸降低播急,數(shù)據(jù)由熱轉(zhuǎn)冷,偶爾會(huì)被用到的冷數(shù)據(jù)越積越多喉镰,新的高價(jià)值數(shù)據(jù)還在不斷涌入旅择,存儲(chǔ)開銷越來越大。
2. ?? 多源集成能力侣姆,平臺需要能夠集成和存儲(chǔ)多種來源、多種形式的數(shù)據(jù)沉噩。融合的分析和應(yīng)用要求企業(yè)將車聯(lián)網(wǎng)數(shù)據(jù)捺宗、互聯(lián)網(wǎng)數(shù)據(jù)、企業(yè)內(nèi)部數(shù)據(jù)和外部供應(yīng)商數(shù)據(jù)一起結(jié)合川蒙,這要求平臺不僅需要兼容關(guān)系型數(shù)據(jù)庫數(shù)據(jù)源蚜厉,還要具有集成文件、媒體數(shù)據(jù)畜眨、流數(shù)據(jù)昼牛、接口來源數(shù)據(jù)的能力。另外對于數(shù)據(jù)源的變化康聂,平臺也要有實(shí)時(shí)的感知能力贰健,能夠及時(shí)更新與之相關(guān)的分析結(jié)果。
3. ?? 彈性擴(kuò)展能力恬汁,平臺需要能應(yīng)對數(shù)據(jù)接入和數(shù)據(jù)計(jì)算壓力的大范圍波動(dòng)伶椿。數(shù)據(jù)系統(tǒng)在高峰期同時(shí)要接受來自前端的查詢計(jì)算壓力,以及來自后端的數(shù)據(jù)接入氓侧、校驗(yàn)脊另、離線或?qū)崟r(shí)倉庫數(shù)據(jù)計(jì)算和存儲(chǔ)壓力,此時(shí)需要大量硬件資源來完成工作约巷。但在平峰期系統(tǒng)所需的計(jì)算偎痛、網(wǎng)絡(luò)、存儲(chǔ)又趨于穩(wěn)定独郎,可以釋放空閑的資源踩麦。IT基礎(chǔ)設(shè)施如果有足夠彈性的能力來適應(yīng)這種大動(dòng)態(tài)的變化,既能顯著降低業(yè)務(wù)高峰期由于IT設(shè)施導(dǎo)致的效率瓶頸囚聚,又能在業(yè)務(wù)平峰期減少系統(tǒng)空轉(zhuǎn)帶來的資源浪費(fèi)靖榕。
4. ?? 全面安全性保障,平臺需要自身以及數(shù)據(jù)資產(chǎn)的安全得到完善的保障顽铸。
首先茁计,原始數(shù)據(jù)集所具有的業(yè)務(wù)含義會(huì)導(dǎo)致不同數(shù)據(jù)集需要采用的安全保護(hù)策略有顯著差異;
其次,原始數(shù)據(jù)來源和其結(jié)構(gòu)的多樣化產(chǎn)生了對原始數(shù)據(jù)存儲(chǔ)星压、處理方式的多樣化要求践剂。數(shù)據(jù)系統(tǒng)會(huì)對結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)采用不同的存儲(chǔ)形式娜膘,而且在對這些數(shù)據(jù)進(jìn)行離線或?qū)崟r(shí)處理使用的技術(shù)棧也多有不同逊脯;
另外,數(shù)據(jù)系統(tǒng)作為一個(gè)形式上的整體竣贪,實(shí)際由數(shù)據(jù)采集军洼、存儲(chǔ)計(jì)算、模型構(gòu)建演怎、數(shù)據(jù)展現(xiàn)這些基本能力組成匕争,更進(jìn)一步還要具有數(shù)據(jù)治理、任務(wù)調(diào)度監(jiān)控爷耀、資源動(dòng)態(tài)分配甘桑、服務(wù)組件運(yùn)行狀態(tài)監(jiān)控和告警等保障平臺運(yùn)營的能力。
因此數(shù)據(jù)系統(tǒng)在提供眾多復(fù)雜能力的同時(shí)歹叮,為了其每一項(xiàng)服務(wù)或功能能夠應(yīng)對來自不同場景跑杭、不同角色用戶對其接入安全性、數(shù)據(jù)安全性的考驗(yàn)咆耿,平臺需要在所有層面實(shí)行安全機(jī)制德谅,有嚴(yán)格的身份驗(yàn)證機(jī)制,能夠?qū)τ脩粜袨檫M(jìn)行追溯審計(jì)票灰,對數(shù)據(jù)的訪問范圍進(jìn)行安全管控女阀。
解決方案
數(shù)據(jù)湖早期的落地案例與Hadoop技術(shù)生態(tài)的發(fā)展息息相關(guān),可以說是共生共存屑迂,因此大量的數(shù)據(jù)湖實(shí)踐方案都是基于本地的Hadoop集群浸策。而近幾年,隨著云計(jì)算的普及和飛速發(fā)展惹盼,各家云廠商的云上數(shù)據(jù)湖方案也逐漸成熟庸汗。
兩種方案的優(yōu)缺點(diǎn)對比大致如下:
在方案選擇過程中,除上述客觀存在的挑戰(zhàn)外手报,客戶對平臺還有以下幾個(gè)方面的期待:
1. ?? 較高的敏捷性:平臺可以快速響應(yīng)業(yè)務(wù)的變化蚯舱,如新增一個(gè)項(xiàng)目或添加一個(gè)新的數(shù)據(jù)格式,在整體架構(gòu)不進(jìn)行大的變化下掩蛤,能滿足既定和突發(fā)的需求枉昏。
2. ?? 良好的靈活性:能夠盡可能的用自動(dòng)化的方式快速部署系統(tǒng),所需的測試環(huán)境能夠根據(jù)實(shí)際需要任意擴(kuò)大或縮小揍鸟,按需計(jì)費(fèi)兄裂,避免資源和成本的浪費(fèi)。
考慮到客戶的車聯(lián)網(wǎng)系統(tǒng)和車機(jī)數(shù)據(jù)已經(jīng)在公有云平臺上運(yùn)行和存儲(chǔ),公有云的安全性及其優(yōu)勢也被企業(yè)所熟知晰奖。結(jié)合客戶對數(shù)據(jù)湖平臺架構(gòu)的期望和需求谈撒,項(xiàng)目最終選擇基于AWS公有云來構(gòu)建云上數(shù)據(jù)湖平臺。
云上數(shù)據(jù)湖在IaaS方面的優(yōu)勢:
近乎無限的數(shù)據(jù)存儲(chǔ)能力和強(qiáng)大的容災(zāi)能力:雖然本地部署集群利用HDFS能夠做到近乎無限的且較為可靠的數(shù)據(jù)存儲(chǔ)匾南,但云存儲(chǔ)在可靠和無限存儲(chǔ)的同時(shí)能夠提供強(qiáng)大的同城啃匿、異地容災(zāi)能力
較低的存儲(chǔ)成本:對數(shù)據(jù)進(jìn)行冷熱度劃分,將冷數(shù)據(jù)置于歸檔存儲(chǔ)中蛆楞,而高度結(jié)構(gòu)化且經(jīng)常訪問的數(shù)據(jù)存放在高性能對象存儲(chǔ)中
計(jì)算與存儲(chǔ)分離:通過避免計(jì)算和存儲(chǔ)資源高耦合部署的方式來避免一旦擴(kuò)展存儲(chǔ)就必須擴(kuò)展計(jì)算資源溯乒,造成資源的浪費(fèi)
按需使用資源:通過實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)平臺對底層存儲(chǔ)和計(jì)算資源的需求情況,為其動(dòng)態(tài)申請或釋放存儲(chǔ)和計(jì)算資源臊岸,降低成本橙数,提高IT基礎(chǔ)設(shè)施投資回報(bào)率
?云上數(shù)據(jù)湖在PaaS和SaaS方面的優(yōu)勢:
托管的大數(shù)據(jù)基礎(chǔ)服務(wù)能力:例如,通過使用托管的(Managed Bigdata Platform Service)Hadoop帅戒、Spark、Hive崖技、Flink逻住、HBase、Kafka等開源生態(tài)存儲(chǔ)和計(jì)算服務(wù)迎献,能夠使云數(shù)據(jù)湖快速并持續(xù)穩(wěn)定地支持離線批處理瞎访、在線流處理、機(jī)器學(xué)習(xí)等場景吁恍,具備構(gòu)建數(shù)據(jù)倉庫的能力扒秸。
豐富的數(shù)據(jù)應(yīng)用能力:例如,分別一鍵部署Marketplace中的Kyligence Cloud和Tableau Server服務(wù)冀瓦,通過二者的能力結(jié)合使企業(yè)快速在數(shù)據(jù)湖之上獲得數(shù)據(jù)倉庫多維分析及數(shù)據(jù)可視化展現(xiàn)能力伴奥。
云上數(shù)據(jù)湖利用云平臺管理套件中的監(jiān)控工具、網(wǎng)絡(luò)管理翼闽、安全管理等服務(wù)的優(yōu)勢:
資源快速安裝和變更能力:能夠?qū)A(chǔ)設(shè)施拾徙、應(yīng)用程序進(jìn)行代碼化,對平臺快速創(chuàng)建或編輯感局,使IT基礎(chǔ)設(shè)施能夠快速響應(yīng)業(yè)務(wù)實(shí)際需求
完善的資源訪問策略及權(quán)限精細(xì)化控制能力:能夠?qū)aaS尼啡、PaaS、SaaS資源訪問策略和資源間共享策略進(jìn)行精細(xì)化權(quán)限控制
創(chuàng)建或修改虛擬網(wǎng)絡(luò)及管理網(wǎng)絡(luò)安全策略的能力:通過配置子網(wǎng)询微、路由表崖瞭、安全組及其規(guī)則、VPN等來實(shí)現(xiàn)安全且靈活的網(wǎng)絡(luò)策略
監(jiān)控資源和服務(wù)情況:通過在云監(jiān)控模塊中配置策略來對運(yùn)行中的資源和服務(wù)異常情況進(jìn)行記錄或告警
?最佳實(shí)踐
Kyligence 團(tuán)隊(duì)在一線長期服務(wù)客戶過程中較為了解客戶對數(shù)據(jù)的實(shí)際需求和使用場景撑毛,將積累的交付經(jīng)驗(yàn)與公司在大數(shù)據(jù)產(chǎn)品书聚、云計(jì)算產(chǎn)品研發(fā)過程中的積累相結(jié)合,以標(biāo)準(zhǔn)化方案和服務(wù)作為基礎(chǔ),結(jié)合每一個(gè)客戶的實(shí)際需求和條件做出定制寺惫,最終幫助客戶達(dá)成項(xiàng)目期望疹吃。
分層介紹
1.數(shù)據(jù)集成
我們?yōu)榭蛻舨捎脭?shù)據(jù)集成工具集(Data Integration Toolkit)+專項(xiàng)定制方案的形式進(jìn)行源數(shù)據(jù)的發(fā)現(xiàn)和集成,支持主要Raw Data類型有:
關(guān)系型數(shù)據(jù)庫的鏡像庫:包括帶時(shí)間戳西雀、有主鍵不帶時(shí)間戳萨驶、無主鍵不帶時(shí)間戳的數(shù)據(jù)。
在關(guān)系數(shù)據(jù)庫對接過程中艇肴,會(huì)根據(jù)數(shù)據(jù)庫類型腔呜、數(shù)據(jù)源質(zhì)量、數(shù)據(jù)實(shí)時(shí)性要求再悼、數(shù)據(jù)總量和變化情況等要素來形成專項(xiàng)的技術(shù)方案核畴。一些特殊場景需要客戶購買額外的專項(xiàng)定制服務(wù)或者直接采購商業(yè)化工具。此外冲九,對于AWS RDS的MySQL實(shí)例谤草,Maxwell’s daemon這樣的同步工具也很適用。
源系統(tǒng)導(dǎo)出的文件形式的離線數(shù)據(jù):比如預(yù)先定義交換協(xié)議的文件(包含數(shù)據(jù)內(nèi)容和描述信息)莺奸、Parquet格式的文件丑孩、系統(tǒng)生成的CSV格式文件等。
Toolkit在這里會(huì)創(chuàng)建一個(gè)Spark運(yùn)行環(huán)境灭贷,根據(jù)預(yù)先定義的規(guī)則校驗(yàn)數(shù)據(jù)温学。校驗(yàn)通過后將數(shù)據(jù)內(nèi)容轉(zhuǎn)換成Parquet格式文件,生成的元數(shù)據(jù)的可以轉(zhuǎn)換成Hive元數(shù)據(jù)并自動(dòng)注冊甚疟。
源系統(tǒng)通過消息隊(duì)列提供的實(shí)時(shí)數(shù)據(jù):包括Kafka仗岖、Kinesis數(shù)據(jù)源等。對外部系統(tǒng)提供的Kafka數(shù)據(jù)集成方法是览妖,將消費(fèi)者程序注冊運(yùn)行在AWS ECS中轧拄,消費(fèi)程序解析后的數(shù)據(jù)立即寫入Kinesis,通過Kinesis Firehose把數(shù)據(jù)給到S3存儲(chǔ)歸檔黄痪。此時(shí)EMR中運(yùn)行的Spark Streaming或者Flink程序可以直接讀取Kinesis Stream中的數(shù)據(jù)進(jìn)行流處理紧帕。
這樣設(shè)計(jì)的好處在于,當(dāng)外部系統(tǒng)提供的某一類型數(shù)據(jù)的源頭是多個(gè)Kafka集群時(shí)桅打,由ECS中的consumer程序作為緩沖統(tǒng)一收集數(shù)據(jù)是嗜,會(huì)減少后端側(cè)重業(yè)務(wù)邏輯處理的實(shí)時(shí)程序?qū)崿F(xiàn)和運(yùn)維的復(fù)雜度。
API數(shù)據(jù)源:通過AWS Lambda實(shí)現(xiàn)對API的調(diào)用挺尾,將獲取到的數(shù)據(jù)按照規(guī)則組裝并形成Parquet格式文件寫入S3中存儲(chǔ)鹅搪。
2. 數(shù)據(jù)存儲(chǔ)
使用AWS S3將數(shù)據(jù)分層存儲(chǔ),是為了更好的組織遭铺、管理我們的數(shù)據(jù)資產(chǎn)丽柿,讓我們的數(shù)據(jù)體系更有序恢准,使得數(shù)據(jù)有清晰的結(jié)構(gòu)、減少重復(fù)的開發(fā)甫题、提供統(tǒng)一的數(shù)據(jù)口徑馁筐,復(fù)雜的問題簡單化(拆解任務(wù),每一層處理特定的問題):
原始數(shù)據(jù)集(Raw Data):所有對象數(shù)據(jù)坠非,包括視頻敏沉、音頻等二進(jìn)制數(shù)據(jù)
有業(yè)務(wù)價(jià)值的數(shù)據(jù)(Golden Warehouse Data):離線或?qū)崟r(shí)計(jì)算結(jié)果集
直接面向分析的數(shù)據(jù)(OLAP Cube Data):Kyligence Enterprise維度建模結(jié)果集
針對部分業(yè)務(wù)價(jià)值高、或者重要度高的數(shù)據(jù)采用了版本控制進(jìn)行保護(hù)炎码。
使用AWS S3 Glacier盟迟,存儲(chǔ)價(jià)值密度低和Golden Data中的冷數(shù)據(jù),相當(dāng)一部分Raw Data和歷史久遠(yuǎn)的Golden Warehouse Data中的明細(xì)數(shù)據(jù)通過數(shù)據(jù)生命周期管理機(jī)制會(huì)被識別成冷數(shù)據(jù)潦闲,將冷數(shù)據(jù)歸檔可以顯著降低數(shù)據(jù)存儲(chǔ)的成本攒菠。
使用AWS RDS,存儲(chǔ)應(yīng)用程序的元數(shù)據(jù)(metadata)
3. 數(shù)據(jù)計(jì)算
Kyligence 團(tuán)隊(duì)使用AWS EMR作為數(shù)據(jù)處理的計(jì)算平臺歉闰,由于加工前的數(shù)據(jù)和加工后數(shù)據(jù)結(jié)果集都保存在S3存儲(chǔ)中辖众,所以平臺很自然的做到了計(jì)算與存儲(chǔ)分離。
平臺大部分時(shí)間是依賴EMR自身的監(jiān)控和策略實(shí)現(xiàn)集群規(guī)模的Auto-Scaling和敬,而當(dāng)這些策略無法滿足實(shí)際需要時(shí)赵辕,我們采用自定義策略進(jìn)行Scale Out或Scale In。而能夠做到這些的基礎(chǔ)是概龄,我們在云上數(shù)據(jù)湖用到的云資源以及定制化服務(wù),無論是創(chuàng)建饲握、啟停私杜、配置、相互集成救欧,都是通過Terraform進(jìn)行了腳本化實(shí)現(xiàn)衰粹。
針對離線批和實(shí)時(shí)流兩類場景,目前有多套數(shù)據(jù)處理Pipeline和運(yùn)用過程中需要遵循的標(biāo)準(zhǔn)與規(guī)范:
批量數(shù)據(jù)處理
使用Kettle作為ETL工具笆怠,使用Hive SQL铝耻,以Hive Job的形式提交到EMR中進(jìn)行計(jì)算
直接向EMR集群提交Spark Job。其中對于Spark SQL類型的任務(wù)蹬刷,通過定制Toolkit支持申請一次資源執(zhí)行一套腳本
流式數(shù)據(jù)處理
可以將Spark Streaming或Flink作為流處理的實(shí)現(xiàn)框架瓢捉,建議所有外部流統(tǒng)一進(jìn)入Kinesis,流處理程序會(huì)直接消費(fèi)Kinesis Stream中的數(shù)據(jù)
4.平臺安全
圍繞平臺安全的建設(shè)是持續(xù)且多方面的办成,在我們方案中泡态,保障平臺安全可以拆分成五個(gè)維度來實(shí)施,包括:
保障網(wǎng)絡(luò)的安全
保障云資源的安全
保障PaaS服務(wù)的安全(例如保障EMR中眾多應(yīng)用)
保障有Web服務(wù)的應(yīng)用的安全
保障數(shù)據(jù)的安全
針對上述每一個(gè)維度迂卢,我們又再次進(jìn)行了拆分某弦。以保障數(shù)據(jù)安全為例桐汤,我們進(jìn)一步將其拆分成保障下列過程的安全:
數(shù)據(jù)在集成過程中的安全
數(shù)據(jù)存儲(chǔ)后日常運(yùn)維過程中的安全
發(fā)現(xiàn)數(shù)據(jù)和探索數(shù)據(jù)時(shí)的安全
數(shù)據(jù)在開發(fā)和建模過程的安全
數(shù)據(jù)被下游系統(tǒng)或業(yè)務(wù)用戶使用時(shí)的安全
在實(shí)施過程中,我們主要通過以下手段來完成上述工作:1. ?? 為將云數(shù)據(jù)湖運(yùn)營中相關(guān)的安全流程與客戶現(xiàn)有流程靶壮、規(guī)定怔毛、IT系統(tǒng)相結(jié)合,我們進(jìn)行:
熟悉客戶現(xiàn)有的信息安全尤其是數(shù)據(jù)安全相關(guān)規(guī)定和流程
熟悉客戶現(xiàn)有的IT流程系統(tǒng)中有關(guān)數(shù)據(jù)安全相關(guān)的功能
2. ?? 按照四大屬性十二個(gè)角色腾降,將與數(shù)據(jù)湖有關(guān)的實(shí)體對號入座:
3. ?? 根據(jù)客戶實(shí)際情況拣度,制定平臺安全運(yùn)營核心章程,例如:
?數(shù)據(jù)集成蜂莉、數(shù)據(jù)治理蜡娶、權(quán)限管理、數(shù)據(jù)開發(fā)評審是數(shù)據(jù)湖良好運(yùn)營的基礎(chǔ)
平臺外部人員僅可以通過外部程序映穗、工具以及特定的通道訪問數(shù)據(jù)湖的功能及數(shù)據(jù)
平臺外部程序或者工具通過雙重驗(yàn)證的方式窖张、經(jīng)加密協(xié)議的方式、跳板的方式訪問數(shù)據(jù)湖平臺的功能數(shù)據(jù)
?數(shù)據(jù)開發(fā)團(tuán)隊(duì)作為平臺外部人員能夠?qū)?shù)據(jù)湖作為數(shù)據(jù)基礎(chǔ)設(shè)施使用蚁滋,可以進(jìn)行數(shù)據(jù)處理宿接、建模,但開發(fā)方式及過程管理必須遵循數(shù)據(jù)湖規(guī)定和標(biāo)準(zhǔn)
平臺外部產(chǎn)生的程序在平臺中安裝部署需要遵循DevOps流程
4. ?? 按照我們從實(shí)際經(jīng)驗(yàn)中總結(jié)的經(jīng)驗(yàn)和公有云廠商的最佳實(shí)踐指導(dǎo)辕录,借助標(biāo)準(zhǔn)的云資源安全組件和我們標(biāo)準(zhǔn)化方案中提供的產(chǎn)品或組件來進(jìn)一步完善安全配置:
在基于AWS構(gòu)建云數(shù)據(jù)湖過程中睦霎,我們在VPC、Subnet總體框架下走诞,按照角色劃分時(shí)得到的實(shí)體關(guān)系副女,配置Security Group、ACL規(guī)則控制網(wǎng)絡(luò)策略蚣旱,并使用IAM管理對云資源的訪問碑幅。
?使用AD進(jìn)行用戶和角色管理。打通外部AD和內(nèi)部AD塞绿,按照角色劃分得到的實(shí)體關(guān)系沟涨,在內(nèi)部AD中劃分角色和組,作為管理應(yīng)用權(quán)限和數(shù)據(jù)權(quán)限的基礎(chǔ)异吻。
啟用安全模式機(jī)制管理PaaS服務(wù)的安全裹赴,例如啟用EMR的Kerberos模式
使用Ranger等三方工具,通過Ranger來進(jìn)行Hive诀浪、S3訪問時(shí)的數(shù)據(jù)權(quán)限控制
其他方面
采用資源編排工具Terraform棋返,將基礎(chǔ)設(shè)施所有的操作和配置腳本化,使得復(fù)雜的云基礎(chǔ)設(shè)施部署簡單化
良好的平臺運(yùn)營監(jiān)控笋妥,通過AWS提供的監(jiān)控組件懊昨、客戶購買的第三方工具以及任務(wù)調(diào)度工具,我們能夠?qū)崿F(xiàn)對以下資源的監(jiān)控和告警:
基礎(chǔ)資源的運(yùn)營監(jiān)控
數(shù)據(jù)應(yīng)用的運(yùn)營監(jiān)控
日常數(shù)據(jù)處理程序的運(yùn)營監(jiān)控
協(xié)助客戶將云上數(shù)據(jù)湖運(yùn)營融入日常IT流程并符合相關(guān)規(guī)范春宣,包括敏捷開發(fā)和DevOps自動(dòng)化流程
項(xiàng)目價(jià)值
云數(shù)據(jù)湖平臺的成功搭建和運(yùn)營酵颁,幫助客戶進(jìn)一步強(qiáng)化了端到端利用大數(shù)據(jù)價(jià)值的能力嫉你,讓數(shù)據(jù)變現(xiàn)有了更強(qiáng)的技術(shù)平臺支撐。其最大價(jià)值在于可以幫助用戶明確數(shù)據(jù)接入躏惋、存儲(chǔ)到匯聚的全過程幽污,更加清晰地了解數(shù)據(jù)的全生命周期,有效的進(jìn)行數(shù)據(jù)拉通簿姨,解決數(shù)據(jù)孤島問題距误,有利于數(shù)據(jù)價(jià)值的探索發(fā)現(xiàn),結(jié)合著云數(shù)據(jù)湖平臺的技術(shù)架構(gòu)和運(yùn)營方式能夠隨需求實(shí)時(shí)的做出調(diào)整和優(yōu)化扁位,這也鼓勵(lì)了客戶業(yè)務(wù)部門積極利用平臺建設(shè)創(chuàng)新型業(yè)務(wù)場景准潭。
目前項(xiàng)目團(tuán)隊(duì)和客戶信息部門一起,逐步完成車聯(lián)網(wǎng)數(shù)據(jù)的積累并完善平臺+數(shù)據(jù)一體化運(yùn)營流程域仇,在流程合規(guī)刑然、數(shù)據(jù)安全的前提下,將車聯(lián)網(wǎng)數(shù)據(jù)與業(yè)務(wù)系統(tǒng)中數(shù)據(jù)相結(jié)合暇务,支撐業(yè)務(wù)部門探索更多場景泼掠。不久前,業(yè)務(wù)部門已完成首例實(shí)踐垦细,通過車機(jī)端用戶行為相關(guān)數(shù)據(jù)與內(nèi)部客戶關(guān)系數(shù)據(jù)集結(jié)合建模择镇,輔助售后服務(wù)部門更有效觸達(dá)車主需求,提高車主對隨車服務(wù)的粘性括改。
隨著數(shù)據(jù)類型及數(shù)據(jù)量的幾何式增長腻豌,數(shù)據(jù)湖很容易變成一個(gè)緩慢、僵化的數(shù)據(jù)沼澤嘱能,這在數(shù)據(jù)質(zhì)量和治理方面發(fā)出危險(xiǎn)的信號饲梭。我們需要持續(xù)優(yōu)化數(shù)據(jù),確保數(shù)據(jù)得到治理焰檩,不會(huì)任由數(shù)據(jù)處于最原始狀態(tài),將數(shù)據(jù)在語義層上保持一致订框,并且能夠滿足用戶分析需求析苫。數(shù)據(jù)治理的同時(shí)我們也要保障數(shù)據(jù)的質(zhì)量及數(shù)據(jù)的安全,這也是今后我們在云上數(shù)據(jù)湖的應(yīng)用中需要側(cè)重探索的方向穿扳。讓平臺更加智能衩侥,激活數(shù)據(jù)資源價(jià)值,提升數(shù)據(jù)應(yīng)用能力矛物。