KÄ Google BigQuery demokratizÄja datu analÄ«zi. 1. daļa
Sveiks, Habr! Å obrÄ«d OTUS ir atvÄrta pieteikÅ”anÄs jaunai kursu straumei Datu inženieris. Gaidot kursu sÄkumu, tradicionÄli esam sagatavojuÅ”i jums interesanta materiÄla tulkojumu.
Katru dienu vairÄk nekÄ simts miljonu cilvÄku apmeklÄ Twitter, lai uzzinÄtu, kas notiek pasaulÄ un apspriestu to. Katrs tvÄ«ts un katra cita lietotÄja darbÄ«ba Ä£enerÄ notikumu, kas ir pieejams Twitter iekÅ”Äjai datu analÄ«zei. Simtiem darbinieku analizÄ un vizualizÄ Å”os datus, un viÅu pieredzes uzlaboÅ”ana ir Twitter datu platformas komandas galvenÄ prioritÄte.
MÄs uzskatÄm, ka lietotÄjiem ar plaÅ”u tehnisko prasmju klÄstu ir jÄspÄj atklÄt datus un piekļūt labi veiktspÄjÄ«giem uz SQL balstÄ«tiem analÄ«zes un vizualizÄcijas rÄ«kiem. Tas ļautu pilnÄ«gi jaunai mazÄk tehnisko lietotÄju grupai, tostarp datu analÄ«tiÄ·iem un produktu vadÄ«tÄjiem, gÅ«t ieskatu no datiem, ļaujot viÅiem labÄk izprast un izmantot Twitter iespÄjas. TÄdÄ veidÄ mÄs demokratizÄjam datu analÄ«zi pakalpojumÄ Twitter.
TÄ kÄ mÅ«su rÄ«ki un iekÅ”ÄjÄs datu analÄ«zes iespÄjas ir uzlabojuÅ”Äs, mÄs esam redzÄjuÅ”i, ka Twitter ir uzlabojies. TomÄr vÄl ir vietas uzlabojumiem. PaÅ”reizÄjiem rÄ«kiem, piemÄram, Scalding, ir nepiecieÅ”ama programmÄÅ”anas pieredze. Uz SQL balstÄ«tiem analÄ«zes rÄ«kiem, piemÄram, Presto un Vertica, ir liela mÄroga veiktspÄjas problÄmas. Mums ir arÄ« problÄma ar datu izplatÄ«Å”anu vairÄkÄs sistÄmÄs bez pastÄvÄ«gas piekļuves tiem.
PagÄjuÅ”ajÄ gadÄ mÄs paziÅojÄm jauna sadarbÄ«ba ar Google, kuras ietvaros mÄs nododam daļas no mÅ«su datu infrastruktÅ«ra pakalpojumÄ Google Cloud Platform (GCP). Esam secinÄjuÅ”i, ka Google Cloud rÄ«ki Big Datu var mums palÄ«dzÄt ar mÅ«su iniciatÄ«vÄm, lai demokratizÄtu analÄ«zi, vizualizÄciju un maŔīnmÄcÄ«Å”anos pakalpojumÄ Twitter:
BigQuery: uzÅÄmuma datu noliktava ar SQL dzinÄju Dremel, kas ir slavena ar savu Ätrumu, vienkÄrŔību un tiek galÄ ar maŔīnmÄcÄ«ba.
Datu centrs: lielu datu vizualizÄcijas rÄ«ks ar Google dokumentiem lÄ«dzÄ«gÄm sadarbÄ«bas funkcijÄm.
Å ajÄ rakstÄ jÅ«s uzzinÄsit par mÅ«su pieredzi ar Å”iem rÄ«kiem: ko mÄs darÄ«jÄm, ko mÄs uzzinÄjÄm un ko mÄs darÄ«sim tÄlÄk. Tagad mÄs koncentrÄsimies uz pakeÅ”u un interaktÄ«vo analÄ«zi. NÄkamajÄ rakstÄ mÄs apspriedÄ«sim reÄllaika analÄ«zi.
Twitter datu veikalu vÄsture
Pirms ienirt BigQuery, ir vÄrts Ä«si atstÄstÄ«t Twitter datu noliktavas vÄsturi. 2011. gadÄ Twitter datu analÄ«ze tika veikta Vertica un Hadoop. MÄs izmantojÄm Pig, lai izveidotu MapReduce Hadoop darbus. 2012. gadÄ mÄs aizstÄjÄm Pig ar Scalding, kam bija Scala API ar tÄdÄm priekÅ”rocÄ«bÄm kÄ iespÄja izveidot sarežģītus cauruļvadus un vieglu testÄÅ”anu. TomÄr daudziem datu analÄ«tiÄ·iem un produktu vadÄ«tÄjiem, kuriem bija ÄrtÄk strÄdÄt ar SQL, tÄ bija diezgan stÄva mÄcÄ«Å”anÄs lÄ«kne. Ap 2016. gadu mÄs sÄkÄm izmantot Presto kÄ SQL saskarni Hadoop datiem. Spark piedÄvÄja Python saskarni, kas padara to par labu izvÄli ad hoc datu zinÄtnei un maŔīnmÄcÄ«bai.
KopÅ” 2018. gada datu analÄ«zei un vizualizÄcijai esam izmantojuÅ”i Å”Ädus rÄ«kus:
PlaucÄÅ”ana ražoÅ”anas konveijeriem
Scalding un Spark ad hoc datu analÄ«zei un maŔīnmÄcÄ«bai
Vertica un Presto ad hoc un interaktīvai SQL analīzei
DruÄ«ds zemas interaktÄ«vas, izpÄtes un zema latentuma piekļuvei laikrindu metrikai
Tableau, Zeppelin un Pivot datu vizualizÄcijai
MÄs atklÄjÄm, ka, lai gan Å”ie rÄ«ki piedÄvÄ Ä¼oti jaudÄ«gas iespÄjas, mums bija grÅ«tÄ«bas padarÄ«t Ŕīs iespÄjas pieejamas plaÅ”Äkai Twitter auditorijai. PaplaÅ”inot savu platformu ar Google Cloud, mÄs koncentrÄjamies uz mÅ«su analÄ«tikas rÄ«ku vienkÄrÅ”oÅ”anu visam Twitter.
Google BigQuery datu noliktava
VairÄkas Twitter komandas jau ir iekļÄvuÅ”as BigQuery dažos savos ražoÅ”anas cauruļvados. Izmantojot viÅu zinÄÅ”anas, mÄs sÄkÄm novÄrtÄt BigQuery iespÄjas visos Twitter lietoÅ”anas gadÄ«jumos. MÅ«su mÄrÄ·is bija piedÄvÄt BigQuery visam uzÅÄmumam un standartizÄt un atbalstÄ«t to datu platformas rÄ«kkopÄ. Tas bija grÅ«ti daudzu iemeslu dÄļ. Mums bija jÄizstrÄdÄ infrastruktÅ«ra, lai uzticami uzÅemtu lielu datu apjomu, atbalstÄ«tu uzÅÄmuma mÄroga datu pÄrvaldÄ«bu, nodroÅ”inÄtu pareizu piekļuves kontroli un klientu privÄtumu. Mums bija arÄ« jÄizveido sistÄmas resursu pieŔķirÅ”anai, uzraudzÄ«bai un atmaksai, lai komandas varÄtu efektÄ«vi izmantot BigQuery.
2018. gada novembrÄ« mÄs izlaidÄm uzÅÄmuma BigQuery un Data Studio alfa versiju. MÄs esam piedÄvÄjuÅ”i Twitter darbiniekiem dažas no mÅ«su visbiežÄk izmantotajÄm izklÄjlapÄm ar notÄ«rÄ«tiem personas datiem. BigQuery ir izmantojuÅ”i vairÄk nekÄ 250 lietotÄju no dažÄdÄm komandÄm, tostarp inženierzinÄtÅu, finanÅ”u un mÄrketinga komandÄm. Pavisam nesen viÅi izpildÄ«ja aptuveni 8 100 pieprasÄ«jumu, apstrÄdÄjot aptuveni XNUMX PB mÄnesÄ«, neskaitot plÄnotos pieprasÄ«jumus. SaÅÄmuÅ”i ļoti pozitÄ«vas atsauksmes, mÄs nolÄmÄm virzÄ«ties uz priekÅ”u un piedÄvÄt BigQuery kÄ primÄro resursu mijiedarbÄ«bai ar datiem pakalpojumÄ Twitter.
Å eit ir mÅ«su Google BigQuery datu noliktavas arhitektÅ«ras augsta lÄ«meÅa diagramma.
MÄs kopÄjam datus no lokÄlajiem Hadoop klasteriem uz Google Cloud Storage (GCS), izmantojot iekÅ”Äjo mÄkoÅa replikatora rÄ«ku. PÄc tam mÄs izmantojam Apache Airflow, lai izveidotu cauruļvadus, kas izmanto "bq_loadĀ», lai ielÄdÄtu datus no GCS pakalpojumÄ BigQuery. MÄs izmantojam Presto, lai GCS vaicÄtu parquet vai Thrift-LZO datu kopÄm. BQ Blaster ir iekÅ”Äjs applaucÄÅ”anas rÄ«ks HDFS Vertica un Thrift-LZO datu kopu ielÄdei BigQuery.
NÄkamajÄs sadaļÄs mÄs apspriežam savu pieeju un zinÄÅ”anas par lietoÅ”anas vienkÄrŔību, veiktspÄju, datu pÄrvaldÄ«bu, sistÄmas stÄvokli un izmaksÄm.
LietoÅ”anas vienkÄrŔība
MÄs atklÄjÄm, ka lietotÄjiem bija viegli sÄkt darbu ar BigQuery, jo tam nebija nepiecieÅ”ama programmatÅ«ras instalÄÅ”ana un lietotÄji tai varÄja piekļūt, izmantojot intuitÄ«vu tÄ«mekļa saskarni. TomÄr lietotÄjiem bija jÄiepazÄ«stas ar dažÄm GCP funkcijÄm un koncepcijÄm, tostarp tÄdiem resursiem kÄ projekti, datu kopas un tabulas. MÄs esam izstrÄdÄjuÅ”i izglÄ«tojoÅ”us materiÄlus un apmÄcÄ«bas, lai palÄ«dzÄtu lietotÄjiem sÄkt darbu. IegÅ«stot pamatzinÄÅ”anas, lietotÄjiem bija viegli pÄrvietoties datu kopÄs, skatÄ«t shÄmu un tabulu datus, izpildÄ«t vienkÄrÅ”us vaicÄjumus un vizualizÄt rezultÄtus programmÄ Data Studio.
MÅ«su mÄrÄ·is datu ievadei BigQuery bija nodroÅ”inÄt netraucÄtu HDFS vai GCS datu kopu ielÄdi ar vienu klikŔķi. MÄs apsvÄrÄm MÄkoÅu komponists (pÄrvalda Airflow), taÄu nevarÄjÄm to izmantot mÅ«su domÄna ierobežotÄs koplietoÅ”anas droŔības modeļa dÄļ (vairÄk par to tÄlÄk sadaÄ¼Ä Datu pÄrvaldÄ«ba). MÄs eksperimentÄjÄm ar Google datu pÄrsÅ«tÄ«Å”anas pakalpojuma (DTS) izmantoÅ”anu, lai organizÄtu BigQuery darba slodzi. Lai gan DTS tika Ätri iestatÄ«ts, tas nebija elastÄ«gs, lai izveidotu cauruļvadus ar atkarÄ«bÄm. MÅ«su alfa laidienam esam izveidojuÅ”i savu Apache Airflow ietvaru GCE un gatavojam to darboties ražoÅ”anÄ un atbalstÄ«t vairÄk datu avotu, piemÄram, Vertica.
Lai pÄrveidotu datus par BigQuery, lietotÄji izveido vienkÄrÅ”us SQL datu cauruļvadus, izmantojot ieplÄnotos vaicÄjumus. Sarežģītiem daudzpakÄpju cauruļvadiem ar atkarÄ«bÄm mÄs plÄnojam izmantot vai nu mÅ«su paÅ”u Airflow ietvaru vai Cloud Composer kopÄ ar MÄkoÅa datu plÅ«sma.
ŠŃŠ¾ŠøŠ·Š²Š¾Š“ŠøŃŠµŠ»ŃŠ½Š¾ŃŃŃ
BigQuery ir paredzÄts vispÄrÄjas nozÄ«mes SQL vaicÄjumiem, kas apstrÄdÄ lielu datu apjomu. Tas nav paredzÄts zema latentuma un lielas caurlaidÄ«bas vaicÄjumiem, kas nepiecieÅ”ami darÄ«jumu datu bÄzei, vai ieviestai zema latentuma laikrindu analÄ«zei. Apache DruÄ«ds. Uz interaktÄ«viem analÄ«tikas vaicÄjumiem mÅ«su lietotÄji sagaida, ka atbildes laiks ir mazÄks par vienu minÅ«ti. Mums bija jÄizstrÄdÄ BigQuery izmantoÅ”ana, lai tas atbilstu Ŕīm cerÄ«bÄm. Lai nodroÅ”inÄtu lietotÄjiem paredzamu veiktspÄju, mÄs izmantojÄm BigQuery funkcionalitÄti, kas klientiem ir pieejama par fiksÄtu maksu, kas ļauj projektu Ä«paÅ”niekiem rezervÄt minimÄlÄs vietas saviem vaicÄjumiem. Slots BigQuery ir skaitļoÅ”anas jaudas vienÄ«ba, kas nepiecieÅ”ama SQL vaicÄjumu izpildei.
MÄs analizÄjÄm vairÄk nekÄ 800 vaicÄjumus, kas apstrÄdÄ aptuveni 1 TB datu katrÄ, un konstatÄjÄm, ka vidÄjais izpildes laiks bija 30 sekundes. MÄs arÄ« uzzinÄjÄm, ka veiktspÄja ir ļoti atkarÄ«ga no mÅ«su slota izmantoÅ”anas dažÄdos projektos un uzdevumos. Mums bija skaidri jÄnorÄda mÅ«su ražoÅ”anas un ad hoc laika niÅ”u rezerves, lai saglabÄtu veiktspÄju ražoÅ”anas izmantoÅ”anas gadÄ«jumiem un tieÅ”saistes analÄ«zei. Tas lielÄ mÄrÄ ietekmÄja mÅ«su laika niÅ”u rezervÄciju un projektu hierarhiju.
Par datu pÄrvaldÄ«bu, funkcionalitÄti un sistÄmu izmaksÄm runÄsim turpmÄkajÄs dienÄs tulkojuma otrajÄ daļÄ, bet tagad aicinÄm visus bezmaksas tieÅ”saistes vebinÄrs, kuras laikÄ varÄsiet detalizÄti uzzinÄt par kursu, kÄ arÄ« uzdot jautÄjumus mÅ«su ekspertam - Egoram MateÅ”ukam (MaximaTelecom vecÄkais datu inženieris).