Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Nagpuyo kami sa usa ka katingad-an nga panahon kung kanus-a nimo dali ug dali nga makonektar ang daghang mga andam nga gihimo nga bukas nga gigikanan nga mga himan, i-set up kini gamit ang imong "panimuot nga gipalong" sumala sa tambag sa stackoverflow, nga wala magsulud sa "daghang mga letra", ug paglansad. sila ngadto sa komersyal nga operasyon. Ug kung kinahanglan nimo nga i-update/palapad o adunay usa nga aksidente nga nag-reboot sa usa ka pares nga mga makina - nahibal-an nimo nga ang usa ka matang sa obsessive dili maayo nga damgo nagsugod, ang tanan nahimong labi ka komplikado nga dili mailhan, wala’y pagbalik, ang umaabot dili klaro ug mas luwas, imbes nga magprograma, magpasanay ug mga buyog ug maghimo ug keso.

Dili alang sa bisan unsa nga mas eksperyensiyado nga mga kauban, nga ang ilang mga ulo napuno sa mga bug ug busa abo na, naghunahuna sa hilabihan ka paspas nga pagdeploy sa mga pakete sa "mga sudlanan" sa "mga cubes" sa dosena nga mga server sa "fashionable nga mga pinulongan" nga adunay built-in nga suporta alang sa asynchronous non-blocking I/O, pahiyom nga makasaranganon. Ug sa hilom nagpadayon sila sa pagbasa pag-usab sa "man ps", gisusi ang "nginx" source code hangtod nga nagdugo ang ilang mga mata, ug nagsulat, nagsulat, nagsulat sa mga pagsulay sa yunit. Nahibal-an sa mga kauban nga ang labing makapaikag nga butang moabut kung "tanan kini" usa ka adlaw nga mahimong stake sa gabii sa Bisperas sa Bag-ong Tuig. Ug sila matabangan lamang sa usa ka lawom nga pagsabut sa kinaiyahan sa unix, ang gisag-ulo nga talaan sa estado sa TCP/IP ug sukaranan nga mga algorithm sa paghan-ay sa pagpangita. Aron buhion pagbalik ang sistema samtang nag-atake ang mga huni.

Oh oo, medyo nabalda ko, apan nanghinaut ko nga nahatag nako ang kahimtang sa pagpaabut.
Karon gusto nako nga ipaambit ang among kasinatian sa pag-deploy sa usa ka kombenyente ug barato nga stack alang sa DataLake, nga nagsulbad sa kadaghanan sa mga buluhaton sa analitikal sa kompanya alang sa hingpit nga lainlaing mga dibisyon sa istruktura.

Kaniadto, nahibal-an namon nga ang mga kompanya labi nga nanginahanglan sa mga bunga sa parehas nga produkto ug teknikal nga pag-analisa (wala’y labot ang pag-icing sa cake sa porma sa pagkat-on sa makina) ug aron masabtan ang mga uso ug peligro - kinahanglan namon nga kolektahon ug analisahon. nagkadaghang metrics.

Batakang teknikal nga pagtuki sa Bitrix24

Pipila ka tuig ang milabay, dungan sa paglansad sa serbisyo sa Bitrix24, aktibo kami nga namuhunan sa oras ug mga kahinguhaan sa paghimo sa usa ka yano ug kasaligan nga analitikal nga plataporma nga makatabang dayon nga makita ang mga problema sa imprastraktura ug magplano sa sunod nga lakang. Siyempre, gitambagan ang pagkuha sa andam nga mga himan nga yano ug masabtan kutob sa mahimo. Ingon usa ka sangputanan, ang nagios gipili alang sa pagmonitor ug munin alang sa analytics ug visualization. Karon kami adunay liboan ka mga tseke sa nagios, gatusan ka mga tsart sa munin, ug ang among mga kaubanan naggamit niini nga malampuson kada adlaw. Ang mga sukatan klaro, ang mga graph klaro, ang sistema nagtrabaho nga kasaligan sa daghang mga tuig ug ang mga bag-ong pagsulay ug mga graph kanunay nga gidugang niini: kung magbutang kami usa ka bag-ong serbisyo, magdugang kami daghang mga pagsulay ug mga graph. Good luck.

Tudlo sa Pulse - Advanced Technical Analytics

Ang tinguha nga makadawat og impormasyon bahin sa mga problema “sa labing madali nga panahon” mitultol kanamo ngadto sa aktibong mga eksperimento sa yano ug masabtan nga mga himan - pinba ug xhprof.

Gipadala kanamo ni Pinba ang mga istatistika sa mga pakete sa UDP bahin sa katulin sa operasyon sa mga bahin sa mga panid sa web sa PHP, ug makita namon ang online sa pagtipig sa MySQL (Ang Pinba adunay kaugalingon nga makina sa MySQL alang sa paspas nga analytics sa panghitabo) usa ka mubo nga lista sa mga problema ug pagtubag sa sila. Ug ang xhprof awtomatik nga nagtugot kanamo sa pagkolekta sa mga graph sa pagpatuman sa pinakahinay nga mga pahina sa PHP gikan sa mga kliyente ug pag-analisar kung unsa ang mahimong mosangpot niini - kalmado, pagbubo og tsa o usa ka butang nga mas lig-on.

Kaniadto, ang toolkit gipuno sa lain nga medyo yano ug masabtan nga makina base sa reverse indexing algorithm, hingpit nga gipatuman sa maalamat nga librarya sa Lucene - Elastic/Kibana. Ang yano nga ideya sa multi-threaded recording sa mga dokumento ngadto sa inverse Lucene index base sa mga panghitabo sa mga log ug ang dali nga pagpangita niini gamit ang facet division nahimong mapuslanon gayod.

Bisan pa sa medyo teknikal nga dagway sa mga visualization sa Kibana nga adunay ubos nga lebel nga mga konsepto sama sa "balde" nga "nag-agay pataas" ug ang gibag-o nga pinulongan sa wala pa hingpit nga nakalimtan nga relational algebra, ang himan nagsugod sa pagtabang kanamo og maayo sa mosunod nga mga buluhaton:

  • Pila ka mga error sa PHP ang naa sa kliyente sa Bitrix24 sa p1 portal sa miaging oras ug hain ang mga? Sabta, pasayloa ug dali sa pagtul-id.
  • Pila ka mga video call ang gihimo sa mga portal sa Germany sa miaging 24 ka oras, unsa ang kalidad ug adunay mga kalisud sa channel/network?
  • Unsa ka maayo ang pagpaandar sa sistema (ang among C extension para sa PHP), nga gihugpong gikan sa tinubdan sa pinakabag-o nga pag-update sa serbisyo ug gilukot ngadto sa mga kliyente, nagtrabaho? Aduna bay mga segfault?
  • Ang datos ba sa kustomer mohaum sa memorya sa PHP? Aduna bay bisan unsang mga sayup bahin sa pagsobra sa memorya nga gigahin sa mga proseso: "wala sa panumduman"? Pangita ug pag-neutralize.

Ania ang usa ka konkreto nga pananglitan. Bisan pa sa bug-os ug multi-level nga pagsulay, ang kliyente, nga adunay dili kaayo standard nga kaso ug nadaot nga data sa pag-input, nakadawat usa ka makalagot ug wala damha nga sayup, usa ka sirena ang gipatingog ug ang proseso sa dali nga pag-ayo niini nagsugod:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Dugang pa, gitugotan ka sa kibana nga mag-organisar mga pahibalo alang sa piho nga mga panghitabo, ug sa mubo nga panahon ang himan sa kompanya nagsugod nga gigamit sa daghang mga empleyado gikan sa lainlaing mga departamento - gikan sa suporta sa teknikal ug pag-uswag hangtod sa QA.

Ang kalihokan sa bisan unsang departamento sa sulod sa kompanya nahimo’g kombenyente sa pagsubay ug pagsukod - imbes nga mano-mano ang pag-analisar sa mga troso sa mga server, kinahanglan ra nimo nga i-set up ang mga parsing log kausa ug ipadala kini sa pagkamaunat-unat nga kumpol aron malingaw, pananglitan, paghunahuna sa kibana dashboard ang gidaghanon sa gibaligya nga duha ka ulo nga mga kuting nga giimprinta sa 3-D nga tig-imprenta sa miaging lunar nga bulan.

Basic Business Analytics

Nahibal-an sa tanan nga ang analytics sa negosyo sa mga kompanya kanunay nagsugod sa labi ka aktibo nga paggamit sa, oo, Excel. Apan ang nag-unang butang mao nga kini wala matapos didto. Ang Google Analytics nga nakabase sa cloud nagdugang usab og sugnod sa kalayo - dali ka nga naanad sa maayong mga butang.

Sa among harmoniously development nga kompanya, dinhi ug didto "mga propeta" sa mas intensive nga trabaho uban sa mas dako nga data nagsugod sa pagpakita. Ang panginahanglan alang sa mas lawom ug multifaceted nga mga taho nagsugod sa pagpakita sa kanunay, ug pinaagi sa mga paningkamot sa mga lalaki gikan sa lain-laing mga departamento, sa pipila ka mga panahon ang milabay usa ka yano ug praktikal nga solusyon giorganisar - usa ka kombinasyon sa ClickHouse ug PowerBI.

Sulod sa dugay nga panahon, kini nga flexible nga solusyon nakatabang kaayo, apan sa hinay-hinay nagsugod ang pagsabut nga ang ClickHouse dili goma ug dili mahimong bugalbugalan nga ingon niana.

Dinhi importante nga masabtan pag-ayo nga ang ClickHouse, sama sa Druid, sama sa Vertica, sama sa Amazon RedShift (nga gibase sa mga postgres), mga analytical nga makina nga gi-optimize alang sa medyo sayon ​​​​nga analytics (sums, aggregations, minimum-maximum sa column ug pipila ka posible nga pag-apil. ), tungod kay organisado para sa episyente nga pagtipig sa mga kolum sa relational nga mga lamesa, dili sama sa MySQL ug uban pang (row-oriented) nga mga database nga nailhan namo.

Sa esensya, ang ClickHouse usa lamang ka mas lapad nga "database", nga dili kaayo kombenyente nga punto-por-punto nga pagsal-ot (mao kana ang katuyoan niini, ang tanan ok), apan makapahimuot nga analytics ug usa ka hugpong sa mga makapaikag nga gamhanan nga mga gimbuhaton alang sa pagtrabaho uban sa datos. Oo, mahimo ka pa nga maghimo usa ka kumpol - apan nahibal-an nimo nga ang pagmartilyo sa mga lansang gamit ang mikroskopyo dili hingpit nga husto ug nagsugod kami pagpangita alang sa ubang mga solusyon.

Demand sa python ug analista

Ang among kompanya adunay daghang mga developer nga nagsulat og code halos kada adlaw sulod sa 10-20 ka tuig sa PHP, JavaScript, C#, C/C++, Java, Go, Rust, Python, Bash. Adunay usab daghang mga eksperyensiyado nga mga administrador sa sistema nga nakasinati labaw pa sa usa ka dili katuohan nga katalagman nga dili mohaum sa mga balaod sa estadistika (pananglitan, kung ang kadaghanan sa mga disk sa usa ka raid-10 gilaglag sa usa ka kusog nga pag-igo sa kilat). Sa ingon nga mga kahimtang, sa dugay nga panahon dili klaro kung unsa ang usa ka "analista sa python". Ang Python sama sa PHP, gamay ra ang ngalan ug gamay ra ang mga timailhan sa mga substansiya nga makapausab sa hunahuna sa source code sa tighubad. Bisan pa, samtang nagkadaghan ang mga taho sa analitikal nga gihimo, ang mga eksperyensiyado nga mga developer nagsugod nga mas masabtan ang kamahinungdanon sa pig-ot nga espesyalisasyon sa mga himan sama sa numpy, pandas, matplotlib, seaborn.
Ang mahukmanon nga papel, lagmit, gidula sa kalit nga pagkaluya sa mga empleyado gikan sa kombinasyon sa mga pulong nga "logistic regression" ug ang pagpakita sa epektibo nga pagtaho sa dagkong datos gamit ang, oo, oo, pyspark.

Ang Apache Spark, ang functional nga paradigm niini diin ang relational algebra mohaum sa hingpit, ug ang mga kapabilidad niini naghimo sa ingon nga impresyon sa mga developers nga naanad sa MySQL nga ang panginahanglan sa pagpalig-on sa mga ranggo uban sa eksperyensiyadong mga analista nahimong tin-aw sa adlaw.

Ang dugang nga mga pagsulay sa Apache Spark / Hadoop aron makuha ug kung unsa ang wala masunod sumala sa script

Bisan pa, sa wala madugay nahimo nga tin-aw nga adunay usa ka sistema nga dili husto sa Spark, o kinahanglan nga hugasan ang imong mga kamot nga mas maayo. Kung ang Hadoop / MapReduce / Lucene stack gihimo sa mga batid nga programmer, nga klaro kung imong tan-awon pag-ayo ang source code sa Java o mga ideya ni Doug Cutting sa Lucene, unya ang Spark, sa kalit, gisulat sa exotic nga pinulongan nga Scala, nga mao ang kontrobersyal kaayo gikan sa punto sa panglantaw sa pagkapraktikal ug sa pagkakaron wala nag-uswag. Ug ang regular nga pagkunhod sa mga kalkulasyon sa Spark cluster tungod sa dili makatarunganon ug dili kaayo transparent nga trabaho nga adunay alokasyon sa panumduman alang sa pagkunhod sa mga operasyon (daghang mga yawe ang moabut sa usa ka higayon) nakamugna og halo sa palibot niini sa usa ka butang nga adunay lawak nga motubo. Dugang pa, ang sitwasyon gipasamot sa daghang mga katingad-an nga bukas nga mga pantalan, temporaryo nga mga file nga nagtubo sa labing dili masabtan nga mga lugar ug usa ka impyerno sa mga dependency sa banga - nga hinungdan nga ang mga tagdumala sa sistema adunay usa ka pagbati nga nahibal-an gikan sa pagkabata: mabangis nga pagdumot (o tingali kinahanglan silang manghugas sa ilang mga kamot gamit ang sabon).

Ingon usa ka sangputanan, kami "nakalabang-buhi" sa daghang mga internal analytical nga mga proyekto nga aktibong naggamit sa Apache Spark (lakip ang Spark Streaming, Spark SQL) ug ang Hadoop ecosystem (ug uban pa). Bisan pa sa kamatuoran nga sa paglabay sa panahon nakakat-on kami sa pag-andam ug pag-monitor sa "kini" nga maayo, ug ang "kini" halos mihunong sa kalit nga pag-crash tungod sa mga pagbag-o sa kinaiya sa datos ug ang pagkawalay balanse sa uniporme nga RDD hashing, ang tinguha sa pagkuha sa usa ka butang nga andam na. , gi-update ug gipangalagad sa usa ka dapit sa panganod nga mas kusog ug mas kusog. Niining panahona nga among gisulayan nga gamiton ang andam na nga cloud assembly sa Amazon Web Services - EMR ug, pagkahuman, misulay sa pagsulbad sa mga problema gamit kini. Ang EMR mao ang Apache Spark nga giandam sa Amazon nga adunay dugang nga software gikan sa ekosistema, sama sa gitukod sa Cloudera/Hortonworks.

Ang pagtipig sa goma nga file alang sa analytics usa ka dinalian nga panginahanglan

Ang kasinatian sa "pagluto" sa Hadoop/Spark nga adunay mga paso sa lainlaing bahin sa lawas dili makawang. Ang panginahanglan sa paghimo sa usa ka us aka, barato ug kasaligan nga pagtipig sa file nga makasugakod sa mga kapakyasan sa hardware ug diin mahimo’g posible ang pagtipig sa mga file sa lainlaing mga format gikan sa lainlaing mga sistema ug paghimo mga episyente ug episyente sa oras nga mga sampol alang sa mga taho gikan sa kini nga datos klaro.

Gusto usab nako nga ang pag-update sa software niini nga plataporma dili mahimong usa ka nightmare sa Bag-ong Tuig sa pagbasa sa 20-panid nga Java nga mga pagsubay ug pag-analisar sa kilometro nga detalyado nga mga troso sa cluster gamit ang Spark History Server ug usa ka backlit nga magnifying glass. Gusto ko nga adunay usa ka yano ug transparent nga himan nga wala magkinahanglan og regular nga pag-diving sa ilawom sa hood kung ang sumbanan sa developer nga MapReduce nga hangyo mihunong sa pagpatuman kung ang pagkunhod sa data worker nawala sa panumduman tungod sa usa ka dili kaayo gipili nga gigikanan nga data partitioning algorithm.

Ang Amazon S3 ba usa ka kandidato alang sa DataLake?

Ang kasinatian sa Hadoop / MapReduce nagtudlo kanamo nga kinahanglan namon ang usa ka scalable, kasaligan nga sistema sa file ug mga scalable nga mga trabahante sa ibabaw niini, "moduol" sa datos aron dili madala ang datos sa network. Ang mga mamumuo kinahanglan nga makabasa sa datos sa lain-laing mga format, apan mas maayo nga dili magbasa sa wala kinahanglana nga impormasyon ug makahimo sa pagtipig sa datos nga abante sa mga pormat nga sayon ​​​​alang sa mga trabahante.

Sa makausa pa, ang sukaranan nga ideya. Wala'y tinguha nga "ibubo" ang dagkong datos ngadto sa usa ka cluster analytical engine, nga sa madugay o sa madali matuk-an ug kinahanglan nimo nga bungkagon kini nga dili maayo. Gusto nakong tipigan ang mga file, mga file lang, sa masabot nga pormat ug maghimo ug epektibong analytical nga mga pangutana niini gamit ang lainlain apan masabtan nga mga himan. Ug adunay mas daghang mga file sa lainlaing mga format. Ug mas maayo nga i-shard dili ang makina, apan ang gigikanan nga datos. Kinahanglan namon ang usa ka mapadako ug unibersal nga DataLake, nakahukom kami ...

Unsa kaha kung magtipig ka og mga file sa pamilyar ug ilado nga scalable cloud storage nga Amazon S3, nga dili kinahanglan nga mag-andam sa imong kaugalingon nga mga chops gikan sa Hadoop?

Klaro nga "ubos" ang personal nga datos, apan komosta ang ubang mga datos kung kuhaon naton kini didto ug "epektibo nga pagmaneho"?

Cluster-bigdata-analytics ecosystem sa Amazon Web Services - sa yano kaayo nga mga pulong

Sa paghukom sa among kasinatian sa AWS, ang Apache Hadoop / MapReduce aktibo nga gigamit didto sa dugay nga panahon ubos sa lainlaing mga sarsa, pananglitan sa serbisyo sa DataPipeline (nasina ako sa akong mga kauban, nahibal-an nila kung giunsa kini pag-andam sa husto). Dinhi nagbutang kami mga backup gikan sa lainlaing mga serbisyo gikan sa mga lamesa sa DynamoDB:
Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Ug sila kanunay nga nagdagan sa naka-embed nga Hadoop / MapReduce nga mga kumpol sama sa clockwork sa daghang mga tuig na karon. "Ibutang kini ug kalimti kini":

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Mahimo ka usab nga epektibo nga moapil sa data satanism pinaagi sa pag-set up sa Jupiter nga mga laptop sa panganod alang sa mga analista ug paggamit sa serbisyo sa AWS SageMaker aron sa pagbansay ug pag-deploy sa mga modelo sa AI sa panggubatan. Ania ang hitsura niini alang kanamo:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Ug oo, mahimo nimong makuha ang usa ka laptop alang sa imong kaugalingon o usa ka analista sa panganod ug ilakip kini sa usa ka cluster sa Hadoop/Spark, buhata ang mga kalkulasyon ug dayon ilansang ang tanan:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Talagsaon nga kombenyente alang sa indibidwal nga mga proyekto sa analitikal ug alang sa pipila malampuson namon nga gigamit ang serbisyo sa EMR alang sa dinagkong mga kalkulasyon ug pag-analisar. Unsa man ang bahin sa usa ka solusyon sa sistema alang sa DataLake, molihok ba kini? Niining higayona anaa kami sa tumoy sa paglaum ug pagkawalay paglaum ug nagpadayon sa pagpangita.

AWS Glue - hapsay nga giputos nga Apache Spark sa mga steroid

Nahibal-an nga ang AWS adunay kaugalingon nga bersyon sa stack nga "Hive / Pig / Spark". Ang papel sa Hive, i.e. Ang katalogo sa mga file ug ang ilang mga tipo sa DataLake gihimo sa serbisyo nga "Data catalog", nga wala magtago sa pagkaangay niini sa format sa Apache Hive. Kinahanglan nimong idugang ang kasayuran sa kini nga serbisyo bahin sa kung diin nahimutang ang imong mga file ug kung unsang pormat sila. Ang datos mahimong dili lamang sa s3, apan usab sa database, apan dili kana ang hilisgutan niini nga post. Ania kung giunsa ang among DataLake data directory giorganisar:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Ang mga file narehistro, maayo. Kung na-update ang mga file, maglunsad kami og mga crawler sa mano-mano o sa usa ka iskedyul, nga mag-update sa impormasyon mahitungod niini gikan sa lanaw ug maluwas kini. Dayon ang datos gikan sa lanaw mahimong maproseso ug ang mga resulta ma-upload sa usa ka dapit. Sa pinakasimple nga kaso, nag-upload usab kami sa s3. Ang pagproseso sa datos mahimo bisan asa, apan gisugyot nga imong i-configure ang pagproseso sa usa ka Apache Spark cluster gamit ang mga advanced nga kapabilidad pinaagi sa AWS Glue API. Sa tinuud, mahimo nimong makuha ang maayo nga daan ug pamilyar nga code sa python gamit ang librarya sa pyspark ug i-configure ang pagpatuman niini sa N nodes sa usa ka pungpong sa pipila nga kapasidad nga adunay pag-monitor, nga wala’y pagkalot sa mga guts sa Hadoop ug pag-drag sa mga sudlanan sa docker-moker ug pagwagtang sa mga panagbangi sa pagsalig. .

Sa makausa pa, usa ka yano nga ideya. Dili kinahanglan nga i-configure ang Apache Spark, kinahanglan nimo nga isulat ang python code alang sa pyspark, sulayi kini sa lokal sa imong desktop ug dayon ipadagan kini sa usa ka dako nga kumpol sa panganod, nga gipiho kung diin ang gigikanan nga datos ug kung asa ibutang ang resulta. Usahay kini gikinahanglan ug mapuslanon, ug ania kung giunsa nato kini pag-set up:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Busa, kung kinahanglan nimo nga kuwentahon ang usa ka butang sa usa ka kumpol sa Spark gamit ang datos sa s3, gisulat namon ang code sa python/pyspark, sulayan kini, ug maayong swerte sa panganod.

Komosta ang orkestra? Unsa kaha kung ang buluhaton nahulog ug nawala? Oo, gisugyot nga maghimo usa ka matahum nga pipeline sa istilo sa Apache Pig ug gisulayan pa namon sila, apan sa pagkakaron nakahukom kami nga gamiton ang among labi nga gipahiangay nga orkestra sa PHP ug JavaScript (Nasabtan nako, adunay cognitive dissonance, apan kini molihok, kay tuig ug walay mga sayop).

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Ang pormat sa mga file nga gitipigan sa lanaw mao ang yawe sa pasundayag

Importante kaayo nga masabtan ang duha pa ka importanteng punto. Aron ang mga pangutana sa data sa file sa linaw mapatuman sa labing madali nga panahon ug ang pasundayag dili madaot kung idugang ang bag-ong impormasyon, kinahanglan nimo:

  • Tipigi ang mga kolum sa mga file nga gilain (aron dili nimo kinahanglan nga basahon ang tanan nga mga linya aron masabtan kung unsa ang naa sa mga kolum). Alang niini among gikuha ang parquet format nga adunay compression
  • Importante kaayo ang pag-shard sa mga file ngadto sa mga folder sama sa: pinulongan, tuig, bulan, adlaw, semana. Ang mga makina nga nakasabut niini nga matang sa sharding motan-aw lamang sa gikinahanglan nga mga folder, nga walay pag-ayag sa tanang data sa usa ka laray.

Sa tinuud, niining paagiha, imong ibutang ang gigikanan nga datos sa labing episyente nga porma alang sa mga makina nga analitikal nga gibitay sa ibabaw, nga bisan sa mga sharded folder mahimo nga pilion nga mosulod ug magbasa lamang sa gikinahanglan nga mga kolum gikan sa mga file. Dili nimo kinahanglan nga "pun-on" ang datos bisan asa (ang pagtipig mobuto lang) - dayon nga maalamon nga ibutang kini sa file system sa husto nga format. Siyempre, kinahanglan nga tin-aw dinhi nga ang pagtipig sa usa ka dako nga csv file sa DataLake, nga kinahanglan una nga basahon linya sa linya sa cluster aron makuha ang mga kolum, dili kaayo maayo. Hunahunaa pag-usab ang duha ka punto sa ibabaw kung dili pa klaro kung ngano nga kini tanan nahitabo.

AWS Athena - ang jack-in-the-box

Ug unya, samtang nagmugna og usa ka linaw, sa usa ka paagi aksidenteng nakit-an namo ang Amazon Athena. Sa kalit lang nahibal-an nga pinaagi sa mabinantayon nga paghan-ay sa among dagkong mga file sa log sa mga shards sa folder sa husto nga (parquet) nga pormat sa kolum, mahimo ka nga dali nga makahimo ug labi ka kasayuran nga mga pagpili gikan kanila ug maghimo mga taho nga WALA, kung wala ang Apache Spark/Glue cluster.

Ang makina sa Athena nga gipadagan sa datos sa s3 gibase sa legendary Presto - usa ka representante sa MPP (massive parallel processing) nga pamilya sa mga pamaagi sa pagproseso sa datos, pagkuha sa datos kung asa kini nahimutang, gikan sa s3 ug Hadoop ngadto sa Cassandra ug ordinaryo nga mga text file. Kinahanglan ra nimo nga pangutan-on si Athena nga ipatuman ang usa ka pangutana sa SQL, ug dayon ang tanan "motrabaho dayon ug awtomatiko." Mahinungdanon nga timan-an nga si Athena "smart", moadto lamang kini sa gikinahanglan nga mga sharded folder ug magbasa lamang sa mga kolum nga gikinahanglan sa hangyo.

Ang pagpresyo alang sa mga hangyo sa Athena makapaikag usab. Nagbayad mi gidaghanon sa gi-scan nga datos. Mga. dili alang sa gidaghanon sa mga makina sa cluster kada minuto, apan... alang sa mga datos nga aktuwal nga gi-scan sa 100-500 ka mga makina, ang datos lamang nga gikinahanglan aron makompleto ang hangyo.

Ug pinaagi sa paghangyo lamang sa gikinahanglan nga mga kolum gikan sa husto nga sharded nga mga folder, nahimo nga ang serbisyo sa Athena nagkantidad kanamo napulo ka dolyar sa usa ka bulan. Aw, maayo, hapit libre, kung itandi sa analytics sa mga cluster!

Pinaagi sa dalan, ania kung giunsa namon gibahin ang among datos sa s3:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

Ingon usa ka sangputanan, sa mubo nga panahon, ang hingpit nga lainlaing mga departamento sa kompanya, gikan sa seguridad sa kasayuran hangtod sa analytics, nagsugod nga aktibo nga naghangyo sa Athena ug dali, sa mga segundo, nakadawat mga mapuslanon nga tubag gikan sa "dako" nga datos sa medyo taas nga mga panahon: mga bulan, tunga sa tuig, ug uban pa P.

Apan mipadayon kami ug misugod sa pag-adto sa panganod alang sa mga tubag pinaagi sa ODBC driver: usa ka analista nagsulat sa usa ka SQL pangutana sa usa ka pamilyar nga console, nga sa 100-500 ka mga makina "alang sa mga pennies" nagpadala data ngadto sa s3 ug mobalik sa usa ka tubag kasagaran sa pipila ka segundos. Komportable. Ug paspas. Dili gihapon ko makatuo.

Ingon usa ka sangputanan, nga nakahukom sa pagtipig sa datos sa s3, sa usa ka episyente nga kolumnar nga pormat ug uban ang makatarunganon nga sharding sa datos sa mga folder... nakadawat kami og DataLake ug usa ka paspas ug barato nga makina nga analytical - nga libre. Ug nahimo siyang sikat kaayo sa kompanya, tungod kay... nakasabut sa SQL ug naglihok sa mga order sa kadako nga mas paspas kaysa sa pagsugod / paghunong / pag-set up sa mga cluster. "Ug kung parehas ang resulta, nganong magbayad pa?"

Ang usa ka hangyo kang Athena ingon niini. Kung gusto, siyempre, mahimo ka nga maporma nga igo komplikado ug multi-panid nga SQL nga pangutana, pero limitahan nato ang atong kaugalingon sa yanong paggrupo. Atong tan-awon kung unsang mga tubag nga code ang naa sa kliyente pipila ka semana ang milabay sa mga log sa web server ug siguruha nga wala’y mga sayup:

Giunsa namo pag-organisar ang usa ka episyente kaayo ug barato nga DataLake ug ngano nga ingon niini

kaplag

Ang pag-agi, dili sa pag-ingon sa usa ka taas, apan masakit nga dalan, kanunay nga igo nga pagtimbang-timbang sa mga risgo ug lebel sa pagkakomplikado ug gasto sa suporta, nakakaplag kami og solusyon alang sa DataLake ug analytics nga dili mohunong sa pagpahimuot kanamo sa katulin ug gasto sa pagpanag-iya.

Nahibal-an nga ang pagtukod sa usa ka epektibo, paspas ug barato nga pag-operate sa DataLake alang sa mga panginahanglanon sa hingpit nga lainlaing mga departamento sa kompanya hingpit nga naa sa mga kapabilidad bisan sa mga eksperyensiyado nga mga developer nga wala pa nagtrabaho isip mga arkitekto ug wala mahibal-an kung giunsa ang pagdrowing og mga kwadro sa mga kwadro nga adunay mga pana ug nahibal-an ang 50 ka termino gikan sa Hadoop ecosystem.

Sa sinugdanan sa panaw, ang akong ulo nagbulag gikan sa daghang mga ihalas nga zoo sa bukas ug sirado nga software ug ang pagsabut sa palas-anon sa responsibilidad sa mga kaliwat. Pagsugod lang sa pagtukod sa imong DataLake gikan sa yano nga mga himan: nagios/munin -> elastic/kibana -> Hadoop/Spark/s3..., pagkolekta og feedback ug lawom nga pagsabot sa physics sa mga proseso nga nahitabo. Ang tanan nga komplikado ug murky - ihatag kini sa mga kaaway ug mga kakompetensya.

Kung dili nimo gusto nga moadto sa panganod ug gusto nga suportahan, i-update ug i-patch ang mga open-source nga mga proyekto, mahimo ka magtukod usa ka laraw nga parehas sa amon sa lokal, sa mga barato nga makina sa opisina nga adunay Hadoop ug Presto sa ibabaw. Ang nag-unang butang mao ang dili paghunong ug pagpadayon, pag-ihap, pagpangita alang sa yano ug tin-aw nga mga solusyon, ug ang tanan siguradong molihok! Good luck sa tanan ug magkita ta pag-usab!

Source: www.habr.com

Idugang sa usa ka comment