Cymhwyso cod isel mewn llwyfannau dadansoddol

Annwyl ddarllenwyr, prynhawn da!

Mae'r dasg o adeiladu llwyfannau TG ar gyfer casglu a dadansoddi data yn hwyr neu'n hwyrach yn codi ar gyfer unrhyw gwmni y mae ei fusnes yn seiliedig ar fodel darparu gwasanaeth wedi'i lwytho'n ddeallusol neu greu cynhyrchion technegol gymhleth. Mae adeiladu llwyfannau dadansoddol yn dasg gymhleth a llafurddwys. Fodd bynnag, gellir symleiddio unrhyw dasg. Yn yr erthygl hon rwyf am rannu fy mhrofiad o ddefnyddio offer cod isel i helpu i greu datrysiadau dadansoddol. Cafwyd y profiad hwn yn ystod gweithredu nifer o brosiectau i gyfeiriad Big Data Solutions cwmni Neoflex. Ers 2005, mae cyfeiriad Big Data Solutions Neoflex wedi bod yn delio â materion adeiladu warysau data a llynnoedd, datrys problemau optimeiddio cyflymder prosesu gwybodaeth a gweithio ar fethodoleg ar gyfer rheoli ansawdd data.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Ni fydd unrhyw un yn gallu osgoi cronni ymwybodol o ddata gwan a/neu strwythuredig cryf. Efallai hyd yn oed os ydym yn sôn am fusnesau bach. Wedi'r cyfan, wrth raddio busnes, bydd entrepreneur addawol yn wynebu problemau datblygu rhaglen teyrngarwch, yn awyddus i ddadansoddi effeithiolrwydd pwyntiau gwerthu, yn meddwl am hysbysebu wedi'i dargedu, ac yn cael ei ddrysu gan y galw am gynhyrchion cysylltiedig. . I frasamcan cyntaf, gellir datrys y broblem “ar y pen-glin”. Ond wrth i'r busnes dyfu, mae dod i lwyfan dadansoddol yn dal yn anochel.

Fodd bynnag, ym mha achos y gall tasgau dadansoddi data ddatblygu’n broblemau dosbarth “Roced Science”? Efallai ar hyn o bryd pan ydym yn sôn am ddata gwirioneddol fawr.
I wneud Rocket Science yn haws, gallwch chi fwyta'r eliffant fesul darn.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Po fwyaf arwahanol ac ymreolaethol yw eich cymwysiadau/gwasanaethau/microwasanaethau, yr hawsaf fydd hi i chi, eich cydweithwyr a’r busnes cyfan dreulio’r eliffant.

Daeth bron pob un o'n cleientiaid i'r rhagdyb hwn, ar ôl ailadeiladu'r dirwedd yn seiliedig ar arferion peirianneg timau DevOps.

Ond hyd yn oed gyda diet “eliffantîn ar wahân”, mae gennym ni siawns dda o “orddirlawn” yn y dirwedd TG. Ar hyn o bryd mae'n werth stopio, anadlu allan ac edrych i'r ochr llwyfan peirianneg cod isel.

Mae llawer o ddatblygwyr yn cael eu dychryn gan y gobaith o ddiwedd marw yn eu gyrfa wrth symud i ffwrdd o ysgrifennu cod yn uniongyrchol tuag at “lusgo” saethau yn rhyngwynebau UI systemau cod isel. Ond ni arweiniodd dyfodiad offer peiriannol at ddiflaniad peirianwyr, ond daeth â'u gwaith i lefel newydd!

Gadewch i ni ddarganfod pam.

Mae dadansoddi data ym maes logisteg, diwydiant telathrebu, ymchwil cyfryngau, y sector ariannol bob amser yn gysylltiedig â'r cwestiynau canlynol:

  • Cyflymder dadansoddi awtomataidd;
  • Y gallu i gynnal arbrofion heb effeithio ar y prif lif cynhyrchu data;
  • Dibynadwyedd y data a baratowyd;
  • Newid olrhain a fersiwn;
  • Tarddiad data, llinach data, CDC;
  • Cyflwyno nodweddion newydd yn gyflym i'r amgylchedd cynhyrchu;
  • A'r drwg-enwog: cost datblygu a chymorth.

Hynny yw, mae gan beirianwyr nifer fawr o dasgau lefel uchel, y gellir eu cwblhau'n ddigon effeithlon dim ond trwy glirio eu hymwybyddiaeth o dasgau datblygu lefel isel.

Y rhagofynion i ddatblygwyr symud i lefel newydd oedd esblygiad a digideiddio busnes. Mae gwerth y datblygwr hefyd yn newid: mae prinder sylweddol o ddatblygwyr a all ymgolli yn y cysyniadau bod y busnes yn cael ei awtomeiddio.

Gadewch i ni dynnu cyfatebiaeth ag ieithoedd rhaglennu lefel isel a lefel uchel. Mae’r trawsnewid o ieithoedd lefel isel tuag at rai lefel uchel yn bontio o ysgrifennu “cyfarwyddebau uniongyrchol yn iaith caledwedd” tuag at “gyfarwyddebau yn iaith pobl”. Hynny yw, ychwanegu rhywfaint o haen o dynnu. Yn yr achos hwn, mae’r newid i lwyfannau cod isel o ieithoedd rhaglennu lefel uchel yn bontio o “gyfarwyddebau yn iaith pobl” tuag at “gyfarwyddebau yn iaith busnes.” Os oes datblygwyr sy'n cael eu tristau gan y ffaith hon, yna maent wedi bod yn drist, efallai, ers yr eiliad y ganed Java Script, sy'n defnyddio swyddogaethau didoli arae. Ac mae gan y swyddogaethau hyn, wrth gwrs, weithrediad meddalwedd o dan y cwfl trwy ddulliau eraill o'r un rhaglennu lefel uchel.

Felly, dim ond ymddangosiad lefel arall o dynnu yw cod isel.

Profiad cymhwysol gan ddefnyddio cod isel

Mae pwnc cod isel yn eithaf eang, ond nawr hoffwn siarad am gymhwysiad ymarferol “cysyniadau cod isel” gan ddefnyddio enghraifft un o'n prosiectau.

Mae adran Big Data Solutions Neoflex yn arbenigo mwy yn y sector ariannol busnes, adeiladu warysau data a llynnoedd ac awtomeiddio adroddiadau amrywiol. Yn y gilfach hon, mae'r defnydd o god isel wedi dod yn safon ers tro. Ymhlith offer cod isel eraill, gallwn sôn am offer ar gyfer trefnu prosesau ETL: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Neu Oracle Apex, sy'n gweithredu fel amgylchedd ar gyfer datblygiad cyflym rhyngwynebau ar gyfer cyrchu a golygu data. Fodd bynnag, nid yw defnyddio offer datblygu cod isel bob amser yn golygu adeiladu cymwysiadau wedi'u targedu'n fawr ar bentwr technoleg fasnachol gyda dibyniaeth glir ar y gwerthwr.

Gan ddefnyddio llwyfannau cod isel, gallwch hefyd drefnu trefniadaeth ffrydiau data, creu llwyfannau gwyddor data neu, er enghraifft, fodiwlau ar gyfer gwirio ansawdd data.

Un o'r enghreifftiau cymhwysol o brofiad o ddefnyddio offer datblygu cod isel yw'r cydweithio rhwng Neoflex a Mediascope, un o'r arweinwyr ym marchnad ymchwil cyfryngau Rwsia. Un o amcanion busnes y cwmni hwn yw cynhyrchu data ar y sail y mae hysbysebwyr, llwyfannau Rhyngrwyd, sianeli teledu, gorsafoedd radio, asiantaethau hysbysebu a brandiau yn gwneud penderfyniadau ynghylch prynu hysbysebion ac yn cynllunio eu cyfathrebiadau marchnata.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Mae ymchwil cyfryngau yn faes busnes sydd wedi'i lwytho'n dechnolegol. Cydnabod dilyniannau fideo, casglu data o ddyfeisiau sy'n dadansoddi gwylio, mesur gweithgaredd ar adnoddau gwe - mae hyn i gyd yn awgrymu bod gan y cwmni staff TG mawr a phrofiad enfawr o adeiladu datrysiadau dadansoddol. Ond mae'r twf esbonyddol yn y swm o wybodaeth, nifer ac amrywiaeth ei ffynonellau yn gorfodi'r diwydiant data TG i symud ymlaen yn gyson. Efallai mai’r ateb symlaf i raddio llwyfan dadansoddol Mediascope sydd eisoes yn gweithredu yw cynyddu’r staff TG. Ond ateb llawer mwy effeithiol yw cyflymu'r broses ddatblygu. Efallai mai un o'r camau sy'n arwain i'r cyfeiriad hwn yw defnyddio llwyfannau cod isel.

Ar adeg cychwyn y prosiect, roedd gan y cwmni ddatrysiad cynnyrch gweithredol eisoes. Fodd bynnag, ni allai gweithredu'r datrysiad yn MSSQL fodloni'n llawn y disgwyliadau ar gyfer graddfa ymarferoldeb tra'n cynnal cost datblygu dderbyniol.

Roedd y dasg o'n blaenau yn wirioneddol uchelgeisiol - bu'n rhaid i Neoflex a Mediascope greu datrysiad diwydiannol mewn llai na blwyddyn, yn amodol ar ryddhau'r MVP o fewn chwarter cyntaf y dyddiad cychwyn.

Dewiswyd pentwr technoleg Hadoop fel sylfaen ar gyfer adeiladu llwyfan data newydd yn seiliedig ar gyfrifiadura cod isel. Mae HDFS wedi dod yn safon ar gyfer storio data gan ddefnyddio ffeiliau parquet. I gael mynediad at y data sydd wedi'i leoli yn y platfform, defnyddiwyd Hive, lle mae'r holl flaenau siop sydd ar gael yn cael eu cyflwyno ar ffurf tablau allanol. Gweithredwyd llwytho data i'r storfa gan ddefnyddio Kafka ac Apache NiFi.

Defnyddiwyd yr offeryn cod Lowe yn y cysyniad hwn i wneud y gorau o'r dasg fwyaf llafurddwys wrth adeiladu llwyfan dadansoddol - y dasg o gyfrifo data.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Dewiswyd yr offeryn Datagram cod isel fel y prif fecanwaith ar gyfer mapio data. Neoflex Datagram yn offeryn ar gyfer datblygu trawsnewidiadau a llif data.
Gan ddefnyddio'r offeryn hwn, gallwch wneud heb ysgrifennu cod Scala â llaw. Mae cod Scala yn cael ei gynhyrchu'n awtomatig gan ddefnyddio'r dull Model Pensaernïaeth a yrrir.

Mantais amlwg y dull hwn yw cyflymu'r broses ddatblygu. Fodd bynnag, yn ogystal â chyflymder, mae yna hefyd y manteision canlynol:

  • Gweld cynnwys a strwythur ffynonellau/derbynyddion;
  • Olrhain tarddiad gwrthrychau llif data i feysydd unigol (llinach);
  • Cyflawni trawsnewidiadau'n rhannol gan weld canlyniadau canolraddol;
  • Adolygu'r cod ffynhonnell a'i addasu cyn ei weithredu;
  • Dilysu trawsnewidiadau yn awtomatig;
  • Lawrlwytho data yn awtomatig 1 mewn 1.

Mae'r rhwystr rhag mynediad i atebion cod isel ar gyfer cynhyrchu trawsnewidiadau yn eithaf isel: mae angen i'r datblygwr wybod SQL a chael profiad o weithio gydag offer ETL. Mae'n werth nodi nad yw generaduron trawsnewid sy'n cael eu gyrru gan god yn offer ETL yn ystyr eang y gair. Efallai na fydd gan offer cod isel eu hamgylchedd gweithredu cod eu hunain. Hynny yw, bydd y cod a gynhyrchir yn cael ei weithredu yn yr amgylchedd a fodolai ar y clwstwr hyd yn oed cyn gosod yr ateb cod isel. Ac efallai bod hyn yn fantais arall ar gyfer karma cod isel. Oherwydd, ochr yn ochr â thîm cod isel, gall tîm “clasurol” weithio sy'n gweithredu ymarferoldeb, er enghraifft, mewn cod Scala pur. Bydd dod â gwelliannau gan y ddau dîm i mewn i gynhyrchu yn syml ac yn ddi-dor.

Efallai ei bod yn werth nodi, yn ogystal â chod isel, fod yna hefyd atebion dim cod. Ac yn greiddiol iddynt, mae'r rhain yn bethau gwahanol. Mae cod isel yn caniatáu i'r datblygwr ymyrryd yn fwy â'r cod a gynhyrchir. Yn achos Datagram, mae'n bosibl gweld a golygu'r cod Scala a gynhyrchir; efallai na fydd dim cod yn rhoi cyfle o'r fath. Mae'r gwahaniaeth hwn yn arwyddocaol iawn nid yn unig o ran hyblygrwydd yr ateb, ond hefyd o ran cysur a chymhelliant yng ngwaith peirianwyr data.

Pensaernïaeth datrysiad

Gadewch i ni geisio darganfod yn union sut mae offeryn cod isel yn helpu i ddatrys y broblem o optimeiddio cyflymder datblygu ymarferoldeb cyfrifo data. Yn gyntaf, gadewch i ni edrych ar bensaernïaeth swyddogaethol y system. Enghraifft yn yr achos hwn yw'r model cynhyrchu data ar gyfer ymchwil cyfryngau.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Mae ffynonellau data yn ein hachos ni yn heterogenaidd ac amrywiol iawn:

  • Mae mesuryddion pobl (mesuryddion teledu) yn ddyfeisiau meddalwedd a chaledwedd sy'n darllen ymddygiad defnyddwyr gan ymatebwyr paneli teledu - pwy, pryd a pha sianel deledu a wyliwyd yn y cartref sy'n cymryd rhan yn yr astudiaeth. Mae'r wybodaeth a gyflenwir yn ffrwd o gyfnodau gwylio darlledu sy'n gysylltiedig â'r pecyn cyfryngau a'r cynnyrch cyfryngau. Gellir cyfoethogi data ar y cam llwytho i mewn i'r Llyn Data gyda nodweddion demograffig, geostrateiddiad, parth amser a gwybodaeth arall sy'n angenrheidiol ar gyfer dadansoddi gwylio teledu o gynnyrch cyfryngau penodol. Gellir defnyddio'r mesuriadau a gymerwyd i ddadansoddi neu gynllunio ymgyrchoedd hysbysebu, asesu gweithgaredd a hoffterau'r gynulleidfa, a llunio'r rhwydwaith darlledu;
  • Gall y data ddod o systemau monitro ar gyfer ffrydio darllediadau teledu a mesur gwylio cynnwys adnoddau fideo ar y Rhyngrwyd;
  • Offer mesur yn amgylchedd y we, gan gynnwys mesuryddion safle-ganolog a mesuryddion defnyddiwr-ganolog. Gall y darparwr data ar gyfer y Llyn Data fod yn ychwanegiad porwr bar ymchwil ac yn gymhwysiad symudol gyda VPN adeiledig.
  • Gall data hefyd ddod o wefannau sy'n cyfuno canlyniadau llenwi holiaduron ar-lein a chanlyniadau cyfweliadau ffôn mewn arolygon cwmni;
  • Gellir cyfoethogi'r llyn data ymhellach trwy lawrlwytho gwybodaeth o logiau cwmnïau partner.

Gellir trefnu gweithredu fel y mae llwytho o systemau ffynhonnell i'r cam sylfaenol o ddata crai mewn amrywiol ffyrdd. Os defnyddir cod isel at y dibenion hyn, mae'n bosibl cynhyrchu sgriptiau llwytho yn awtomatig yn seiliedig ar fetadata. Yn yr achos hwn, nid oes angen mynd i lawr i lefel y ffynhonnell ddatblygol i dargedu mapiau. Er mwyn gweithredu llwytho awtomatig, mae angen inni sefydlu cysylltiad â'r ffynhonnell, ac yna diffinio yn y rhyngwyneb llwytho y rhestr o endidau i'w llwytho. Bydd y strwythur cyfeiriadur yn HDFS yn cael ei greu yn awtomatig a bydd yn cyfateb i'r strwythur storio data ar y system ffynhonnell.

Fodd bynnag, yng nghyd-destun y prosiect hwn, penderfynwyd peidio â defnyddio'r nodwedd hon o'r platfform cod isel oherwydd bod cwmni Mediascope eisoes wedi dechrau'n annibynnol ar y gwaith o gynhyrchu gwasanaeth tebyg gan ddefnyddio'r cyfuniad Nifi + Kafka.

Mae'n werth nodi ar unwaith nad yw'r offer hyn yn gyfnewidiol, ond yn hytrach yn gyflenwol. Mae Nifi a Kafka yn gallu gweithio mewn cysylltiad uniongyrchol (Nifi -> Kafka) ac o chwith (Kafka -> Nifi). Ar gyfer y llwyfan ymchwil cyfryngau, defnyddiwyd fersiwn gyntaf y bwndel.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Yn ein hachos ni, roedd angen i NayFi brosesu gwahanol fathau o ddata o systemau ffynhonnell a'u hanfon at y brocer Kafka. Yn yr achos hwn, anfonwyd negeseuon at bwnc Kafka penodol gan ddefnyddio proseswyr PublishKafka Nifi. Mae offeryniaeth a chynnal a chadw'r piblinellau hyn yn cael ei wneud mewn rhyngwyneb gweledol. Gellir galw offeryn Nifi a'r defnydd o'r cyfuniad Nifi + Kafka hefyd yn ddull cod isel o ddatblygu, sydd â rhwystr isel i fynediad i dechnolegau Data Mawr ac yn cyflymu'r broses datblygu cais.

Y cam nesaf yng ngweithrediad y prosiect oedd dod â data manwl i fformat un haen semantig. Os oes gan endid briodoleddau hanesyddol, gwneir y cyfrifiad yng nghyd-destun y rhaniad dan sylw. Os nad yw'r endid yn hanesyddol, yna mae'n ddewisol bosibl naill ai ail-gyfrifo cynnwys cyfan y gwrthrych, neu wrthod yn llwyr ailgyfrifo'r gwrthrych hwn (oherwydd diffyg newidiadau). Ar y cam hwn, cynhyrchir allweddi ar gyfer pob endid. Mae'r allweddi yn cael eu storio yn y cyfeiriaduron Hbase sy'n cyfateb i'r prif wrthrychau, sy'n cynnwys gohebiaeth rhwng yr allweddi yn y llwyfan dadansoddol a'r allweddi o'r systemau ffynhonnell. Ynghyd â chydgrynhoi endidau atomig mae cyfoethogi â chanlyniadau cyfrifiad rhagarweiniol o ddata dadansoddol. Y fframwaith ar gyfer cyfrifo data oedd Spark. Rhoddwyd y swyddogaeth a ddisgrifiwyd ar gyfer dod â data i un semanteg ar waith hefyd yn seiliedig ar fapiau o'r offeryn Datagram cod isel.

Roedd y bensaernïaeth darged yn gofyn am fynediad SQL at ddata ar gyfer defnyddwyr busnes. Defnyddiwyd Hive ar gyfer yr opsiwn hwn. Mae gwrthrychau'n cael eu cofrestru yn Hive yn awtomatig pan fyddwch chi'n galluogi'r opsiwn “Registr Hive Table” yn yr offeryn cod isel.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Rheoli llif cyfrifo

Mae gan Datagram ryngwyneb ar gyfer creu dyluniadau llif llif gwaith. Gellir lansio mapiau gan ddefnyddio'r amserlennydd Oozie. Yn y rhyngwyneb datblygwr nant, mae'n bosibl creu cynlluniau ar gyfer trawsnewidiadau data cyfochrog, dilyniannol neu weithrediad-ddibynnol. Mae cefnogaeth ar gyfer sgriptiau cregyn a rhaglenni java. Mae hefyd yn bosibl defnyddio gweinydd Apache Livy. Defnyddir Apache Livy i redeg cymwysiadau yn uniongyrchol o'r amgylchedd datblygu.

Os oes gan y cwmni ei gerddorfawr prosesau ei hun eisoes, mae'n bosibl defnyddio'r API REST i ymgorffori mapiau i lif sy'n bodoli. Er enghraifft, cawsom brofiad eithaf llwyddiannus o wreiddio mapiau yn Scala mewn cerddorfeydd a ysgrifennwyd yn PLSQL a Kotlin. Mae'r API REST o offeryn cod isel yn cynnwys gweithrediadau megis cynhyrchu blwyddyn weithredadwy yn seiliedig ar y dyluniad mapio, galw mapio, galw dilyniant o fapiau, ac, wrth gwrs, trosglwyddo paramedrau i'r URL i redeg mapiadau.

Ynghyd ag Oozie, mae'n bosibl trefnu llif cyfrifo gan ddefnyddio Airflow. Efallai na fyddaf yn aros yn hir ar y gymhariaeth rhwng Oozie ac Airflow, ond byddaf yn dweud yn syml, yng nghyd-destun gwaith ar brosiect ymchwil cyfryngau, bod y dewis wedi disgyn o blaid Airflow. Y prif ddadleuon y tro hwn oedd cymuned fwy gweithgar yn datblygu'r cynnyrch a rhyngwyneb mwy datblygedig + API.

Mae llif aer hefyd yn dda oherwydd ei fod yn defnyddio'r Python annwyl i ddisgrifio prosesau cyfrifo. Ac yn gyffredinol, nid oes cymaint o lwyfannau rheoli llif gwaith ffynhonnell agored. Nid yw lansio a monitro gweithrediad prosesau (gan gynnwys siart Gantt) ond yn ychwanegu pwyntiau at karma Airflow.

Mae fformat y ffeil ffurfweddu ar gyfer lansio mapiau datrysiadau cod isel wedi dod yn sbarc-cyflwyno. Digwyddodd hyn am ddau reswm. Yn gyntaf, mae spark-submit yn caniatáu ichi redeg ffeil jar yn uniongyrchol o'r consol. Yn ail, gall gynnwys yr holl wybodaeth angenrheidiol i ffurfweddu'r llif gwaith (sy'n ei gwneud hi'n haws ysgrifennu sgriptiau sy'n cynhyrchu Dag).
Elfen fwyaf cyffredin y llif gwaith Airflow yn ein hachos ni oedd y SparkSubmitOperator.

Mae SparkSubmitOperator yn caniatáu ichi redeg jariau - mapiau Datagram wedi'u pecynnu gyda pharamedrau mewnbwn a gynhyrchwyd ymlaen llaw ar eu cyfer.

Mae'n werth nodi bod pob tasg Llif Awyr yn rhedeg mewn llinyn ar wahân ac nad yw'n gwybod dim am dasgau eraill. Felly, mae rhyngweithio rhwng tasgau yn cael ei wneud gan ddefnyddio gweithredwyr rheoli, fel DummyOperator neu BranchPythonOperator.

Gyda'i gilydd, arweiniodd defnyddio datrysiad cod isel Datagram ar y cyd â chyffredinoli ffeiliau cyfluniad (ffurfio Dag) at gyflymu a symleiddio'r broses o ddatblygu llifoedd llwytho data yn sylweddol.

Cyfrifiad arddangos

Efallai mai'r cam mwyaf deallusol wrth gynhyrchu data dadansoddol yw'r cam o adeiladu arddangosfeydd. Yng nghyd-destun llifoedd cyfrifo data un o'r cwmni ymchwil, ar hyn o bryd, mae'r data'n cael ei leihau i ddarllediad cyfeirio, gan ystyried cywiriadau ar gyfer parthau amser ac sy'n gysylltiedig â'r grid darlledu. Mae hefyd yn bosibl addasu ar gyfer y rhwydwaith darlledu lleol (newyddion lleol a hysbysebu). Ymhlith pethau eraill, mae'r cam hwn yn torri i lawr y cyfnodau gwylio parhaus o gynhyrchion cyfryngau yn seiliedig ar y dadansoddiad o gyfnodau gwylio. Ar unwaith, mae'r gwerthoedd gwylio yn cael eu “pwysoli” yn seiliedig ar wybodaeth am eu harwyddocâd (cyfrifo ffactor cywiro).

Cymhwyso cod isel mewn llwyfannau dadansoddol

Cam ar wahân wrth baratoi arddangosfeydd yw dilysu data. Mae'r algorithm dilysu yn cynnwys defnyddio nifer o fodelau gwyddoniaeth fathemategol. Fodd bynnag, mae defnyddio platfform cod isel yn eich galluogi i dorri algorithm cymhleth yn nifer o fapiau ar wahân y gellir eu darllen yn weledol. Mae pob un o'r mapiau yn cyflawni tasg gyfyng. O ganlyniad, mae dadfygio canolradd, logio a delweddu camau paratoi data yn bosibl.

Penderfynwyd neilltuo'r algorithm dilysu i'r is-gamau canlynol:

  • Adeiladu atchweliad o ddibyniaethau gwylio rhwydwaith teledu mewn rhanbarth gyda gwylio pob rhwydwaith yn y rhanbarth am 60 diwrnod.
  • Cyfrifo gweddillion myfyrwyr (gwyriadau gwerthoedd gwirioneddol oddi wrth y rhai a ragfynegwyd gan y model atchweliad) ar gyfer pob pwynt atchweliad ac ar gyfer y diwrnod a gyfrifwyd.
  • Detholiad o barau rhanbarth-rhwydwaith afreolaidd, lle mae cydbwysedd myfyriwr y diwrnod setlo yn fwy na'r norm (a bennir gan y gosodiadau gweithrediad).
  • Ailgyfrifo'r gweddillion myfyriwr wedi'i gywiro ar gyfer parau rhwydwaith afreolaidd rhanbarth-teledu ar gyfer pob ymatebydd a wyliodd y rhwydwaith yn y rhanbarth, gan bennu cyfraniad yr ymatebydd hwn (swm y newid yn y gweddilliol myfyriwr) wrth eithrio gwylio'r atebydd hwn o'r sampl .
  • Chwiliwch am ymgeiswyr y mae eu gwaharddiad yn dod â balans myfyriwr y diwrnod cyflog yn ôl i normal.

Mae'r enghraifft uchod yn cadarnhau'r ddamcaniaeth bod gan beiriannydd data ormod ar ei feddwl yn barod... Ac, os yw hwn yn “beiriannydd” mewn gwirionedd ac nid yn “godiwr,” yna ofn diraddio proffesiynol wrth ddefnyddio offer cod isel. rhaid encilio o'r diwedd.

Beth arall all cod isel ei wneud?

Nid yw cwmpas cymhwyso offeryn cod isel ar gyfer prosesu data swp a ffrwd heb yr angen i ysgrifennu cod â llaw yn Scala yn dod i ben yno.

Mae'r defnydd o god isel wrth ddatblygu cronfa ddata eisoes wedi dod yn safon i ni. Mae'n debyg y gallwn ddweud bod atebion sy'n seiliedig ar stac Hadoop yn dilyn llwybr datblygu DWHs clasurol yn seiliedig ar RDBMS. Gall offer cod isel ar bentwr Hadoop ddatrys tasgau prosesu data a'r dasg o adeiladu rhyngwynebau BI terfynol. Ar ben hynny, dylid nodi y gall BI olygu nid yn unig cynrychiolaeth data, ond hefyd ei olygu gan ddefnyddwyr busnes. Rydym yn aml yn defnyddio'r swyddogaeth hon wrth adeiladu llwyfannau dadansoddol ar gyfer y sector ariannol.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Ymhlith pethau eraill, gan ddefnyddio cod isel ac, yn benodol, Datagram, mae'n bosibl datrys y broblem o olrhain tarddiad gwrthrychau llif data gydag atomigedd i lawr i feysydd unigol (llinach). I wneud hyn, mae'r offeryn cod isel yn gweithredu rhyngwyneb ag Apache Atlas a Cloudera Navigator. Yn y bôn, mae angen i'r datblygwr gofrestru set o wrthrychau mewn geiriaduron Atlas a chyfeirio at y gwrthrychau cofrestredig wrth adeiladu mapiau. Mae'r mecanwaith ar gyfer olrhain tarddiad data neu ddadansoddi dibyniaethau gwrthrych yn arbed llawer o amser pan fydd angen gwneud gwelliannau i'r algorithmau cyfrifo. Er enghraifft, wrth baratoi datganiadau ariannol, mae'r nodwedd hon yn caniatáu ichi oroesi'r cyfnod o newidiadau deddfwriaethol yn fwy cyfforddus. Wedi'r cyfan, y gorau y byddwn yn deall y ddibyniaeth rhyng-ffurf yng nghyd-destun gwrthrychau haen fanwl, y lleiaf y byddwn yn dod ar draws diffygion “sydyn” ac yn lleihau nifer yr ail-weithiau.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Ansawdd Data a Chod Isel

Tasg arall a weithredwyd gan yr offeryn cod isel ar brosiect Mediascope oedd tasg dosbarth Ansawdd Data. Nodwedd arbennig o weithrediad y biblinell gwirio data ar gyfer prosiect y cwmni ymchwil oedd y diffyg effaith ar berfformiad a chyflymder y prif lif cyfrifo data. Er mwyn gallu trefnu llifau dilysu data annibynnol, defnyddiwyd yr Apache Airflow a oedd eisoes yn gyfarwydd. Gan fod pob cam o gynhyrchu data yn barod, lansiwyd rhan ar wahân o'r biblinell DQ ochr yn ochr.

Ystyrir ei bod yn arfer da monitro ansawdd data o'r eiliad y'i dechreuwyd yn y llwyfan dadansoddi. Ar ôl cael gwybodaeth am fetadata, gallwn wirio cydymffurfiaeth ag amodau sylfaenol o'r eiliad y mae'r wybodaeth yn mynd i mewn i'r haen gynradd - nid null, cyfyngiadau, allweddi tramor. Gweithredir y swyddogaeth hon yn seiliedig ar fapiau a gynhyrchir yn awtomatig o'r teulu ansawdd data yn Datagram. Mae cynhyrchu cod yn yr achos hwn hefyd yn seiliedig ar fetadata model. Ar brosiect Mediascope, cynhaliwyd y rhyngwyneb â metadata'r cynnyrch Pensaer Menter.

Trwy baru'r offeryn cod isel â Enterprise Architect, cynhyrchwyd y gwiriadau canlynol yn awtomatig:

  • Gwirio am bresenoldeb gwerthoedd “null” mewn meysydd gyda'r addasydd “not null”;
  • Gwirio presenoldeb dyblyg o'r allwedd gynradd;
  • Gwirio allwedd dramor endid;
  • Gwirio unigrywiaeth llinyn yn seiliedig ar set o feysydd.

Ar gyfer gwiriadau mwy cymhleth o argaeledd data a dibynadwyedd, crëwyd mapio gyda Scala Expression, sy'n cymryd fel mewnbwn cod gwirio Spark SQL allanol a baratowyd gan ddadansoddwyr yn Zeppelin.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Wrth gwrs, rhaid cynhyrchu gwiriadau awtomatig yn raddol. O fewn fframwaith y prosiect a ddisgrifiwyd, rhagflaenwyd hyn gan y camau canlynol:

  • DQ ar waith yn llyfrau nodiadau Zeppelin;
  • DQ yn rhan o fapio;
  • DQ ar ffurf mapiau enfawr ar wahân sy'n cynnwys set gyfan o wiriadau ar gyfer endid ar wahân;
  • Mapiau DQ paramedr cyffredinol sy'n derbyn gwybodaeth am fetadata a gwiriadau busnes fel mewnbwn.

Efallai mai prif fantais creu gwasanaeth gwirio paramedr yw'r gostyngiad yn yr amser y mae'n ei gymryd i ddarparu ymarferoldeb i'r amgylchedd cynhyrchu. Gall gwiriadau ansawdd newydd osgoi'r patrwm clasurol o gyflwyno cod yn anuniongyrchol trwy amgylcheddau datblygu a phrofi:

  • Mae pob gwiriad metadata yn cael ei gynhyrchu'n awtomatig pan fydd y model yn cael ei addasu yn EA;
  • Gellir cynhyrchu gwiriadau argaeledd data (gan bennu presenoldeb unrhyw ddata ar adeg benodol) ar sail cyfeiriadur sy'n storio amseriad disgwyliedig ymddangosiad y darn nesaf o ddata yng nghyd-destun gwrthrychau;
  • Mae gwiriadau dilysu data busnes yn cael eu creu gan ddadansoddwyr yn llyfrau nodiadau Zeppelin. Oddi yno fe'u hanfonir yn uniongyrchol i'r tablau gosod modiwl DQ yn yr amgylchedd cynhyrchu.

Nid oes unrhyw risgiau o anfon sgriptiau'n uniongyrchol i'r cynhyrchiad. Hyd yn oed gyda gwall cystrawen, yr uchafswm sy'n ein bygwth yw methu â chyflawni un gwiriad, oherwydd bod y llif cyfrifo data a'r llif lansio gwirio ansawdd yn cael eu gwahanu oddi wrth ei gilydd.

Yn ei hanfod, mae'r gwasanaeth DQ yn rhedeg yn barhaol yn yr amgylchedd cynhyrchu ac yn barod i ddechrau ar ei waith y funud y bydd y darn nesaf o ddata yn ymddangos.

Yn hytrach na i gasgliad

Mae'r fantais o ddefnyddio cod isel yn amlwg. Nid oes angen i ddatblygwyr ddatblygu'r cais o'r dechrau. Ac mae rhaglennydd sydd wedi'i ryddhau o dasgau ychwanegol yn cynhyrchu canlyniadau'n gyflymach. Mae cyflymder, yn ei dro, yn rhyddhau amser ychwanegol ar gyfer datrys problemau optimeiddio. Felly, yn yr achos hwn, gallwch chi ddibynnu ar ateb gwell a chyflymach.

Wrth gwrs, nid yw cod isel yn ateb i bob problem, ac ni fydd hud yn digwydd ar ei ben ei hun:

  • Mae'r diwydiant cod isel yn mynd trwy gam "mynd yn gryfach", ac nid oes safonau diwydiannol unffurf eto;
  • Nid yw llawer o atebion cod isel yn rhad ac am ddim, a dylai eu prynu fod yn gam ymwybodol, y dylid ei wneud gyda hyder llawn yn y manteision ariannol o'u defnyddio;
  • Nid yw llawer o atebion cod isel bob amser yn gweithio'n dda gyda GIT/SVN. Neu maent yn anghyfleus i'w defnyddio os yw'r cod a gynhyrchir wedi'i guddio;
  • Wrth ehangu'r bensaernïaeth, efallai y bydd angen mireinio'r datrysiad cod isel - sydd, yn ei dro, yn ysgogi effaith “ymlyniad a dibyniaeth” ar gyflenwr y datrysiad cod isel.
  • Mae lefel ddigonol o ddiogelwch yn bosibl, ond mae'n llafurddwys iawn ac yn anodd ei weithredu mewn peiriannau system cod isel. Dylid dewis llwyfannau cod isel nid yn unig ar yr egwyddor o geisio buddion o'u defnyddio. Wrth ddewis, mae'n werth gofyn cwestiynau am argaeledd ymarferoldeb ar gyfer rheoli mynediad a dirprwyo / uwchgyfeirio data adnabod i lefel tirwedd TG gyfan y sefydliad.

Cymhwyso cod isel mewn llwyfannau dadansoddol

Fodd bynnag, os yw holl ddiffygion y system a ddewiswyd yn hysbys i chi, a bod y buddion o'i ddefnyddio, serch hynny, yn y mwyafrif amlycaf, yna symudwch ymlaen i god bach heb ofn. Ar ben hynny, mae'r trawsnewid iddo yn anochel - yn union fel y mae unrhyw esblygiad yn anochel.

Os yw un datblygwr ar blatfform cod isel yn gwneud ei waith yn gyflymach na dau ddatblygwr heb god isel, yna mae hyn yn rhoi'r gorau i'r cwmni ym mhob ffordd. Mae'r trothwy ar gyfer mynediad i atebion cod isel yn is nag i dechnolegau “traddodiadol”, ac mae hyn yn cael effaith gadarnhaol ar fater prinder personél. Wrth ddefnyddio offer cod isel, mae'n bosibl cyflymu'r rhyngweithio rhwng timau swyddogaethol a gwneud penderfyniadau cyflymach ynghylch cywirdeb y llwybr ymchwil gwyddor data a ddewiswyd. Gall llwyfannau lefel isel ysgogi trawsnewidiad digidol sefydliad oherwydd gall arbenigwyr annhechnegol (yn enwedig defnyddwyr busnes) ddeall yr atebion a gynhyrchir.

Os oes gennych derfynau amser tynn, rhesymeg busnes wedi'i llwytho, diffyg arbenigedd technolegol, a bod angen i chi gyflymu'ch amser i farchnata, yna mae cod isel yn un ffordd o ddiwallu'ch anghenion.

Nid oes gwadu pwysigrwydd offer datblygu traddodiadol, ond mewn llawer o achosion, defnyddio datrysiadau cod isel yw'r ffordd orau o gynyddu effeithlonrwydd y tasgau sy'n cael eu datrys.

Ffynhonnell: hab.com

Ychwanegu sylw