Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

A n gbe ni akoko iyalẹnu nigbati o le ni iyara ati irọrun sopọ ọpọlọpọ awọn irinṣẹ ṣiṣi ti o ti ṣetan, tunto wọn pẹlu “aiji rẹ ti o wa ni pipa” ni ibamu si imọran ti akopọ, laisi lilọ sinu “awọn lẹta pupọ”, ki o ṣe ifilọlẹ wọn. sinu iṣẹ iṣowo. Ati pe nigbati o ba nilo lati ṣe imudojuiwọn / faagun tabi ẹnikan lairotẹlẹ tun atunbere awọn ẹrọ meji kan - o rii pe iru ala buburu ti o buruju ti bẹrẹ, ohun gbogbo ti di idiju iyalẹnu ju idanimọ lọ, ko si iyipada pada, ọjọ iwaju jẹ aiduro ati ailewu, dipo siseto, ajọbi oyin ati ki o ṣe warankasi.

Kii ṣe fun ohunkohun pe awọn ẹlẹgbẹ ti o ni iriri diẹ sii, pẹlu awọn ori wọn ti ṣan pẹlu awọn idun ati nitori naa tẹlẹ grẹy, ni ero imuṣiṣẹ iyara ti iyalẹnu ti awọn akopọ ti “awọn apoti” ni “awọn onigun” lori awọn dosinni ti awọn olupin ni “awọn ede aṣa” pẹlu atilẹyin ti a ṣe sinu fun asynchronous ti kii ṣe idinamọ I/O, rẹrin musẹ ni iwọntunwọnsi. Ati pe wọn ni idakẹjẹ tẹsiwaju lati tun ka “eniyan ps”, wọ inu koodu orisun “nginx” titi ti oju wọn yoo fi jẹ ẹjẹ, ati kọ, kọ, kọ awọn idanwo ẹyọkan. Awọn ẹlẹgbẹ mọ pe ohun ti o nifẹ julọ yoo wa nigbati “gbogbo eyi” ni ọjọ kan di igi ni alẹ ni Efa Ọdun Titun. Ati pe wọn yoo ṣe iranlọwọ nikan nipasẹ oye ti o jinlẹ ti iseda ti unix, tabili ipinlẹ TCP/IP ti o ti ranti ati awọn algoridimu tito-ṣawari ipilẹ. Lati mu eto naa pada si igbesi aye bi awọn chimes kọlu.

Bẹẹni, Mo ni idamu diẹ, ṣugbọn Mo nireti pe MO ṣakoso lati sọ ipo ifojusona.
Loni Mo fẹ lati pin iriri wa ni gbigbe akopọ irọrun ati ilamẹjọ fun DataLake, eyiti o yanju pupọ julọ awọn iṣẹ ṣiṣe itupalẹ ni ile-iṣẹ fun awọn ipin igbekale ti o yatọ patapata.

Ni akoko diẹ sẹhin, a wa si oye pe awọn ile-iṣẹ nilo awọn eso ti ọja mejeeji ati awọn atupale imọ-ẹrọ (kii ṣe darukọ icing lori akara oyinbo ni irisi ẹkọ ẹrọ) ati lati loye awọn aṣa ati awọn eewu - a nilo lati gba ati itupalẹ siwaju ati siwaju sii awọn metiriki.

Awọn atupale imọ-ẹrọ ipilẹ ni Bitrix24

Ni ọpọlọpọ ọdun sẹyin, nigbakanna pẹlu ifilọlẹ iṣẹ Bitrix24, a ṣe idoko-owo ni akoko ati awọn orisun ni ṣiṣeda ipilẹ ti o rọrun ati igbẹkẹle ti yoo ṣe iranlọwọ ni iyara wo awọn iṣoro ni awọn amayederun ati gbero igbesẹ ti n tẹle. Nitoribẹẹ, o ni imọran lati mu awọn irinṣẹ ti a ti ṣetan ti o rọrun ati oye bi o ti ṣee. Bi abajade, a yan nagios fun ibojuwo ati munin fun awọn atupale ati iworan. Bayi a ni egbegberun awọn sọwedowo ni nagios, awọn ọgọọgọrun ti awọn shatti ni munin, ati pe awọn ẹlẹgbẹ wa lo wọn ni aṣeyọri lojoojumọ. Awọn metiriki jẹ kedere, awọn aworan jẹ kedere, eto naa ti n ṣiṣẹ ni igbẹkẹle fun awọn ọdun pupọ ati awọn idanwo tuntun ati awọn aworan ti wa ni afikun nigbagbogbo: nigba ti a ba fi iṣẹ tuntun ṣiṣẹ, a ṣafikun ọpọlọpọ awọn idanwo ati awọn aworan. Orire daada.

Ika lori Pulse - Awọn atupale Imọ-ẹrọ To ti ni ilọsiwaju

Ifẹ lati gba alaye nipa awọn iṣoro “ni yarayara bi o ti ṣee” mu wa si awọn idanwo ti nṣiṣe lọwọ pẹlu awọn irinṣẹ ti o rọrun ati oye - pinba ati xhprof.

Pinba firanṣẹ awọn iṣiro wa ni awọn apo-iwe UDP nipa iyara iṣẹ ti awọn apakan ti awọn oju-iwe wẹẹbu ni PHP, ati pe a le rii lori ayelujara ni ibi ipamọ MySQL (Pinba wa pẹlu ẹrọ MySQL tirẹ fun awọn itupalẹ iṣẹlẹ iyara) atokọ kukuru ti awọn iṣoro ati dahun si wọn. Ati xhprof laifọwọyi gba wa laaye lati gba awọn aworan ti ipaniyan ti awọn oju-iwe PHP ti o lọra lati ọdọ awọn alabara ati ṣe itupalẹ kini o le ja si eyi - ni idakẹjẹ, tii tii tabi nkan ti o lagbara.

Ni akoko diẹ sẹyin, ohun elo irinṣẹ jẹ afikun pẹlu ẹrọ irọrun ti o rọrun ati oye ti o da lori algorithm itọka yiyipada, imuse ni pipe ni ile-ikawe arosọ Lucene - Elastic/Kibana. Imọran ti o rọrun ti gbigbasilẹ ọpọlọpọ-asapo ti awọn iwe aṣẹ sinu atọka Lucene onidakeji ti o da lori awọn iṣẹlẹ ninu awọn akọọlẹ ati wiwa iyara nipasẹ wọn ni lilo pipin facet ti jade lati wulo gaan.

Laibikita irisi imọ-ẹrọ ti awọn iwoye ni Kibana pẹlu awọn imọran ipele kekere bi “garawa” “nṣàn si oke” ati ede ti a tun ṣe ti algebra ibatan ti a ko ti gbagbe patapata, ohun elo naa bẹrẹ lati ṣe iranlọwọ fun wa daradara ni awọn iṣẹ ṣiṣe atẹle:

  • Awọn aṣiṣe PHP melo ni alabara Bitrix24 ni lori ọna abawọle p1 ni wakati to kẹhin ati awọn wo? Loye, dariji ati ṣe atunṣe ni kiakia.
  • Awọn ipe fidio melo ni a ṣe lori awọn ọna abawọle ni Germany ni awọn wakati 24 tẹlẹ, pẹlu didara wo ati awọn iṣoro eyikeyi wa pẹlu ikanni/nẹtiwọọki?
  • Bawo ni iṣẹ ṣiṣe eto ṣe dara (itẹsiwaju C wa fun PHP), ti a ṣajọpọ lati orisun ni imudojuiwọn iṣẹ tuntun ati yiyi si awọn alabara, ṣiṣẹ? Segfaults wa bi?
  • Ṣe data alabara dada sinu iranti PHP? Ṣe awọn aṣiṣe eyikeyi wa nipa gbigbeju iranti ti a pin si awọn ilana: “kuro ninu iranti”? Wa ati yomi.

Eyi ni a nja apẹẹrẹ. Laibikita idanwo kikun ati ipele pupọ, alabara, pẹlu ọran ti kii ṣe deede ati data titẹ sii ti bajẹ, gba aṣiṣe didanubi ati airotẹlẹ, siren kan dun ati ilana ti tunṣe ni kiakia bẹrẹ:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Ni afikun, kibana gba ọ laaye lati ṣeto awọn iwifunni fun awọn iṣẹlẹ pato, ati ni akoko kukuru kan ọpa ti ile-iṣẹ bẹrẹ lati lo nipasẹ awọn dosinni ti awọn oṣiṣẹ lati awọn ẹka oriṣiriṣi - lati atilẹyin imọ-ẹrọ ati idagbasoke si QA.

Iṣẹ-ṣiṣe ti eyikeyi ẹka laarin ile-iṣẹ ti di irọrun lati tọpa ati wiwọn - dipo ṣiṣe itupalẹ ọwọ lori awọn olupin, o kan nilo lati ṣeto awọn iwe-itumọ ni ẹẹkan ki o firanṣẹ si iṣupọ rirọ lati gbadun, fun apẹẹrẹ, ronu ninu kibana. Dasibodu nọmba ti ta awọn ọmọ oloke meji ti a tẹjade lori itẹwe 3-D fun oṣu oṣupa to kọja.

Ipilẹ Business atupale

Gbogbo eniyan mọ pe awọn atupale iṣowo ni awọn ile-iṣẹ nigbagbogbo bẹrẹ pẹlu lilo ti nṣiṣe lọwọ pupọ ti, bẹẹni, Tayo. Ṣugbọn ohun akọkọ ni pe ko pari nibẹ. Awọn atupale Google ti o da lori awọsanma tun ṣafikun epo si ina - o yara bẹrẹ lati lo si nkan ti o dara.

Ninu ile-iṣẹ idagbasoke isokan wa, nibi ati nibẹ “awọn woli” ti iṣẹ aladanla diẹ sii pẹlu data nla bẹrẹ si han. Iwulo fun diẹ sii ni-ijinle ati awọn ijabọ multifaceted bẹrẹ si han nigbagbogbo, ati nipasẹ awọn igbiyanju ti awọn eniyan lati awọn ẹka oriṣiriṣi, ni akoko diẹ sẹhin ti ṣeto ojutu ti o rọrun ati ilowo - apapo ClickHouse ati PowerBI.

Fun igba pipẹ, ojutu irọrun yii ṣe iranlọwọ pupọ, ṣugbọn ni kutukutu oye bẹrẹ lati wa pe ClickHouse kii ṣe roba ati pe ko le ṣe ẹlẹyà bii iyẹn.

Nibi o ṣe pataki lati ni oye daradara pe ClickHouse, bii Druid, bii Vertica, bii Amazon RedShift (eyiti o da lori postgres), jẹ awọn ẹrọ itupalẹ iṣapeye fun awọn atupale irọrun ti o rọrun (awọn akopọ, awọn akopọ, o pọju-o pọju nipasẹ ọwọn ati awọn idapọpọ diẹ ti o ṣeeṣe. ), nitori ṣeto fun ibi ipamọ daradara ti awọn ọwọn ti awọn tabili ibatan, ko dabi MySQL ati awọn apoti isura data miiran (ila-ila) ti a mọ si wa.

Ni pataki, ClickHouse jẹ “ipamọ data” ti o ni agbara diẹ sii, pẹlu fifi sii aaye-si-ojuami ti ko rọrun pupọ (iyẹn bi o ti pinnu, ohun gbogbo dara), ṣugbọn awọn atupale idunnu ati ṣeto awọn iṣẹ agbara ti o nifẹ fun ṣiṣẹ pẹlu data. Bẹẹni, o le paapaa ṣẹda iṣupọ kan - ṣugbọn o loye pe didi eekanna pẹlu maikirosikopu kii ṣe deede ati pe a bẹrẹ lati wa awọn solusan miiran.

Ibeere fun Python ati awọn atunnkanka

Ile-iṣẹ wa ni ọpọlọpọ awọn olupilẹṣẹ ti o kọ koodu ni gbogbo ọjọ fun awọn ọdun 10-20 ni PHP, JavaScript, C #, C / C ++, Java, Go, Rust, Python, Bash. Nibẹ ni o wa tun ọpọlọpọ awọn RÍ eto alámùójútó ti o ti kari diẹ ẹ sii ju ọkan Egba alaragbayida ajalu ti ko ba wo dada sinu awọn ofin ti statistiki (fun apẹẹrẹ, nigbati awọn opolopo ninu disks ni a igbogun ti-10 ti wa ni run nipa kan to lagbara idasesile). Ni iru awọn ipo bẹẹ, fun igba pipẹ ko ṣe kedere kini “oluyanju Python” jẹ. Python dabi PHP, orukọ nikan ni o gun diẹ ati pe awọn itọpa diẹ wa ti awọn nkan ti o yipada ni koodu orisun onitumọ. Sibẹsibẹ, bi siwaju ati siwaju sii analitikali iroyin won da, RÍ Difelopa bẹrẹ lati increasingly ni oye pataki ti dín pataki ni irinṣẹ bi numpy, pandas, matplotlib, seaborn.
Ipa ti o ṣe pataki, o ṣeese, ni a ti mu ṣiṣẹ nipasẹ ailewu lojiji ti awọn oṣiṣẹ lati apapo awọn ọrọ "ipadasẹhin ohun elo" ati ifihan ti ijabọ ti o munadoko lori data nla nipa lilo, bẹẹni, bẹẹni, pyspark.

Apache Spark, apẹrẹ iṣẹ rẹ lori eyiti algebra ibatan ṣe deede, ati awọn agbara rẹ ṣe iru iwunilori lori awọn olupilẹṣẹ ti saba si MySQL pe iwulo lati mu awọn ipo lagbara pẹlu awọn atunnkanka ti o ni iriri di mimọ bi ọjọ.

Awọn igbiyanju siwaju sii ti Apache Spark/Hadoop lati mu kuro ati ohun ti ko lọ ni ibamu si iwe afọwọkọ naa

Bibẹẹkọ, laipẹ o han gbangba pe ohunkan ko tọ ni eto pẹlu Spark, tabi o rọrun lati wẹ ọwọ rẹ dara julọ. Ti o ba jẹ pe akopọ Hadoop/MapReduce/Lucene ni a ṣe nipasẹ awọn olutọpa ti o ni iriri ti o ni iriri, eyiti o han gbangba ti o ba wo ni pẹkipẹki koodu orisun ni Java tabi awọn imọran Doug Cutting ni Lucene, lẹhinna Spark, lojiji, ni kikọ ni ede nla Scala, eyiti o jẹ ariyanjiyan pupọ lati oju-ọna ti ilowo ati lọwọlọwọ ko ni idagbasoke. Ati idinku deede ni awọn iṣiro lori iṣupọ Spark nitori ilogbon ati kii ṣe iṣẹ ṣiṣafihan pupọ pẹlu ipin iranti fun idinku awọn iṣẹ ṣiṣe (ọpọlọpọ awọn bọtini de ni ẹẹkan) ti ṣẹda halo ni ayika rẹ ti nkan ti o ni aaye lati dagba. Ni afikun, ipo naa buru si nipasẹ nọmba nla ti awọn ebute oko oju omi ṣiṣi ajeji, awọn faili igba diẹ ti o dagba ni awọn aaye ti ko ni oye ati apaadi ti awọn igbẹkẹle idẹ - eyiti o fa ki awọn oludari eto ni rilara kan ti o mọ daradara lati igba ewe: ikorira lile (tabi boya wọ́n ní láti fọ ọwọ́ wọn pẹ̀lú ọṣẹ).

Bi abajade, a ti “laaye” ọpọlọpọ awọn iṣẹ akanṣe ti inu inu ti o lo Apache Spark (pẹlu Spark Streaming, Spark SQL) ati ilolupo Hadoop (ati bẹbẹ lọ ati bẹbẹ lọ). Bíótilẹ o daju wipe lori akoko a kẹkọọ lati mura ati ki o bojuto "o" oyimbo daradara, ati "o" Oba duro lojiji crashing nitori awọn ayipada ninu awọn iseda ti awọn data ati awọn aiṣedeede ti aṣọ RDD hashing, awọn ifẹ lati mu ohun ti o ti ṣetan. , imudojuiwọn ati iṣakoso ni ibikan ninu awọsanma dagba sii ati okun sii. O jẹ ni akoko yii pe a gbiyanju lati lo apejọ awọsanma ti a ti ṣetan ti Awọn iṣẹ wẹẹbu Amazon - EMR ati, lẹhinna, gbiyanju lati yanju awọn iṣoro nipa lilo rẹ. EMR jẹ Apache Spark ti a pese silẹ nipasẹ Amazon pẹlu sọfitiwia afikun lati ilolupo eda, pupọ bii Cloudera/Hortonworks kọ.

Ibi ipamọ faili roba fun awọn atupale jẹ iwulo iyara

Iriri ti “sise” Hadoop/Spark pẹlu awọn gbigbona si awọn ẹya pupọ ti ara ko jẹ asan. Iwulo lati ṣẹda ẹyọkan, ilamẹjọ ati ibi ipamọ faili ti o gbẹkẹle ti yoo jẹ sooro si awọn ikuna ohun elo ati ninu eyiti yoo ṣee ṣe lati tọju awọn faili ni awọn ọna kika oriṣiriṣi lati awọn ọna ṣiṣe oriṣiriṣi ati ṣe awọn apẹẹrẹ ti o munadoko ati akoko fun awọn ijabọ lati inu data yii di pupọ sii. ko o.

Mo tun fẹ pe mimu dojuiwọn sọfitiwia ti pẹpẹ yii ko yipada si alaburuku Ọdun Tuntun pẹlu kika awọn itọpa oju-iwe 20 Java ati itupalẹ awọn iwe alaye gigun-kilometer ti iṣupọ nipa lilo Olupin Itan Spark ati gilaasi imudara ẹhin. Mo fẹ lati ni ohun elo ti o rọrun ati sihin ti ko nilo omiwẹ deede labẹ hood ti o ba jẹ pe ibeere MapReduce ti olupilẹṣẹ da duro ni ṣiṣe nigbati oṣiṣẹ data ti o dinku ṣubu kuro ni iranti nitori yiyan algorithm ipin data orisun ti ko yan daradara.

Njẹ Amazon S3 jẹ oludije fun DataLake?

Iriri pẹlu Hadoop / MapReduce kọ wa pe a nilo iwọn, eto faili ti o gbẹkẹle ati awọn oṣiṣẹ iwọn lori oke rẹ, “nbọ” sunmọ data naa ki o má ba wakọ data lori nẹtiwọọki naa. Awọn oṣiṣẹ yẹ ki o ni anfani lati ka data ni awọn ọna kika oriṣiriṣi, ṣugbọn pelu ko ka alaye ti ko wulo ati ni anfani lati tọju data ni ilosiwaju ni awọn ọna kika ti o rọrun fun awọn oṣiṣẹ.

Lekan si, awọn ipilẹ agutan. Ko si ifẹ lati “tu” data nla sinu ẹrọ itupalẹ iṣupọ ẹyọkan, eyiti yoo pẹ tabi ya fun gige ati pe iwọ yoo ni lati fọ o buru. Mo fẹ lati tọju awọn faili, awọn faili nikan, ni ọna kika oye ati ṣe awọn ibeere itupalẹ ti o munadoko lori wọn ni lilo oriṣiriṣi ṣugbọn awọn irinṣẹ oye. Ati pe awọn faili yoo wa siwaju ati siwaju sii ni awọn ọna kika oriṣiriṣi. Ati pe o dara lati shard kii ṣe ẹrọ, ṣugbọn data orisun. A nilo ohun extensible ati gbogbo DataLake, a pinnu ...

Kini ti o ba tọju awọn faili ni ibi ipamọ awọsanma ti o ni imọra ati ti o mọ daradara ti iwọn Amazon S3, laisi nini lati ṣeto awọn gige tirẹ lati Hadoop?

O han gbangba pe data ti ara ẹni jẹ "kekere", ṣugbọn kini nipa data miiran ti a ba mu jade nibẹ ati "wakọ rẹ daradara"?

Cluster-bigdata-analytics ilolupo ti Awọn iṣẹ Ayelujara ti Amazon - ni awọn ọrọ ti o rọrun pupọ

Ni idajọ nipasẹ iriri wa pẹlu AWS, Apache Hadoop/MapReduce ti lo ni itara nibẹ fun igba pipẹ labẹ ọpọlọpọ awọn obe, fun apẹẹrẹ ninu iṣẹ DataPipeline (Mo ṣe ilara awọn ẹlẹgbẹ mi, wọn kọ bi wọn ṣe le murasilẹ daradara). Nibi a ṣeto awọn afẹyinti lati awọn iṣẹ oriṣiriṣi lati awọn tabili DynamoDB:
Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Ati pe wọn ti nṣiṣẹ nigbagbogbo lori Hadoop ti a fi sii / MapDinku awọn iṣupọ bii iṣẹ aago fun ọdun pupọ ni bayi. "Ṣeto ki o gbagbe rẹ":

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

O tun le ṣe adaṣe ni imunadoko ni satan data nipa siseto awọn kọnputa agbeka Jupiter ninu awọsanma fun awọn atunnkanka ati lilo iṣẹ AWS SageMaker lati ṣe ikẹkọ ati mu awọn awoṣe AI lọ si ogun. Eyi ni ohun ti o dabi fun wa:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Ati bẹẹni, o le gbe kọǹpútà alágbèéká kan fun ararẹ tabi oluyanju ninu awọsanma ki o so mọ iṣupọ Hadoop/Spark, ṣe awọn iṣiro naa lẹhinna kan ohun gbogbo si isalẹ:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Rọrun gaan fun awọn iṣẹ akanṣe itupalẹ olukuluku ati fun diẹ ninu a ti lo iṣẹ EMR ni aṣeyọri fun awọn iṣiro iwọn-nla ati awọn itupalẹ. Kini nipa ojutu eto fun DataLake, yoo ṣiṣẹ bi? Ni akoko yii a wa ni etibebe ireti ati aibalẹ ati tẹsiwaju wiwa naa.

AWS Glue - Apache Spark ti o ṣajọpọ daradara lori awọn sitẹriọdu

O wa jade pe AWS ni ẹya tirẹ ti akopọ “Hive/Pig/Spark”. Awọn ipa ti Hive, i.e. Katalogi ti awọn faili ati awọn oriṣi wọn ni DataLake ni a ṣe nipasẹ iṣẹ “katalogi data”, eyiti ko tọju ibaramu rẹ pẹlu ọna kika Apache Hive. O nilo lati ṣafikun alaye si iṣẹ yii nipa ibiti awọn faili rẹ wa ati ni ọna kika wo ni wọn wa. Awọn data le jẹ ko nikan ni s3, sugbon tun ni awọn database, sugbon ti o ni ko koko ti yi post. Eyi ni bii itọsọna data DataLake wa ṣe ṣeto:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Awọn faili ti wa ni aami-, nla. Ti awọn faili ba ti ni imudojuiwọn, a ṣe ifilọlẹ awọn crawlers boya pẹlu ọwọ tabi lori iṣeto kan, eyiti yoo ṣe imudojuiwọn alaye nipa wọn lati adagun naa ki o fipamọ wọn. Lẹhinna data lati inu adagun naa le ni ilọsiwaju ati gbejade awọn abajade si ibikan. Ninu ọran ti o rọrun julọ, a tun gbe si s3. Ṣiṣẹda data le ṣee ṣe nibikibi, ṣugbọn o daba pe ki o tunto sisẹ naa lori iṣupọ Apache Spark nipa lilo awọn agbara ilọsiwaju nipasẹ AWS Glue API. Ni otitọ, o le mu koodu atijọ ti o dara ati faramọ ni lilo ile-ikawe pyspark ki o tunto ipaniyan rẹ lori awọn apa N ti iṣupọ ti agbara diẹ pẹlu ibojuwo, laisi wiwa sinu ikun ti Hadoop ati fifa awọn apoti docker-moker ati imukuro awọn ija igbẹkẹle .

Lekan si, imọran ti o rọrun. Ko si iwulo lati tunto Apache Spark, o kan nilo lati kọ koodu Python fun pyspark, ṣe idanwo ni agbegbe lori tabili tabili rẹ lẹhinna ṣiṣẹ lori iṣupọ nla kan ninu awọsanma, ṣafihan ibiti data orisun wa ati ibiti o ti fi abajade naa. Nigba miiran eyi jẹ pataki ati iwulo, ati pe eyi ni bii a ṣe ṣeto rẹ:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Nitorinaa, ti o ba nilo lati ṣe iṣiro nkan kan lori iṣupọ Spark nipa lilo data ni s3, a kọ koodu ni Python/pyspark, ṣe idanwo rẹ, ati orire ti o dara si awọsanma.

Ohun ti nipa awọn orchestration? Kini ti iṣẹ-ṣiṣe ba ṣubu ti o sọnu? Bẹẹni, o ti wa ni dabaa lati ṣe kan lẹwa opo gigun ti epo ni Apache Pig ara ati awọn ti a ani gbiyanju wọn, ṣugbọn fun awọn bayi a pinnu lati lo wa jinna ti adani orchestration ni PHP ati JavaScript (Mo ye, nibẹ ni imo dissonance, sugbon o ṣiṣẹ, fun). ọdun ati laisi awọn aṣiṣe).

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Ọna kika awọn faili ti o fipamọ sinu adagun jẹ bọtini si iṣẹ ṣiṣe

O ṣe pataki pupọ, pataki pupọ lati ni oye awọn aaye pataki meji diẹ sii. Ni ibere fun awọn ibeere lori data faili ni adagun lati ṣiṣẹ ni yarayara bi o ti ṣee ṣe ati iṣẹ lati ma dinku nigbati alaye tuntun ba ṣafikun, o nilo lati:

  • Tọju awọn ọwọn ti awọn faili lọtọ (ki o ko ni lati ka gbogbo awọn laini lati ni oye kini ohun ti o wa ninu awọn ọwọn). Fun eyi a mu ọna kika parquet pẹlu funmorawon
  • O ṣe pataki pupọ lati ṣaja awọn faili sinu awọn folda bii: ede, ọdun, oṣu, ọjọ, ọsẹ. Awọn ẹrọ ti o loye iru sharding yii yoo wo awọn folda pataki nikan, laisi sisọ gbogbo data ni ọna kan.

Ni pataki, ni ọna yii, o gbe data orisun silẹ ni ọna ti o munadoko julọ fun awọn ẹrọ itupalẹ ti o wa ni oke, eyiti paapaa ninu awọn folda ti a ṣoki le yan tẹ ati ka awọn ọwọn pataki nikan lati awọn faili. O ko nilo lati “kun” data naa nibikibi (ibi ipamọ naa yoo ti nwaye nirọrun) - lẹsẹkẹsẹ fi ọgbọn fi sii sinu eto faili ni ọna kika to pe. Nitoribẹẹ, o yẹ ki o han gbangba nihin pe titoju faili csv nla kan ni DataLake, eyiti o gbọdọ kọkọ ka laini laini nipasẹ iṣupọ lati le jade awọn ọwọn, ko ni imọran pupọ. Ronu nipa awọn aaye meji ti o wa loke lẹẹkansi ti ko ba iti han idi ti gbogbo eyi n ṣẹlẹ.

AWS Athena - Jack-ni-apoti

Ati lẹhinna, lakoko ṣiṣẹda adagun kan, a bakan lairotẹlẹ wa kọja Amazon Athena. Lojiji o wa jade pe nipa ṣiṣeto ni pẹkipẹki awọn faili log nla wa sinu awọn shards folda ni ọna kika iwe ti o pe (parquet), o le yarayara ṣe awọn yiyan alaye pupọ lati ọdọ wọn ki o kọ awọn ijabọ LAISI, laisi iṣupọ Apache Spark/Glue.

Ẹrọ Athena ti o ni agbara nipasẹ data ni s3 da lori arosọ Ya - asoju ti MPP (lowo ni afiwe processing) ebi ti yonuso si data processing, mu data ibi ti o wa da, lati s3 ati Hadoop to Cassandra ati arinrin ọrọ awọn faili. O kan nilo lati beere lọwọ Athena lati ṣiṣẹ ibeere SQL kan, lẹhinna ohun gbogbo “ṣiṣẹ ni iyara ati ni adaṣe.” O ṣe pataki lati ṣe akiyesi pe Athena jẹ “ọlọgbọn”, o lọ nikan si awọn folda sharded pataki ati ka awọn ọwọn nikan ti o nilo ninu ibeere naa.

Idiyele fun awọn ibeere si Athena tun jẹ iyanilenu. A sanwo fun iwọn didun ti ṣayẹwo data. Awon. kii ṣe fun nọmba awọn ẹrọ ti o wa ninu iṣupọ fun iṣẹju kan, ṣugbọn… fun data ti ṣayẹwo gangan lori awọn ẹrọ 100-500, nikan data pataki lati pari ibeere naa.

Ati nipa bibeere nikan awọn ọwọn pataki lati awọn folda ti o pin ni deede, o wa ni pe iṣẹ Athena n gba wa ni mewa ti dọla ni oṣu kan. O dara, nla, o fẹrẹ jẹ ọfẹ, ni akawe si awọn atupale lori awọn iṣupọ!

Nipa ọna, eyi ni bii a ṣe pin data wa ni s3:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

Bi abajade, ni akoko kukuru, awọn ẹka ti o yatọ patapata ni ile-iṣẹ, lati aabo alaye si awọn atupale, bẹrẹ lati ṣe awọn ibeere ni itara si Athena ati ni iyara, ni iṣẹju-aaya, gba awọn idahun to wulo lati data “nla” fun awọn akoko pipẹ ti o tọ: awọn oṣu, idaji odun kan, ati be be lo.

Ṣugbọn a lọ siwaju ati bẹrẹ si lọ si awọsanma fun awọn idahun nipasẹ ODBC iwakọ: Oluyanju kọwe ibeere SQL kan ninu console ti o faramọ, eyiti o wa lori awọn ẹrọ 100-500 “fun awọn pennies” firanṣẹ data si s3 ati da idahun pada nigbagbogbo ni iṣẹju-aaya diẹ. Itunu. Ati ki o yara. Emi ko tun le gbagbọ.

Bi abajade, ti pinnu lati ṣafipamọ data ni s3, ni ọna kika ọwọn ti o munadoko ati pẹlu didasilẹ alaye ti data sinu awọn folda… a gba DataLake ati ẹrọ itupalẹ iyara ati olowo poku - fun ọfẹ. Ati pe o di olokiki pupọ ni ile-iṣẹ, nitori ... loye SQL ati ṣiṣẹ awọn aṣẹ titobi ni iyara ju nipasẹ ibẹrẹ / idaduro / ṣeto awọn iṣupọ. "Ati pe ti abajade ba jẹ kanna, kilode ti o san diẹ sii?"

Ibeere kan si Athena dabi nkan bi eyi. Ti o ba fẹ, dajudaju, o le dagba to eka ati olona-iwe SQL ibeere, ṣugbọn a yoo fi opin si ara wa si akojọpọ rọrun. Jẹ ki a wo awọn koodu esi ti alabara ni awọn ọsẹ diẹ sẹhin ninu awọn akọọlẹ olupin wẹẹbu ati rii daju pe ko si awọn aṣiṣe:

Bii a ṣe ṣeto dataLake ti o munadoko pupọ ati ilamẹjọ ati idi ti eyi fi ri bẹ

awari

Lehin ti o ti kọja, kii ṣe lati sọ ọna pipẹ, ṣugbọn ọna irora, nigbagbogbo ṣe ayẹwo awọn ewu ati ipele ti idiju ati idiyele ti atilẹyin, a rii ojutu kan fun DataLake ati awọn atupale ti ko dawọ lati ṣe itẹlọrun wa pẹlu iyara mejeeji ati idiyele ohun-ini.

O wa ni jade pe kikọ doko, iyara ati olowo poku lati ṣiṣẹ DataLake fun awọn iwulo ti awọn apa ti o yatọ patapata ti ile-iṣẹ jẹ patapata laarin awọn agbara ti paapaa awọn olupilẹṣẹ ti o ni iriri ti ko ṣiṣẹ bi awọn ayaworan ile ati pe ko mọ bi o ṣe le fa awọn onigun mẹrin lori awọn onigun mẹrin pẹlu ọfà ati ki o mọ 50 awọn ofin lati Hadoop ilolupo.

Ni ibẹrẹ irin-ajo naa, ori mi ti yapa lati ọpọlọpọ awọn ẹranko igbẹ ti awọn software ti o ṣii ati pipade ati oye ti ẹrù ojuse si awọn ọmọ. Kan bẹrẹ kikọ DataLake rẹ lati awọn irinṣẹ ti o rọrun: nagios / munin -> rirọ / kibana -> Hadoop / Spark / s3 ..., gbigba awọn esi ati oye jinna fisiksi ti awọn ilana ti o waye. Ohun gbogbo eka ati murky - fi fun awọn ọta ati awọn oludije.

Ti o ko ba fẹ lọ si awọsanma ati fẹ lati ṣe atilẹyin, imudojuiwọn ati patch awọn iṣẹ akanṣe orisun, o le kọ ero kan ti o jọra si tiwa ni agbegbe, lori awọn ẹrọ ọfiisi ilamẹjọ pẹlu Hadoop ati Presto lori oke. Ohun akọkọ kii ṣe lati da duro ati tẹsiwaju siwaju, kika, wa fun awọn solusan ti o rọrun ati ti o han gbangba, ati pe ohun gbogbo yoo dajudaju ṣiṣẹ! Orire ti o dara fun gbogbo eniyan ati rii ọ lẹẹkansi!

orisun: www.habr.com

Fi ọrọìwòye kun