Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

A leughadairean gràdhach, feasgar math!

Bidh an obair a bhith a’ togail àrd-ùrlaran IT airson a bhith a’ tional agus a’ mion-sgrùdadh dàta luath no mall ag èirigh airson companaidh sam bith aig a bheil gnìomhachas stèidhichte air modal lìbhrigidh seirbheis làn inntleachdail no cruthachadh thoraidhean a tha iom-fhillte gu teicnigeach. Tha togail àrd-ùrlaran anailis na obair iom-fhillte agus a bheir ùine. Ach, faodar gnìomh sam bith a dhèanamh nas sìmplidhe. San artaigil seo tha mi airson m ’eòlas a cho-roinn ann a bhith a’ cleachdadh innealan còd ìosal gus fuasglaidhean anailis a chruthachadh. Chaidh an t-eòlas seo fhaighinn nuair a chaidh grunn phròiseactan a chuir an gnìomh ann an stiùireadh Big Data Solutions companaidh Neoflex. Bho 2005, tha stiùireadh Big Data Solutions Neoflex air a bhith a’ dèiligeadh ri cùisean togail thaighean-bathair agus lochan, a’ fuasgladh dhuilgheadasan a thaobh a bhith a’ dèanamh an astar as fheàrr de ghiullachd fiosrachaidh agus ag obair air modh-obrach airson riaghladh càileachd dàta.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Cha bhith e comasach dha duine cruinneachadh mothachail de dhàta le structar lag agus / no làidir a sheachnadh. Is dòcha eadhon ged a tha sinn a’ bruidhinn mu ghnìomhachasan beaga. Às deidh na h-uile, nuair a bhios e a ’sgèileadh gnìomhachas, bidh neach-tionnsgain gealltanach mu choinneimh na cùisean a thaobh a bhith a’ leasachadh prògram dìlseachd, bidh e airson sgrùdadh a dhèanamh air èifeachdas puingean reic, smaoinichidh e air sanasachd cuimsichte, agus bidh e fo imcheist leis an iarrtas airson toraidhean na chois. . Gus a 'chiad tuairmse, faodar an duilgheadas fhuasgladh "air a' ghlùin". Ach mar a bhios an gnìomhachas a’ fàs, tha e fhathast do-sheachanta tighinn gu àrd-ùrlar anailis.

Ach, dè an suidheachadh as urrainn gnìomhan anailis dàta a thighinn gu bhith nan duilgheadasan clas “Rocket Science”? Is dòcha aig an àm seo nuair a tha sinn a’ bruidhinn air dàta fìor mhòr.
Gus Rocket Science a dhèanamh nas fhasa, faodaidh tu an ailbhean ithe pìos le pìos.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Mar as neo-eisimeileach agus neo-eisimeileach a bhios na tagraidhean/seirbheisean/microsheirbheisean agad, is ann as fhasa a bhios e dhut fhèin, do cho-obraichean agus don ghnìomhachas air fad an t-ailbhean a chnàmh.

Thàinig cha mhòr a h-uile neach-dèiligidh againn chun phostachd seo, às deidh dhaibh an cruth-tìre ath-thogail stèidhichte air cleachdaidhean innleadaireachd sgiobaidhean DevOps.

Ach eadhon le daithead “fa leth, elephantine”, tha deagh chothrom againn “oversaturation” de chruth-tìre IT. Aig an àm seo is fhiach stad, exhaling agus coimhead chun an taobh àrd-ùrlar innleadaireachd còd ìosal.

Tha eagal air mòran de luchd-leasachaidh leis an dùil crìoch marbh nan cùrsa-beatha nuair a ghluaiseas iad air falbh bho bhith a’ sgrìobhadh còd gu dìreach a dh’ ionnsaigh saighdean “slaodadh” ann an eadar-aghaidh UI siostaman còd ìosal. Ach cha do dh'fhàg innealan innealan a dhol à bith innleadairean, ach thug iad an cuid obrach gu ìre ùr!

Feuch sinn a-mach carson.

Tha mion-sgrùdadh dàta ann an raon logistics, gnìomhachas cian-chonaltraidh, rannsachadh meadhanan, roinn ionmhais an-còmhnaidh co-cheangailte ris na ceistean a leanas:

  • Luas mion-sgrùdadh fèin-ghluasadach;
  • Comas deuchainnean a dhèanamh gun a bhith a’ toirt buaidh air prìomh shruth cinneasachadh dàta;
  • earbsachd an dàta ullaichte;
  • Atharraich tracadh agus dreach;
  • Cruth dàta, Loidhne dàta, CDC;
  • Lìbhrigeadh luath de fheartan ùra don àrainneachd toraidh;
  • Agus an droch chliù: cosgais leasachaidh agus taic.

Is e sin, tha àireamh mhòr de ghnìomhan àrd-ìre aig innleadairean, a dh'fhaodar a chrìochnachadh le èifeachdas gu leòr a-mhàin le bhith a 'glanadh an mothachadh air gnìomhan leasachaidh aig ìre ìosal.

B’ e mean-fhàs agus digiteachadh gnìomhachas na ro-ghoireasan airson luchd-leasachaidh gluasad gu ìre ùr. Tha luach an leasaiche cuideachd ag atharrachadh: tha gainnead mòr de luchd-leasachaidh ann a dh'fhaodas iad fhèin a bhogadh ann am bun-bheachdan a 'ghnìomhachais a bhith fèin-ghluasadach.

Feuch an dèan sinn coimeas ri cànanan prògramadh ìre ìosal agus àrd-ìre. Tha an gluasad bho chànanan aig ìre ìosal gu cànanan àrd-ìre na ghluasad bho bhith a’ sgrìobhadh “stiùiridhean dìreach ann an cànan bathar-cruaidh” gu “stiùirichean ann an cànan dhaoine”. Is e sin, a 'cur cuid de shreath de tharraing. Anns a ’chùis seo, tha an gluasad gu àrd-ùrlaran còd ìosal bho chànanan prògramadh àrd-ìre na ghluasad bho“ stiùiridhean ann an cànan dhaoine ”gu“ stiùiridhean ann an cànan gnìomhachais ”. Ma tha luchd-leasachaidh ann a tha brònach leis an fhìrinn seo, tha iad air a bhith brònach, is dòcha, bhon àm a rugadh Java Script, a bhios a’ cleachdadh gnìomhan rèiteach rèite. Agus tha na gnìomhan sin, gu dearbh, air buileachadh bathar-bog fon chochall tro dhòighean eile den aon phrògramadh àrd-ìre.

Mar sin, chan eil ann an còd ìosal ach coltas ìre eile de tharraing.

Eòlas gnìomhaichte a’ cleachdadh còd ìosal

Tha cuspair còd ìosal gu math farsaing, ach a-nis bu mhath leam bruidhinn mu chleachdadh pragtaigeach “bun-bheachdan còd ìosal” a ’cleachdadh eisimpleir aon de na pròiseactan againn.

Tha roinn Big Data Solutions de Neoflex a’ speisealachadh nas motha ann an roinn ionmhais gnìomhachas, a’ togail stòran dàta agus lochan agus ag fèin-ghluasad diofar aithrisean. Anns an àite seo, tha cleachdadh còd ìosal air a thighinn gu bhith na inbhe o chionn fhada. Am measg innealan còd ìosal eile, is urrainn dhuinn iomradh a thoirt air innealan airson pròiseasan ETL a chuir air dòigh: Ionad Cumhachd Informatica, IBM Datastage, Pentaho Data Integration. No Oracle Apex, a tha ag obair mar àrainneachd airson leasachadh luath air eadar-aghaidh airson faighinn gu agus deasachadh dàta. Ach, chan eil cleachdadh innealan leasachaidh còd ìosal an-còmhnaidh a’ toirt a-steach togail thagraidhean làn-chuimsichte air stac teicneòlas malairteach le eisimeileachd soilleir air an neach-reic.

Le bhith a’ cleachdadh àrd-ùrlaran còd ìosal, faodaidh tu cuideachd orchestration de shruthan dàta a chuir air dòigh, àrd-ùrlaran saidheans dàta a chruthachadh no, mar eisimpleir, modalan airson càileachd dàta a sgrùdadh.

Is e aon de na h-eisimpleirean gnìomhaichte de eòlas ann a bhith a’ cleachdadh innealan leasachaidh còd ìosal an co-obrachadh eadar Neoflex agus Mediascope, aon de na stiùirichean ann am margaidh rannsachaidh meadhanan na Ruis. Is e aon de na h-amasan gnìomhachais aig a ’chompanaidh seo cinneasachadh dàta air a bheil luchd-sanasachd, àrd-ùrlaran eadar-lìn, seanalan Tbh, stèiseanan rèidio, buidhnean sanasachd agus suaicheantasan a’ dèanamh cho-dhùnaidhean mu bhith a ’ceannach sanasachd agus a’ dealbhadh an conaltradh margaidheachd.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Tha rannsachadh meadhanan na raon gnìomhachais làn teicneòlach. Ag aithneachadh sreathan bhidio, a’ tional dàta bho innealan a bhios a’ sgrùdadh sealladh, a’ tomhas gnìomhachd air goireasan lìn - tha seo uile a’ ciallachadh gu bheil luchd-obrach IT mòr aig a’ chompanaidh agus eòlas fìor mhòr ann a bhith a’ togail fhuasglaidhean anailis. Ach tha am fàs mòr anns na tha de dh'fhiosrachadh, an àireamh agus na stòran eadar-dhealaichte a 'toirt air gnìomhachas dàta IT a dhol air adhart gu cunbhalach. Is dòcha gur e am fuasgladh as sìmplidh airson an àrd-ùrlar anailis Mediascope a tha ag obair mar-thà àrdachadh luchd-obrach IT. Ach is e fuasgladh fada nas èifeachdaiche am pròiseas leasachaidh a luathachadh. Is dòcha gur e aon de na ceumannan a tha air thoiseach san rathad seo a bhith a’ cleachdadh àrd-ùrlaran còd ìosal.

Aig an àm a thòisich am pròiseact, bha fuasgladh toraidh gnìomhach aig a’ chompanaidh mu thràth. Ach, cha b’ urrainn do bhuileachadh an fhuasglaidh ann an MSSQL coinneachadh gu h-iomlan ris na bha dùil a thaobh gnìomhachd sgèileachaidh fhad ‘s a bha e a’ cumail suas cosgais leasachaidh iomchaidh.

Bha an obair a bha romhainn fìor àrd-amasach - bha aig Neoflex agus Mediascope ri fuasgladh gnìomhachais a chruthachadh ann an nas lugha na bliadhna, le ùmhlachd do sgaoileadh an MVP taobh a-staigh a’ chiad ràithe den cheann-latha tòiseachaidh.

Chaidh stac teicneòlas Hadoop a thaghadh mar bhunait airson àrd-ùrlar dàta ùr a thogail stèidhichte air coimpiutaireachd còd ìosal. Tha HDFS air a thighinn gu bhith na inbhe airson stòradh dàta a’ cleachdadh faidhlichean parquet. Gus faighinn chun dàta a tha suidhichte san àrd-ùrlar, chaidh Hive a chleachdadh, anns a bheil a h-uile aghaidh stòr a tha ri fhaighinn air a thaisbeanadh ann an cruth bùird a-muigh. Chaidh luchdachadh dàta a-steach don stòradh a chuir an gnìomh a’ cleachdadh Kafka agus Apache NiFi.

Chaidh an inneal Lowe-code anns a 'bhun-bheachd seo a chleachdadh gus an obair as fheàrr a dhèanamh ann a bhith a' togail àrd-ùrlar anailis - an obair àireamhachadh dàta.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Chaidh an inneal Datagram le còd ìosal a thaghadh mar am prìomh dhòigh airson mapadh dàta. Neoflex dàtagram na inneal airson cruth-atharrachaidhean agus sruthan dàta a leasachadh.
A’ cleachdadh an inneil seo, faodaidh tu a dhèanamh gun a bhith a’ sgrìobhadh còd Scala le làimh. Thèid còd Scala a chruthachadh gu fèin-ghluasadach a’ cleachdadh dòigh-obrach Model Driven Architecture.

Is e buannachd follaiseach den dòigh-obrach seo a bhith a’ luathachadh a’ phròiseas leasachaidh. Ach, a bharrachd air astar, tha na buannachdan a leanas ann cuideachd:

  • A’ coimhead air susbaint agus structar stòran/luchd-faighinn;
  • A’ cumail sùil air tùs nithean sruthadh dàta gu raointean fa leth (sreath);
  • Cur an gnìomh pàirt de chruth-atharrachaidhean le coimhead air toraidhean eadar-mheadhanach;
  • ag ath-sgrùdadh a’ chòd stòr agus ga atharrachadh mus tèid a chur gu bàs;
  • Dearbhadh fèin-ghluasadach air cruth-atharrachaidhean;
  • Luchdaich sìos dàta fèin-ghluasadach 1 in 1.

Tha an cnap-starra a thaobh faighinn a-steach do fhuasglaidhean còd ìosal airson cruth-atharrachaidhean a ghineadh gu math ìosal: feumaidh an leasaiche eòlas fhaighinn air SQL agus eòlas a bhith aige air a bhith ag obair le innealan ETL. Is fhiach a ràdh nach e innealan ETL ann an seagh farsaing an fhacail a th’ ann an gineadairean cruth-atharrachaidh còd. Is dòcha nach eil an àrainneachd cur an gnìomh còd aca fhèin aig innealan còd ìosal. Is e sin, thèid an còd a chaidh a chruthachadh a chuir gu bàs san àrainneachd a bha ann air a’ bhuidheann eadhon mus deach am fuasgladh còd ìosal a chuir a-steach. Agus is dòcha gur e buannachd eile a tha seo airson karma le còd ìosal. Leis, ann an co-shìnte ri sgioba le còd ìosal, faodaidh sgioba “clasaigeach” obrachadh a chuireas an gnìomh gnìomhachd, mar eisimpleir, ann an còd fìor-ghlan Scala. Bidh a bhith a’ toirt leasachaidhean bhon dà sgioba gu cinneasachadh sìmplidh agus gun fhiosta.

Is dòcha gum b’ fhiach toirt fa-near, a bharrachd air còd ìosal, gu bheil fuasglaidhean gun chòd ann cuideachd. Agus aig cridhe an cuid, tha iad sin nan rudan eadar-dhealaichte. Leigidh còd ìosal leis an leasaiche barrachd casg a chuir air a’ chòd a chaidh a chruthachadh. A thaobh Datagram, tha e comasach an còd Scala a chaidh a chruthachadh fhaicinn agus a dheasachadh; chan fhaod còd sam bith a leithid de chothrom a thoirt seachad. Tha an eadar-dhealachadh seo glè chudromach chan ann a-mhàin a thaobh sùbailteachd an fhuasglaidh, ach cuideachd a thaobh comhfhurtachd agus brosnachadh ann an obair innleadairean dàta.

Ailtireachd fuasgladh

Feuchaidh sinn ri faighinn a-mach dìreach mar a tha inneal còd ìosal a’ cuideachadh le fuasgladh fhaighinn air an duilgheadas a thaobh a bhith ag àrdachadh astar leasachadh gnìomhachd àireamhachaidh dàta. An toiseach, leig dhuinn sùil a thoirt air ailtireachd gnìomh an t-siostam. Is e eisimpleir sa chùis seo am modail cinneasachadh dàta airson rannsachadh meadhanan.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Tha stòran dàta sa chùis againn gu math ioma-ghnèitheach agus eadar-mheasgte:

  • Tha meatairean dhaoine (meatairean Tbh) nan innealan bathar-bog is bathar-cruaidh a leughas giùlan luchd-cleachdaidh bho luchd-freagairt pannal telebhisean - cò, cuin agus dè an sianal Tbh a chaidh fhaicinn anns an dachaigh a tha a’ gabhail pàirt san sgrùdadh. Tha am fiosrachadh a chaidh a thoirt seachad na shruth de amannan seallaidh craolaidh ceangailte ris a’ phacaid mheadhanan agus toradh nam meadhanan. Faodar dàta aig an ìre de luchdachadh a-steach don Data Lake a bheairteachadh le buadhan deamografach, geostratification, sòn ùine agus fiosrachadh eile a tha riatanach airson sgrùdadh telebhisean air toradh meadhanan sònraichte. Faodar na tomhais a chaidh a ghabhail a chleachdadh gus iomairtean sanasachd a mhion-sgrùdadh no a dhealbhadh, gnìomhachd agus roghainnean an luchd-èisteachd a mheasadh, agus an lìonra craolaidh a chuir ri chèile;
  • Faodaidh an dàta tighinn bho shiostaman sgrùdaidh airson craoladh telebhisean a shruthladh agus tomhas coimhead air susbaint ghoireasan bhidio air an eadar-lìn;
  • Innealan tomhais ann an àrainneachd an lìn, a’ gabhail a-steach gach cuid meatairean stèidhichte air làrach agus neach-cleachdaidh. Faodaidh an solaraiche dàta airson an Data Lake a bhith na add-on brabhsair bàr rannsachaidh agus tagradh gluasadach le VPN togte.
  • Faodaidh dàta cuideachd tighinn bho làraich a tha a 'daingneachadh toraidhean lìonadh cheisteachain air-loidhne agus toraidhean agallamhan fòn ann an suirbhidhean chompanaidhean;
  • Faodaidh beairteas a bharrachd den loch dàta tachairt le bhith a’ luchdachadh sìos fiosrachadh bho logaichean chompanaidhean com-pàirteach.

Faodar buileachadh mar a tha luchdachadh bho shiostaman stòr gu prìomh ìre dàta amh a chuir air dòigh ann an grunn dhòighean. Ma thèid còd ìosal a chleachdadh airson na h-adhbharan sin, tha e comasach gineadh fèin-ghluasadach de sgriobtaichean luchdachadh stèidhichte air meata-dàta. Anns a 'chùis seo, chan fheumar a dhol sìos chun na h-ìre de thùs a tha a' leasachadh gus cuimseachadh air mapaichean. Gus luchdachadh fèin-ghluasadach a chuir an gnìomh, feumaidh sinn ceangal a stèidheachadh ris an stòr, agus an uairsin mìneachadh anns an eadar-aghaidh luchdachadh liosta nan aonadan a tha ri luchdachadh. Thèid structar an eòlaire ann an HDFS a chruthachadh gu fèin-ghluasadach agus co-fhreagairt ris an structar stòraidh dàta air an t-siostam stòr.

Ach, ann an co-theacsa a’ phròiseict seo, cho-dhùin sinn gun a bhith a’ cleachdadh am feart seo den àrd-ùrlar còd ìosal air sgàth gu bheil a’ chompanaidh Mediascope mu thràth air tòiseachadh gu neo-eisimeileach ag obair air seirbheis den aon seòrsa a dhèanamh a’ cleachdadh measgachadh Nifi + Kafka.

Is fhiach a bhith mothachail sa bhad nach eil na h-innealan sin eadar-mhalairteach, ach co-phàirteach. Tha e comasach dha Nifi agus Kafka obrachadh an dà chuid ann an ceangal dìreach (Nifi -> Kafka) agus air ais (Kafka -> Nifi). Airson an àrd-ùrlar rannsachaidh mheadhanan, chaidh a’ chiad dreach den phasgan a chleachdadh.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Anns a ’chùis againn, dh’ fheumadh NayFi diofar sheòrsaichean dàta a phròiseasadh bho shiostaman stòr agus an cur gu broker Kafka. Anns a ’chùis seo, chaidh teachdaireachdan a chuir gu cuspair sònraichte Kafka a’ cleachdadh pròiseasairean PublishKafka Nifi. Tha orcastra agus cumail suas nan loidhnichean-phìoban sin air a dhèanamh ann an eadar-aghaidh lèirsinneach. Faodar an inneal Nifi agus cleachdadh measgachadh Nifi + Kafka a bhith air an ainmeachadh cuideachd mar dhòigh-obrach còd ìosal airson leasachadh, aig a bheil cnap-starra ìosal a thaobh faighinn a-steach do theicneòlasan Dàta Mòr agus a luathaicheas pròiseas leasachadh tagraidh.

B’ e an ath cheum ann am buileachadh a’ phròiseict dàta mionaideach a thoirt gu cruth aon shreath semantach. Ma tha buadhan eachdraidheil aig eintiteas, thèid an àireamhachadh a dhèanamh ann an co-theacs an sgaradh sin. Mura h-eil an eintiteas eachdraidheil, tha e comasach gu roghnach an dàrna cuid susbaint iomlan an nì ath-àireamhachadh, no diùltadh gu tur an nì seo ath-àireamhachadh (air sgàth dìth atharrachaidhean). Aig an ìre seo, thèid iuchraichean a chruthachadh airson a h-uile buidheann. Tha na h-iuchraichean air an stòradh anns na clàran Hbase a tha co-chosmhail ris na prìomh nithean, anns a bheil conaltradh eadar na h-iuchraichean san àrd-ùrlar anailis agus na h-iuchraichean bho na siostaman stòr. An cois daingneachadh aonadan atamach tha beairteas le toraidhean àireamhachadh tòiseachaidh de dhàta anailis. B’ e Spark am frèam airson àireamhachadh dàta. Chaidh an gnìomh a chaidh a mhìneachadh airson dàta a thoirt gu aon semantics a chuir an gnìomh cuideachd stèidhichte air mapaichean bhon inneal Datagram le còd ìosal.

Dh'fheumadh an ailtireachd targaid cothrom SQL air dàta airson luchd-cleachdaidh gnìomhachais. Chaidh Hive a chleachdadh airson an roghainn seo. Bidh nithean air an clàradh ann an Hive gu fèin-ghluasadach nuair a bheir thu comas don roghainn “Registr Hive Table” anns an inneal còd ìosal.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Smachd sruth àireamhachaidh

Tha eadar-aghaidh aig Datagram airson dealbhadh sruth-obrach sruth-obrach a chruthachadh. Faodar mapaichean a chuir air bhog a’ cleachdadh clàr-ama Oozie. Anns an eadar-aghaidh leasaiche srutha, tha e comasach sgeamaichean a chruthachadh airson cruth-atharrachaidhean dàta co-shìnte, sreath no gnìomh. Tha taic ann airson sgriobtaichean shligean agus prògraman java. Tha e comasach cuideachd am frithealaiche Apache Livy a chleachdadh. Tha Apache Livy air a chleachdadh gus tagraidhean a ruith gu dìreach bhon àrainneachd leasachaidh.

Ma tha an orcastra pròiseas fhèin aig a’ chompanaidh mu thràth, tha e comasach an REST API a chleachdadh gus mapaichean fhighe a-steach do shruth a tha ann mar-thà. Mar eisimpleir, bha eòlas air leth soirbheachail againn ann a bhith a’ fighe a-steach mhapaichean ann an Scala ann an orcastra sgrìobhte ann am PLSQL agus Kotlin. Tha an REST API den inneal còd ìosal a’ toirt a-steach gnìomhachd leithid a bhith a’ gineadh bliadhna so-ghnìomhaichte stèidhichte air an dealbhadh mapaidh, a’ gairm mapadh, a’ gairm sreath de mhapaichean, agus, gu dearbh, a’ dol seachad air paramadairean chun URL gus mapaichean a ruith.

Còmhla ri Oozie, tha e comasach sruth àireamhachaidh a chuir air dòigh a’ cleachdadh Airflow. Is dòcha nach fuirich mi fada air a’ choimeas eadar Oozie agus Airflow, ach canaidh mi gu sìmplidh, ann an co-theacsa obair air pròiseact rannsachaidh meadhanan, gun do thuit an roghainn airson Airflow. B’ e na prìomh argamaidean an turas seo coimhearsnachd nas gnìomhaiche a’ leasachadh an toraidh agus eadar-aghaidh nas leasaichte + API.

Tha sruth-adhair math cuideachd leis gu bheil e a’ cleachdadh Python measail airson cunntas a thoirt air pròiseasan àireamhachaidh. Agus san fharsaingeachd, chan eil uimhir de àrd-ùrlaran riaghlaidh sruth-obrach stòr fosgailte ann. Le bhith a’ cur air bhog agus a’ cumail sùil air coileanadh phròiseasan (a’ toirt a-steach cairt Gantt) dìreach a’ cur puingean ri karma Airflow.

Tha am fòrmat faidhle rèiteachaidh airson mapaichean fuasglaidh còd ìosal a chuir air bhog air a dhol a-steach gu sgiobalta. Thachair seo airson dà adhbhar. An toiseach, leigidh spark-submit leat faidhle jar a ruith gu dìreach bhon consol. San dàrna h-àite, faodaidh am fiosrachadh riatanach gu lèir a bhith ann gus an sruth-obrach a rèiteachadh (a tha ga dhèanamh nas fhasa sgriobtaichean a sgrìobhadh a ghineas Dag).
B’ e an eileamaid as cumanta den t-sruth-obrach Airflow sa chùis againn an SparkSubmitOperator.

Leigidh SparkSubmitOperator leat cnagain a ruith - mapaichean Datagram pacaichte le paramadairean cuir a-steach ro-ghinte dhaibh.

Is fhiach a ràdh gu bheil gach gnìomh Airflow a’ ruith ann an snàithlean air leth agus nach eil fios aige air gnìomhan eile. Mar sin, thathas a’ dèanamh eadar-obrachadh eadar gnìomhan le bhith a’ cleachdadh oibrichean smachd, leithid DummyOperator no BranchPythonOperator.

Air an gabhail còmhla, le bhith a’ cleachdadh fuasgladh còd ìosal Datagram ann an co-bhonn ri bhith ag ath-nuadhachadh fhaidhlichean rèiteachaidh (a’ cruthachadh Dag) thàinig luathachadh mòr agus sìmpleachadh air a’ phròiseas airson sruthan luchdachadh dàta a leasachadh.

Àireamhan taisbeanaidh

Is dòcha gur e an ìre as motha a tha air a luchdachadh gu inntleachdail ann an cinneasachadh dàta anailis an ìre de bhith a’ togail thaisbeanaidhean. Ann an co-theacsa aon de shruth àireamhachaidh dàta a ’chompanaidh rannsachaidh, aig an ìre seo, tha an dàta air a lughdachadh gu craoladh iomraidh, a’ toirt aire do cheartachaidhean airson sònaichean ùine agus ceangailte ris a ’ghriod craolaidh. Tha e comasach cuideachd atharrachadh airson an lìonra craolaidh ionadail (naidheachdan ionadail agus sanasachd). Am measg rudan eile, tha an ceum seo a’ briseadh sìos na h-amannan de choimhead leantainneach air toraidhean meadhanan stèidhichte air mion-sgrùdadh air amannan seallaidh. Sa bhad, tha na luachan seallaidh air an “cuideam” stèidhichte air fiosrachadh mun chudromachd aca (àireamhachadh feart ceartachaidh).

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Is e ceum air leth ann a bhith ag ullachadh thaisbeanaidhean dearbhadh dàta. Tha an algairim dearbhaidh a’ toirt a-steach cleachdadh grunn mhodalan saidheans matamataigeach. Ach, le bhith a’ cleachdadh àrd-ùrlar còd ìosal leigidh sin leat algorithm iom-fhillte a bhriseadh a-steach do ghrunn mhapaichean fa leth a ghabhas leughadh gu fradharcach. Bidh gach mapadh a’ coileanadh obair chumhang. Mar thoradh air an sin, tha e comasach debugging eadar-mheadhanach, logadh agus sealladh de ìrean ullachaidh dàta.

Chaidh co-dhùnadh an algairim dearbhaidh a sgaradh gu na fo-ìrean a leanas:

  • A’ togail air ais air eisimeileachd coimhead lìonra Tbh ann an sgìre le bhith a’ coimhead air a h-uile lìonra san roinn airson 60 latha.
  • Obraich a-mach fuigheall oileanach (gluasadan de luachan fìor bhon fheadhainn a tha air an ro-innse leis a’ mhodail ath-thilleadh) airson a h-uile puing ais-tharraing agus airson an latha àireamhaichte.
  • Taghadh de chàraidean lìonra sgìre neo-riaghailteach, far a bheil cothromachadh oileanach an latha rèiteachaidh nas àirde na an àbhaist (air a shònrachadh leis na roghainnean obrachaidh).
  • Ath-àireamhachadh a’ chòrr oileanach ceartaichte airson paidhrichean lìonra sgìreil-Tbh neo-riaghailteach airson gach neach-freagairt a choimhead air an lìonra san roinn, a’ dearbhadh tabhartas an neach-freagairt seo (an ìre de dh’ atharrachadh anns a’ chòrr de dh’oileanaich) nuair a chaidh an neach-freagairt seo a chumail a-mach às an t-sampall. .
  • Lorg tagraichean a bheir an dùnadh a-mach cothromachadh oileanach an latha-pàighidh air ais gu àbhaisteach.

Tha an eisimpleir gu h-àrd a’ dearbhadh a’ bharail gu bheil cus air inntinn innleadair dàta mu thràth... Agus, mas e “innleadair” a tha seo dha-rìribh agus chan e “còdadair,” tha eagal air truailleadh proifeasanta nuair a bhios e a’ cleachdadh innealan còd ìosal. feumaidh e tilleadh air ais mu dheireadh.

Dè eile as urrainn còd ìosal a dhèanamh?

Chan eil farsaingeachd cleachdadh inneal còd ìosal airson giullachd dàta baidse is sruthadh gun fheum air còd a sgrìobhadh le làimh ann an Scala a’ tighinn gu crìch an sin.

Tha cleachdadh còd ìosal ann an leasachadh datalake air a thighinn gu bhith na inbhe dhuinn mar-thà. Is dòcha gun urrainn dhuinn a ràdh gu bheil fuasglaidhean stèidhichte air stac Hadoop a’ leantainn slighe leasachaidh DWHn clasaigeach stèidhichte air RDBMS. Faodaidh innealan còd ìosal air stac Hadoop fuasgladh fhaighinn air an dà chuid gnìomhan giollachd dàta agus an obair eadar-aghaidh BI deireannach a thogail. A bharrachd air an sin, bu chòir a thoirt fa-near gum faod BI a bhith a ’ciallachadh chan e a-mhàin riochdachadh dàta, ach cuideachd an deasachadh le luchd-cleachdaidh gnìomhachais. Bidh sinn gu tric a’ cleachdadh an gnìomh seo nuair a bhios sinn a’ togail àrd-ùrlaran anailis airson roinn an ionmhais.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Am measg rudan eile, a’ cleachdadh còd ìosal agus, gu sònraichte, Datagram, tha e comasach fuasgladh fhaighinn air an duilgheadas a thaobh a bhith a’ cumail sùil air tùs nithean sruth dàta le atmhorachd sìos gu raointean fa leth (loidhne). Gus seo a dhèanamh, bidh an inneal còd ìosal a’ cur an gnìomh eadar-aghaidh le Apache Atlas agus Cloudera Navigator. Gu bunaiteach, feumaidh an leasaiche seata de stuthan a chlàradh ann am faclairean Atlas agus iomradh a thoirt air na stuthan clàraichte nuair a bhios iad a’ togail mhapaichean. Bidh an dòigh-obrach airson sùil a chumail air tùs dàta no mion-sgrùdadh air eisimeileachd nithean a’ sàbhaladh mòran ùine nuair a dh’ fheumar leasachaidhean a dhèanamh air na h-algorithms àireamhachaidh. Mar eisimpleir, nuair a bhios tu ag ullachadh aithrisean ionmhais, leigidh am feart seo leat a bhith beò nas comhfhurtail rè ùine nan atharrachaidhean reachdail. Às deidh na h-uile, mar as fheàrr a thuigeas sinn an eisimeileachd eadar-chruth ann an co-theacsa nithean de shreath mhionaideach, is ann as lugha a thig sinn tarsainn air uireasbhaidhean “gu h-obann” agus lughdaichidh sinn an àireamh de ath-obraichean.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Càileachd an dàta & còd ìosal

B’ e gnìomh eile a chaidh a chuir an gnìomh leis an inneal còd ìosal air pròiseact Mediascope gnìomh clas Càileachd Dàta. B’ e feart de bhuileachadh na loidhne-phìoban dearbhaidh dàta airson pròiseact a’ chompanaidh rannsachaidh an dìth buaidh air coileanadh agus astar a’ phrìomh shruth àireamhachaidh dàta. Gus a bhith comasach air sruthan dearbhaidh dàta neo-eisimeileach a chuir air dòigh, chaidh an Apache Airflow a bha eòlach mar-thà a chleachdadh. Leis gu robh gach ceum cinneasachaidh dàta deiseil, chaidh pàirt air leth den loidhne-phìoban DQ a chuir air bhog aig an aon àm.

Thathas den bheachd gur e deagh chleachdadh a th’ ann sùil a chumail air càileachd an dàta bhon mhionaid a thòisich e san àrd-ùrlar anailis. Le fiosrachadh mu mheata-dàta, is urrainn dhuinn sgrùdadh a dhèanamh air gèilleadh ri cumhaichean bunaiteach bhon mhionaid a thig am fiosrachadh a-steach don phrìomh ìre - chan e null, cuingeadan, iuchraichean cèin. Tha an gnìomh seo air a bhuileachadh stèidhichte air mapaichean fèin-ghluasadach den teaghlach càileachd dàta ann an Datagram. Tha gineadh còd sa chùis seo cuideachd stèidhichte air meata-dàta modail. Air pròiseact Mediascope, chaidh an eadar-aghaidh a dhèanamh le meata-dàta toradh Enterprise Architect.

Le bhith a’ càradh an inneal còd ìosal le Enterprise Architect, chaidh na sgrùdaidhean a leanas a chruthachadh gu fèin-ghluasadach:

  • A’ dèanamh cinnteach gu bheil luachan “null” ann an raointean leis an inneal-atharrachaidh “not null”;
  • sgrùdadh air làthaireachd dùblaidhean den phrìomh iuchair;
  • A’ sgrùdadh iuchair cèin eintiteas;
  • A’ sgrùdadh cho sònraichte sa tha sreang stèidhichte air seata de raointean.

Airson sgrùdaidhean nas iom-fhillte air ruigsinneachd dàta agus earbsachd, chaidh mapadh a chruthachadh le Scala Expression, a bhios a’ toirt a-steach còd sgrùdaidh Spark SQL taobh a-muigh air ullachadh le luchd-anailis aig Zeppelin.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Gu dearbh, feumar gineadh fèin-ghluasadach de sgrùdaidhean a choileanadh mean air mhean. Taobh a-staigh frèam a’ phròiseict a chaidh a mhìneachadh, bha na ceumannan a leanas air thoiseach air seo:

  • DQ air a chuir an gnìomh ann an leabhraichean notaichean Zeppelin;
  • DQ air a thogail a-steach do mhapadh;
  • DQ ann an cruth mhapaichean mòra fa leth anns a bheil seata iomlan de sgrùdaidhean airson eintiteas fa leth;
  • Mapaichean DQ le paramadair uile-choitcheann a ghabhas ri fiosrachadh mu mheata-dàta agus sgrùdaidhean gnìomhachais mar chur-a-steach.

Is dòcha gur e am prìomh bhuannachd a bhith a’ cruthachadh seirbheis sgrùdaidh paramadair an lùghdachadh san ùine a bheir e gus comas-gnìomh a lìbhrigeadh don àrainneachd cinneasachaidh. Faodaidh sgrùdaidhean càileachd ùra a dhol seachad air a’ phàtran clasaigeach de lìbhrigeadh còd gu neo-dhìreach tro àrainneachdan leasachaidh is deuchainn:

  • Bidh a h-uile sgrùdadh meata-dàta air a chruthachadh gu fèin-ghluasadach nuair a thèid am modail atharrachadh ann an EA;
  • Faodar sgrùdaidhean ruigsinneachd dàta (a ’dearbhadh làthaireachd dàta sam bith aig àm sònraichte) a chruthachadh stèidhichte air eòlaire a bhios a’ stòradh an àm ris a bheil dùil airson coltas an ath phìos dàta ann an co-theacsa nithean;
  • Tha sgrùdaidhean dearbhaidh dàta gnìomhachais air an cruthachadh le sgrùdairean ann an leabhraichean notaichean Zeppelin. Às an sin thèid an cur gu dìreach gu clàran rèiteachaidh modal DQ san àrainneachd cinneasachaidh.

Chan eil cunnart ann gun tèid sgriobtaichean a chuir gu cinneasachadh gu dìreach. Eadhon le mearachd co-chòrdadh, is e an ìre as motha a tha gar bagairt gun dèan sinn aon sgrùdadh, leis gu bheil an sruth àireamhachaidh dàta agus an t-sruth cur air bhog sgrùdadh càileachd air an sgaradh bho chèile.

Gu dearbh, tha an t-seirbheis DQ a’ ruith gu maireannach san àrainneachd cinneasachaidh agus tha e deiseil airson tòiseachadh air an obair aige cho luath ‘s a nochdas an ath phìos dàta.

An àite a bhith co-dhùnadh

Tha buannachd a bhith a’ cleachdadh còd ìosal follaiseach. Chan fheum luchd-leasachaidh an tagradh a leasachadh bhon fhìor thoiseach. Agus bidh prògramadair air a shaoradh bho ghnìomhan a bharrachd a’ toirt toraidhean nas luaithe. Bidh astar, an uair sin, a’ saoradh ùine a bharrachd airson fuasgladh fhaighinn air cùisean optimization. Mar sin, anns a 'chùis seo, faodaidh tu cunntadh air fuasgladh nas fheàrr agus nas luaithe.

Gu dearbh, chan e panacea a th’ ann an còd ìosal, agus cha tachair draoidheachd leis fhèin:

  • Tha gnìomhachas còd ìosal a’ dol tro ìre “fàs nas làidire”, agus chan eil inbhean gnìomhachais co-ionann ann fhathast;
  • Tha mòran de fhuasglaidhean còd ìosal nach eil an-asgaidh, agus bu chòir an ceannach a bhith na cheum mothachail, a bu chòir a dhèanamh le làn mhisneachd mu na buannachdan ionmhasail bho bhith gan cleachdadh;
  • Bidh mòran de fhuasglaidhean còd ìosal an-còmhnaidh ag obair gu math le GIT/SVN. No tha iad mì-ghoireasach an cleachdadh ma tha an còd gineadh falaichte;
  • Nuair a thèid an ailtireachd a leudachadh, is dòcha gum feumar am fuasgladh còd ìosal ùrachadh - a bheir, an uair sin, buaidh “ceangal agus eisimeileachd” air solaraiche an fhuasglaidh còd ìosal.
  • Tha ìre iomchaidh de thèarainteachd comasach, ach tha e gu math saothair-dian agus duilich a chuir an gnìomh ann an einnseanan siostam còd ìosal. Bu chòir àrd-ùrlaran còd ìosal a thaghadh chan ann a-mhàin air a’ phrionnsapal a bhith a’ sireadh bhuannachdan bhon cleachdadh. Nuair a thaghas tu, is fhiach ceistean fhaighneachd mu na tha ri fhaighinn de ghnìomhachd airson smachd ruigsinneachd agus tiomnadh / àrdachadh dàta aithneachaidh gu ìre cruth-tìre IT iomlan na buidhne.

Cur an gnìomh còd ìosal ann an àrd-ùrlaran anailis

Ach, ma tha fios agad air a h-uile easbhaidhean san t-siostam taghte, agus na buannachdan bho bhith ga chleachdadh, ge-tà, anns a ’mhòr-chuid as làidire, gluais air adhart gu còd beag gun eagal. A bharrachd air an sin, tha an gluasad gu ruige seo do-sheachanta - dìreach mar a tha mean-fhàs sam bith do-sheachanta.

Ma nì aon leasaiche air àrd-ùrlar còd ìosal an obair aige nas luaithe na dà leasaiche gun chòd ìosal, bheir seo toiseach tòiseachaidh don chompanaidh anns a h-uile dòigh. Tha an stairsneach airson faighinn a-steach do fhuasglaidhean còd ìosal nas ìsle na ann an teicneòlasan “traidiseanta”, agus tha deagh bhuaidh aige air cùis gainnead luchd-obrach. Nuair a bhios tu a’ cleachdadh innealan còd ìosal, tha e comasach eadar-obrachadh eadar sgiobaidhean gnìomh a luathachadh agus co-dhùnaidhean nas luaithe a dhèanamh a thaobh ceartachd an t-slighe a chaidh a thaghadh airson sgrùdadh saidheans dàta. Faodaidh àrd-ùrlaran ìre ìosal cruth-atharrachadh didseatach buidhne a stiùireadh oir faodaidh eòlaichean neo-theicnigeach (gu sònraichte luchd-cleachdaidh gnìomhachais) na fuasglaidhean a thig a-mach a thuigsinn.

Ma tha cinn-latha teann agad, loidsig gnìomhachais luchdaichte, dìth eòlais teicneòlach, agus feumaidh tu d’ ùine gu margaidheachd a luathachadh, is e còd ìosal aon dòigh air na feumalachdan agad a choileanadh.

Chan eil dol às àicheadh ​​​​cho cudromach sa tha innealan leasachaidh traidiseanta, ach ann an iomadh cùis, is e cleachdadh fuasglaidhean còd ìosal an dòigh as fheàrr air èifeachdas nan gnìomhan a tha air am fuasgladh a mheudachadh.

Source: www.habr.com

Cuir beachd ann