Kev siv cov lej qis hauv kev txheeb xyuas platforms

Nyob zoo cov nyeem, hnub zoo!

Lub luag haujlwm ntawm kev tsim IT platforms rau kev sau thiab tshuaj xyuas cov ntaub ntawv sai lossis tom qab tshwm sim rau txhua lub tuam txhab uas nws txoj kev lag luam yog raws li kev txawj ntse kev pabcuam kev xa khoom lossis kev tsim cov khoom siv thev naus laus zis. Kev tsim cov cuab yeej tshuaj ntsuam xyuas yog ib txoj haujlwm nyuaj thiab siv sijhawm ntev. Txawm li cas los xij, txhua txoj haujlwm tuaj yeem yooj yim. Hauv tsab xov xwm no kuv xav qhia kuv qhov kev paub hauv kev siv cov cuab yeej qis los pab tsim cov kev daws teeb meem analytical. Qhov kev paub no tau txais thaum lub sijhawm ua haujlwm ntawm ntau qhov haujlwm hauv Cov Ntaub Ntawv Loj Cov Lus Qhia ntawm Neoflex lub tuam txhab. Txij li xyoo 2005, Cov Kev Qhia Loj Cov Ntaub Ntawv ntawm Neoflex tau ua haujlwm nrog cov teeb meem ntawm kev tsim cov ntaub ntawv warehouses thiab pas dej, daws teeb meem ntawm optimizing cov ntaub ntawv ceev ceev thiab ua hauj lwm ntawm ib tug txheej txheem rau cov ntaub ntawv zoo tswj.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Tsis muaj leej twg yuav muaj peev xwm zam kom tsis txhob muaj kev nco qab ntawm cov ntaub ntawv tsis muaj zog thiab / lossis cov ntaub ntawv muaj zog. Tej zaum txawm tias peb tab tom tham txog kev lag luam me. Tom qab tag nrho, thaum ntsuas kev lag luam, tus neeg ua lag luam pheej hmoo yuav ntsib teeb meem ntawm kev txhim kho kev ncaj ncees, yuav xav txheeb xyuas qhov ua tau zoo ntawm cov ntsiab lus ntawm kev muag khoom, yuav xav txog cov phiaj xwm tshaj tawm, thiab yuav xav tsis thoob los ntawm qhov kev thov rau cov khoom lag luam nrog. . Rau thawj qhov kwv yees, qhov teeb meem tuaj yeem daws tau "ntawm lub hauv caug". Tab sis raws li kev lag luam loj hlob tuaj, los mus rau qhov kev tshuaj ntsuam xyuas platform tseem yog kev zam.

Txawm li cas los xij, hauv qhov xwm txheej twg cov ntaub ntawv txheeb xyuas cov haujlwm tuaj yeem txhim kho mus rau "Rocket Science" cov teeb meem hauv chav kawm? Tej zaum lub sijhawm thaum peb tab tom tham txog cov ntaub ntawv loj tiag tiag.
Yuav kom Rocket Science yooj yim dua, koj tuaj yeem noj cov ntxhw ib thooj.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Qhov ntau discrete thiab autonomous koj daim ntawv thov / kev pab cuam / microservices yog, nws yuav yooj yim dua rau koj, koj cov npoj yaig thiab tag nrho cov lag luam kom zom cov ntxhw.

Yuav luag tag nrho peb cov neeg siv khoom tuaj rau qhov kev tshaj tawm no, tau tsim kho thaj chaw ua haujlwm raws li kev coj ua haujlwm ntawm DevOps pab pawg.

Tab sis txawm tias nrog kev noj zaub mov "sib cais, ntxhw", peb muaj lub sijhawm zoo ntawm "oversaturation" ntawm IT toj roob hauv pes. Lub sijhawm no nws tsim nyog nres, exhaling thiab saib rau sab low-code engineering platform.

Ntau tus neeg tsim khoom txaus ntshai los ntawm qhov kev cia siab ntawm qhov kawg ntawm lawv txoj haujlwm thaum tsiv tawm ntawm kev sau ncaj qha mus rau "txuas" cov xub hauv UI interfaces ntawm cov lej qis. Tab sis qhov tshwm sim ntawm cov cuab yeej siv tshuab tsis tau ua rau kev ploj ntawm cov engineers, tab sis coj lawv txoj haujlwm mus rau qib tshiab!

Cia peb xav seb vim li cas.

Kev txheeb xyuas cov ntaub ntawv hauv kev lag luam logistics, kev lag luam hauv xov tooj, kev tshawb fawb xov xwm, kev lag luam nyiaj txiag ib txwm cuam tshuam nrog cov lus nug hauv qab no:

  • Kev ceev ntawm kev txheeb xyuas tsis siv neeg;
  • Muaj peev xwm ua qhov kev sim tsis cuam tshuam rau cov ntaub ntawv tseem ceeb tsim tawm;
  • Kev ntseeg tau ntawm cov ntaub ntawv npaj;
  • Hloov kev taug qab thiab versioning;
  • Cov ntaub ntawv pov thawj, Cov ntaub ntawv kab, CDC;
  • Kev xa khoom sai ntawm cov yam ntxwv tshiab rau qhov chaw tsim khoom;
  • Thiab qhov tsis zoo: tus nqi ntawm kev txhim kho thiab kev txhawb nqa.

Ntawd yog, engineers muaj ntau tus lej ntawm cov haujlwm siab, uas tuaj yeem ua tiav nrog kev ua haujlwm txaus nkaus xwb los ntawm kev tshem tawm lawv lub siab ntawm kev txhim kho qib qis.

Qhov yuav tsum tau ua ua ntej rau cov neeg tsim khoom kom txav mus rau theem tshiab yog kev hloov pauv thiab digitalization ntawm kev lag luam. Tus nqi ntawm tus tsim tawm kuj tseem hloov pauv: muaj qhov tsis txaus ntawm cov neeg tsim khoom uas tuaj yeem ua rau lawv tus kheej nyob rau hauv cov ntsiab lus ntawm kev lag luam yog automated.

Cia peb kos ib qho piv txwv nrog rau qib qis thiab qib siab programming lus. Kev hloov ntawm cov lus qis mus rau qib siab yog kev hloov pauv los ntawm kev sau ntawv "cov lus qhia ncaj qha hauv cov lus ntawm cov khoom siv" mus rau "cov lus qhia hauv cov lus ntawm tib neeg". Uas yog, ntxiv ib co txheej ntawm abstraction. Nyob rau hauv cov ntaub ntawv no, kev hloov mus rau low-code platforms los ntawm high-level programming languages ​​yog ib qho kev hloov los ntawm "cov lus qhia hauv cov lus ntawm tib neeg" mus rau "cov lus qhia hauv cov lus ntawm kev lag luam." Yog tias muaj cov neeg tsim khoom tu siab los ntawm qhov tseeb no, ces lawv tau tu siab, tej zaum, txij li lub sijhawm Java Script tau yug los, uas siv array sorting functions. Thiab cov haujlwm no, tau kawg, muaj kev siv software hauv qab lub hood los ntawm lwm txoj hauv kev ntawm tib theem kev ua haujlwm siab.

Yog li ntawd, qis-code tsuas yog qhov tshwm sim ntawm lwm theem ntawm abstraction.

Kev paub siv cov lej qis

Lub ntsiab lus ntawm cov lej qis yog qhov dav heev, tab sis tam sim no kuv xav tham txog kev siv tswv yim ntawm "cov ntsiab lus qis" uas siv cov piv txwv ntawm ib qho ntawm peb cov haujlwm.

Qhov Loj Cov Ntaub Ntawv Kev daws teeb meem ntawm Neoflex tshwj xeeb hauv kev lag luam nyiaj txiag ntawm kev lag luam, tsim cov ntaub ntawv warehouses thiab pas dej thiab automating ntau yam kev qhia. Hauv qhov niche no, kev siv cov lej qis tau ntev dhau los ua tus qauv. Ntawm lwm cov cuab yeej siv qis, peb tuaj yeem hais cov cuab yeej rau kev teeb tsa ETL cov txheej txheem: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Los yog Oracle Apex, uas ua raws li ib puag ncig rau kev loj hlob sai ntawm kev cuam tshuam rau kev nkag mus thiab kho cov ntaub ntawv. Txawm li cas los xij, kev siv cov cuab yeej tsim kho qis qis tsis yog ib txwm koom nrog kev tsim cov ntawv thov tshwj xeeb ntawm cov khoom lag luam thev naus laus zis nrog kev cia siab meej ntawm tus neeg muag khoom.

Siv cov txheej txheem qis qis, koj tuaj yeem teeb tsa lub orchestration ntawm cov ntaub ntawv ntws, tsim cov ntaub ntawv tshawb fawb platforms lossis, piv txwv li, cov qauv rau kev tshuaj xyuas cov ntaub ntawv zoo.

Ib qho piv txwv ntawm cov kev paub dhau los hauv kev siv cov cuab yeej tsim kho qis yog kev sib koom tes ntawm Neoflex thiab Mediascope, yog ib tus thawj coj hauv Lavxias kev tshawb fawb kev lag luam. Ib lub hom phiaj kev lag luam ntawm lub tuam txhab no yog tsim cov ntaub ntawv raws li cov neeg tshaj tawm, Internet platforms, TV channels, xov tooj cua, cov koom haum tshaj tawm thiab cov hom lag luam txiav txim siab txog kev yuav khoom tshaj tawm thiab npaj lawv cov kev sib txuas lus lag luam.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Kev tshawb fawb xov xwm yog ib qho chaw ua haujlwm ntawm kev lag luam. Paub txog cov yeeb yaj kiab ua ntu zus, sau cov ntaub ntawv los ntawm cov khoom siv uas ntsuas kev saib, ntsuas kev ua haujlwm ntawm cov khoom siv hauv web - tag nrho qhov no txhais tau tias lub tuam txhab muaj cov neeg ua haujlwm IT loj thiab muaj kev paub dhau los hauv kev tsim cov kev daws teeb meem analytical. Tab sis qhov nthuav dav ntawm cov ntaub ntawv, tus lej thiab ntau yam ntawm nws cov peev txheej ua rau IT cov ntaub ntawv kev lag luam mus tas li. Qhov kev daws teeb meem yooj yim tshaj plaws rau kev ntsuas qhov ua haujlwm Mediascope analytical platform uas twb muaj lawm tuaj yeem ua rau cov neeg ua haujlwm IT nce ntxiv. Tab sis qhov kev daws teeb meem zoo dua yog txhawm rau ua kom cov txheej txheem txhim kho. Ib qho ntawm cov kauj ruam uas coj mus rau hauv qhov kev taw qhia no yuav yog kev siv cov txheej txheem qis.

Thaum lub sijhawm pib qhov project, lub tuam txhab twb muaj cov khoom lag luam daws teeb meem. Txawm li cas los xij, kev siv cov kev daws teeb meem hauv MSSQL tsis tuaj yeem ua tau raws li qhov kev cia siab rau kev ua haujlwm zoo thaum tswj hwm tus nqi tsim nyog.

Lub luag haujlwm ua ntej peb tau mob siab rau tiag tiag - Neoflex thiab Mediascope yuav tsum tsim kom muaj kev lag luam daws teeb meem hauv tsawg dua ib xyoos, raug tso tawm MVP hauv thawj peb lub hlis twg ntawm hnub pib.

Hadoop thev naus laus zis pawg tau raug xaiv los ua lub hauv paus rau kev tsim cov ntaub ntawv tshiab platform raws li kev suav lej qis. HDFS tau dhau los ua tus qauv rau cov ntaub ntawv khaws cia siv cov ntaub ntawv parquet. Txhawm rau nkag mus rau cov ntaub ntawv nyob hauv lub platform, Hive tau siv, uas txhua qhov chaw muag khoom muaj nyob rau hauv daim ntawv ntawm cov rooj sab nraud. Kev thauj cov ntaub ntawv mus rau hauv qhov chaw cia tau siv Kafka thiab Apache NiFi.

Cov cuab yeej Lowe-code hauv lub tswv yim no tau siv los ua kom zoo tshaj qhov kev ua haujlwm hnyav tshaj plaws hauv kev tsim lub platform analytical - txoj haujlwm ntawm kev suav cov ntaub ntawv.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Cov cuab yeej Datagram qis tau raug xaiv los ua cov txheej txheem tseem ceeb rau kev qhia cov ntaub ntawv. Neoflex Datagram yog ib lub cuab yeej los tsim kev hloov pauv thiab cov ntaub ntawv ntws.
Siv cov cuab yeej no, koj tuaj yeem ua yam tsis tau sau Scala code manually. Scala code yog generated txiav siv tus qauv Tsav Architecture mus kom ze.

Ib qho txiaj ntsig zoo ntawm txoj hauv kev no yog kev ua kom cov txheej txheem kev loj hlob sai. Txawm li cas los xij, ntxiv rau kev ceev, kuj tseem muaj cov txiaj ntsig hauv qab no:

  • Saib cov ntsiab lus thiab cov qauv ntawm qhov chaw / txais;
  • Tracing lub hauv paus chiv keeb ntawm cov ntaub ntawv ntws cov khoom mus rau ib tug neeg teb (kab mob);
  • Kev ua tiav ib nrab ntawm kev hloov pauv nrog saib cov txiaj ntsig nruab nrab;
  • Txheeb xyuas qhov chaws thiab kho nws ua ntej ua tiav;
  • Tsis siv neeg validation ntawm transformations;
  • Tsis siv neeg cov ntaub ntawv rub tawm 1 hauv 1.

Qhov cuam tshuam rau kev nkag mus rau cov kev daws teeb meem qis rau kev tsim cov kev hloov pauv yog qhov tsawg heev: tus tsim tawm yuav tsum paub SQL thiab muaj kev paub ua haujlwm nrog ETL cov cuab yeej. Nws yog tsim nyog hais tias code-driven transformation generators tsis yog ETL cov cuab yeej nyob rau hauv lub dav dav ntawm lo lus. Cov cuab yeej siv qis qis yuav tsis muaj lawv tus kheej cov lej ua haujlwm ib puag ncig. Ntawd yog, cov cai tsim tawm yuav raug tua nyob rau hauv ib puag ncig uas muaj nyob rau ntawm pawg txawm tias ua ntej txhim kho cov kev daws teeb meem qis. Thiab qhov no yog kab tias lwm ntxiv rau qis-code karma. Txij li thaum, nyob rau tib lub sijhawm nrog pab pawg qis, pab pawg "classic" tuaj yeem ua haujlwm uas ua haujlwm ua haujlwm, piv txwv li, hauv Scala code ntshiab. Nqa kev txhim kho los ntawm ob pawg hauv kev tsim khoom yuav yooj yim thiab seamless.

Tej zaum nws tsim nyog sau cia tias ntxiv rau cov lej qis, kuj tseem muaj cov kev daws teeb meem tsis muaj cai. Thiab ntawm lawv lub hauv paus, cov no yog qhov sib txawv. Tsawg-code tso cai rau tus tsim tawm cuam tshuam ntau ntxiv nrog cov code tsim. Nyob rau hauv cov ntaub ntawv ntawm Datagram, nws muaj peev xwm mus saib thiab kho cov generated Scala code; tsis-code tej zaum yuav tsis muab xws li ib tug lub sij hawm. Qhov kev sib txawv no tseem ceeb heev tsis yog tsuas yog nyob rau hauv cov nqe lus ntawm kev yooj yim ntawm kev daws, tab sis kuj nyob rau hauv cov nqe lus ntawm kev nplij siab thiab kev txhawb siab nyob rau hauv kev ua hauj lwm ntawm cov ntaub ntawv engineers.

Solution architecture

Cia peb sim ua kom paub tseeb tias yuav ua li cas lub cuab yeej qis qis pab daws qhov teeb meem ntawm kev ua kom zoo dua qhov nrawm ntawm kev tsim cov ntaub ntawv suav ua haujlwm. Ua ntej, cia peb saib cov haujlwm ua haujlwm ntawm qhov system. Ib qho piv txwv hauv qhov no yog cov qauv tsim cov ntaub ntawv rau kev tshawb fawb tawm.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Cov ntaub ntawv hauv peb cov ntaub ntawv yog ntau heterogeneous thiab ntau haiv neeg:

  • Cov neeg ntsuas (TV meters) yog cov software thiab khoom siv kho vajtse uas nyeem cov neeg siv tus cwj pwm los ntawm cov neeg teb xov tooj hauv TV - leej twg, thaum twg thiab dab tsi TV channel tau saib hauv tsev neeg uas koom nrog hauv txoj kev tshawb no. Cov ntaub ntawv muab yog cov kwj ntawm kev tshaj tawm saib cov ntu txuas mus rau cov pob xov xwm thiab cov khoom siv xov xwm. Cov ntaub ntawv nyob rau theem ntawm kev thauj khoom mus rau hauv Data Lake tuaj yeem ua kom muaj txiaj ntsig zoo nrog pej xeem cov yam ntxwv, geostratification, thaj tsam lub sijhawm thiab lwm yam ntaub ntawv tsim nyog rau kev tshuaj xyuas TV saib ntawm cov khoom siv xov xwm tshwj xeeb. Cov kev ntsuas ntsuas tuaj yeem siv los txheeb xyuas lossis npaj cov phiaj xwm tshaj tawm, ntsuas cov haujlwm thiab kev nyiam ntawm cov neeg tuaj saib, thiab suav nrog kev tshaj tawm xov xwm;
  • Cov ntaub ntawv tuaj yeem los ntawm kev soj ntsuam cov tshuab rau streaming TV tshaj tawm thiab ntsuas kev saib cov ntsiab lus video hauv Is Taws Nem;
  • Kev ntsuas cov cuab yeej hauv lub vev xaib ib puag ncig, suav nrog ob qhov chaw-centric thiab cov neeg siv-centric meters. Tus neeg muab ntaub ntawv rau Data Lake tuaj yeem yog qhov kev tshawb fawb bar browser ntxiv-on thiab daim ntawv thov mobile nrog lub VPN built-in.
  • Cov ntaub ntawv tseem tuaj yeem los ntawm cov chaw uas sib sau ua ke cov txiaj ntsig ntawm kev sau cov lus nug hauv online thiab cov txiaj ntsig ntawm kev sib tham hauv xov tooj hauv cov tuam txhab kev tshawb fawb;
  • Ntxiv enrichment ntawm cov ntaub ntawv pas dej tuaj yeem tshwm sim los ntawm kev rub tawm cov ntaub ntawv los ntawm cov cav ntawm cov tuam txhab koom tes.

Kev siv raws li kev thauj khoom los ntawm cov kab ke mus rau hauv thawj theem ntawm cov ntaub ntawv nyoos tuaj yeem teeb tsa hauv ntau txoj hauv kev. Yog tias qis-code yog siv rau cov hom phiaj no, tsis siv neeg tsim cov ntawv sau cov ntawv raws li metadata tau. Nyob rau hauv cov ntaub ntawv no, tsis tas yuav tsum mus rau theem ntawm kev txhim kho qhov chaw rau lub hom phiaj mappings. Txhawm rau siv qhov kev thauj khoom tsis siv neeg, peb yuav tsum tsim kom muaj kev sib txuas rau lub hauv paus, thiab tom qab ntawd txhais hauv qhov chaw thauj khoom interface cov npe ntawm cov chaw yuav tsum tau thauj khoom. Daim ntawv teev cov qauv hauv HDFS yuav raug tsim los thiab yuav ua raws li cov ntaub ntawv khaws cia ntawm qhov system.

Txawm li cas los xij, nyob rau hauv cov ntsiab lus ntawm qhov project no, peb txiav txim siab tsis siv qhov tshwj xeeb ntawm lub platform qis vim qhov tseeb tias lub tuam txhab Mediascope twb tau pib ua haujlwm ntawm kev tsim cov kev pabcuam zoo sib xws uas siv Nifi + Kafka ua ke.

Nws yog ib qho tsim nyog qhia tam sim ntawd tias cov cuab yeej no tsis hloov pauv tau, tab sis qhov sib ntxiv. Nifi thiab Kafka tuaj yeem ua haujlwm ncaj qha (Nifi -> Kafka) thiab rov qab (Kafka -> Nifi) kev sib txuas. Rau cov kev tshawb fawb kev tshaj tawm platform, thawj version ntawm cov pob khoom tau siv.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Hauv peb qhov xwm txheej, NayFi xav tau los ua ntau hom ntaub ntawv los ntawm cov kab ke thiab xa mus rau Kafka broker. Hauv qhov no, cov lus raug xa mus rau lub ntsiab lus Kafka tshwj xeeb siv PublishKafka Nifi processors. Lub orchestration thiab txij nkawm ntawm cov kav dej no yog ua nyob rau hauv ib qho kev pom kev sib tshuam. Cov cuab yeej Nifi thiab kev siv Nifi + Kafka ua ke kuj tseem tuaj yeem hu ua txoj hauv kev qis rau kev txhim kho, uas muaj qhov cuam tshuam qis rau kev nkag mus rau Cov Ntaub Ntawv Loj thiab ua kom cov txheej txheem kev txhim kho daim ntawv thov.

Cov theem tom ntej hauv qhov kev siv qhov project yog coj cov ntaub ntawv ntxaws ntxaws rau ib txheej txheej semantic. Yog hais tias ib lub koom haum muaj cov yam ntxwv keeb kwm, qhov kev suav yog ua nyob rau hauv cov ntsiab lus ntawm qhov muab faib hauv nqe lus nug. Yog tias qhov chaw tsis yog keeb kwm, ces nws tuaj yeem xaiv tau los suav tag nrho cov ntsiab lus ntawm cov khoom, lossis tsis kam lees rov xam cov khoom no (vim tsis muaj kev hloov pauv). Nyob rau theem no, cov yuam sij raug tsim rau txhua qhov chaw. Cov yawm sij tau muab khaws cia rau hauv Hbase cov ntawv teev npe sib raug rau cov khoom siv tswv yim, uas muaj cov ntawv xov xwm ntawm cov yuam sij hauv qhov kev tshuaj ntsuam xyuas thiab cov yuam sij los ntawm lub hauv paus system. Consolidation ntawm atomic entities yog nrog los ntawm enrichment nrog cov txiaj ntsig ntawm kev suav ua ntej ntawm cov ntaub ntawv txheeb xyuas. Lub moj khaum rau kev suav cov ntaub ntawv yog Spark. Cov kev ua haujlwm tau piav qhia rau kev nqa cov ntaub ntawv mus rau ib qho semantics kuj tau siv raws li kev kos duab los ntawm cov cuab yeej qis Datagram.

Lub hom phiaj architecture xav tau SQL nkag mus rau cov ntaub ntawv rau cov neeg siv lag luam. Hive tau siv rau qhov kev xaiv no. Cov khoom raug sau npe hauv Hive tau txais thaum koj qhib qhov "Registr Hive Table" kev xaiv hauv cov cuab yeej qis.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Kev suav cov dej ntws tswj

Datagram muaj qhov cuam tshuam rau kev tsim cov qauv tsim ua haujlwm. Mappings tuaj yeem pib siv Oozie teem caij. Nyob rau hauv cov kwj tsim tawm interface, nws muaj peev xwm tsim schemes rau parallel, sequential, los yog execution-dependent data transformations. Muaj kev txhawb nqa rau plhaub scripts thiab java cov kev pab cuam. Nws tseem tuaj yeem siv Apache Livy server. Apache Livy yog siv los khiav cov ntawv thov ncaj qha los ntawm ib puag ncig kev txhim kho.

Yog tias lub tuam txhab twb muaj nws tus kheej tus txheej txheem orchestrator, nws muaj peev xwm siv REST API los embed mappings rau hauv cov dej ntws uas twb muaj lawm. Piv txwv li, peb muaj kev paub zoo heev ntawm kev kos duab kos duab hauv Scala rau hauv orchestrators sau hauv PLSQL thiab Kotlin. REST API ntawm cov cuab yeej qis qis suav nrog kev ua haujlwm xws li tsim lub xyoo ua tiav raws li kev tsim daim ntawv qhia, hu rau daim ntawv qhia, hu rau ib ntu ntawm daim ntawv qhia, thiab, tau kawg, dhau qhov tsis ua rau URL los khiav daim ntawv qhia.

Nrog rau Oozie, nws muaj peev xwm los npaj kev suav nrog kev siv Airflow. Tej zaum kuv yuav tsis nyob ntev ntawm qhov kev sib piv ntawm Oozie thiab Airflow, tab sis tsuas yog yuav hais tias nyob rau hauv cov ntsiab lus ntawm kev ua haujlwm ntawm kev tshawb fawb xov xwm, qhov kev xaiv poob rau Airflow. Cov lus sib cav tseem ceeb lub sijhawm no yog lub zej zog nquag tsim cov khoom lag luam thiab tsim ntau dua interface + API.

Airflow kuj zoo vim nws siv Python tus hlub los piav txog cov txheej txheem suav. Thiab feem ntau, tsis muaj ntau qhov qhib qhov chaw ua haujlwm tswj hwm lub platform. Tua tawm thiab saib xyuas kev ua tiav ntawm cov txheej txheem (nrog rau daim ntawv qhia Gantt) tsuas yog ntxiv cov ntsiab lus rau Airflow's karma.

Cov ntaub ntawv configuration rau launching low-code daws mappings tau ua spark-submit. Qhov no tshwm sim rau ob qho laj thawj. Ua ntej, spark-submit tso cai rau koj ncaj qha khiav ib lub thawv ntaub ntawv los ntawm lub console. Qhov thib ob, nws tuaj yeem muaj tag nrho cov ntaub ntawv tsim nyog los teeb tsa cov haujlwm ua haujlwm (uas ua rau nws yooj yim sau cov ntawv sau uas tsim Dag).
Cov ntsiab lus feem ntau ntawm Airflow workflow hauv peb rooj plaub yog SparkSubmitOperator.

SparkSubmitOperator tso cai rau koj khiav rhawv zeb - ntim Datagram mappings nrog pre-generated input parameters rau lawv.

Nws tsim nyog hais tias txhua txoj haujlwm Airflow khiav hauv ib txoj xov sib cais thiab tsis paub dab tsi txog lwm yam haujlwm. Yog li ntawd, kev sib cuam tshuam ntawm kev ua haujlwm yog ua los ntawm kev siv cov tswj hwm, xws li DummyOperator lossis BranchPythonOperator.

Ua ke, kev siv cov Datagram low-code daws nrog rau universalization ntawm configuration ntaub ntawv (tsim Dag) coj mus rau ib tug tseem ceeb acceleration thiab simplification ntawm cov txheej txheem ntawm tsim cov ntaub ntawv loading flows.

Showcase suav

Tej zaum qhov kev txawj ntse tshaj plaws loaded theem hauv kev tsim cov ntaub ntawv txheeb xyuas yog cov kauj ruam ntawm lub tsev showcases. Hauv cov ntsiab lus ntawm ib qho ntawm cov tuam txhab tshawb fawb cov ntaub ntawv suav cov dej ntws, nyob rau theem no, cov ntaub ntawv raug txo qis mus rau kev tshaj tawm xov xwm, suav nrog kev hloov kho rau thaj tsam sijhawm thiab txuas mus rau daim phiaj xwm tshaj tawm. Nws kuj tseem tuaj yeem hloov kho rau lub network tshaj tawm hauv zos (xov xwm hauv zos thiab tshaj tawm). Ntawm lwm yam, cov kauj ruam no rhuav tshem cov ntu ntu ntawm kev saib tsis tu ncua ntawm cov khoom siv xov xwm raws li kev txheeb xyuas ntawm kev saib lub sijhawm. Tam sim ntawd, qhov pom qhov tseem ceeb yog "hnyav" raws li cov ntaub ntawv hais txog lawv qhov tseem ceeb (xws li kev kho qhov tseem ceeb).

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Ib kauj ruam cais hauv kev npaj showcases yog cov ntaub ntawv siv tau. Lub validation algorithm yog siv los ntawm ib tug xov tooj ntawm lej science qauv. Txawm li cas los xij, kev siv lub platform qis tso cai rau koj los rhuav tshem cov algorithm nyuaj rau hauv ntau qhov sib txawv ntawm cov ntawv nyeem tau pom. Txhua daim ntawv qhia ua haujlwm nqaim. Raws li qhov tshwm sim, kev debugging nruab nrab, kev nkag mus thiab kev pom ntawm cov ntaub ntawv npaj theem yog ua tau.

Nws tau txiav txim siab los txiav txim siab qhov kev lees paub algorithm rau hauv cov theem hauv qab no:

  • Lub tsev regressions ntawm TV network saib dependencies nyob rau hauv ib cheeb tsam nrog saib ntawm tag nrho cov tes hauj lwm nyob rau hauv cheeb tsam rau 60 hnub.
  • Kev suav cov tub ntxhais kawm ntawv seem (deviations ntawm qhov muaj nuj nqis tiag tiag los ntawm cov kwv yees los ntawm tus qauv regression) rau tag nrho cov ntsiab lus regression thiab rau hnub suav.
  • Ib qho kev xaiv ntawm anomalous region-network khub, qhov twg cov tub ntxhais kawm tshuav nyiaj li cas ntawm hnub kev sib haum xeeb tshaj li tus qauv (tshwj xeeb los ntawm qhov chaw ua haujlwm).
  • Recalculation ntawm kho tub kawm ntawv residual rau anomalous region-TV network khub rau txhua tus neeg teb uas tau saib lub network nyob rau hauv lub cheeb tsam, txiav txim qhov kev pab cuam ntawm tus neeg teb no (tus nqi ntawm cov kev hloov nyob rau hauv cov tub ntxhais kawm residual) thaum tsis suav cov saib tus neeg teb no los ntawm cov qauv. .
  • Tshawb nrhiav cov neeg sib tw uas nws tsis suav nrog coj cov tub ntxhais kawm qhov nyiaj tshuav ntawm cov hnub them rov qab mus rau qhov qub.

Cov piv txwv saum toj no tau lees paub qhov kev xav tias tus kws tshaj lij cov ntaub ntawv twb muaj ntau dhau ntawm nws lub siab ... Thiab, yog tias qhov no yog "tus kws tsim txuj ci" tiag tiag thiab tsis yog "coder," ces qhov kev ntshai ntawm kev ua haujlwm tsis zoo thaum siv cov cuab yeej qis nws thaum kawg yuav tsum thim rov qab.

Yuav ua li cas lwm tus lej qis ua tau?

Lub peev txheej ntawm daim ntawv thov ntawm cov cuab yeej qis rau batch thiab kwj cov ntaub ntawv ua tiav yam tsis tas yuav tsum tau sau tus lej hauv Scala tsis xaus rau ntawd.

Kev siv cov lej qis hauv kev txhim kho datalake twb dhau los ua tus qauv rau peb. Peb tuaj yeem hais tias cov kev daws teeb meem raws li Hadoop pawg ua raws txoj kev txhim kho ntawm classic DWHs raws li RDBMS. Cov cuab yeej qis qis ntawm Hadoop pawg tuaj yeem daws ob qho tib si cov ntaub ntawv ua haujlwm thiab cov haujlwm ntawm kev tsim BI kawg interfaces. Ntxiv mus, nws yuav tsum tau muab sau tseg tias BI tuaj yeem txhais tsis tau tsuas yog tus sawv cev ntawm cov ntaub ntawv, tab sis kuj lawv cov kev kho los ntawm cov neeg siv kev lag luam. Peb feem ntau siv qhov kev ua haujlwm no thaum tsim cov txheej txheem tshuaj ntsuam xyuas rau kev lag luam nyiaj txiag.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Ntawm lwm yam, siv cov lej qis thiab, tshwj xeeb tshaj yog, Datagram, nws muaj peev xwm daws tau qhov teeb meem ntawm kev taug qab lub hauv paus chiv keeb ntawm cov ntaub ntawv kwj khoom nrog atomicity mus rau ib tus neeg teb (keeb kwm). Txhawm rau ua qhov no, cov cuab yeej qis qis siv kev sib txuas nrog Apache Atlas thiab Cloudera Navigator. Qhov tseem ceeb, tus tsim tawm yuav tsum tau sau npe rau cov khoom siv hauv Atlas phau ntawv txhais lus thiab siv cov khoom sau npe thaum tsim daim ntawv qhia. Cov txheej txheem rau kev taug qab lub hauv paus chiv keeb ntawm cov ntaub ntawv los yog kev soj ntsuam cov khoom dependencies txuag tau ntau lub sij hawm thaum nws tsim nyog los txhim kho cov kev suav algorithms. Piv txwv li, thaum npaj cov ntaub ntawv nyiaj txiag, qhov no tso cai rau koj kom yooj yim muaj sia nyob rau lub sijhawm ntawm kev hloov cai lij choj. Tom qab tag nrho, qhov zoo dua peb nkag siab txog kev sib koom ua ke nyob rau hauv cov ntsiab lus ntawm cov khoom ntawm cov ncauj lus kom ntxaws, qhov tsawg dua peb yuav ntsib qhov tsis xws luag "sdden" thiab txo tus naj npawb ntawm reworks.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Data Quality & Low-code

Lwm txoj haujlwm ua los ntawm cov cuab yeej qis qis ntawm Mediascope qhov project yog cov ntaub ntawv zoo hauv chav kawm. Ib qho tshwj xeeb ntawm kev siv cov ntaub ntawv pov thawj cov kav dej rau cov tuam txhab tshawb fawb qhov project yog qhov tsis muaj kev cuam tshuam rau kev ua haujlwm thiab kev ceev ntawm cov ntaub ntawv tseem ceeb suav nrog. Txhawm rau kom muaj peev xwm orchestrate cov ntaub ntawv pov thawj ywj pheej ntws, cov uas twb paub Apache Airflow tau siv. Raws li txhua kauj ruam ntawm cov ntaub ntawv tsim tau npaj txhij, ib feem ntawm DQ pipeline tau pib ua ke.

Nws raug suav hais tias yog kev coj ua zoo los saib xyuas cov ntaub ntawv zoo txij li lub sijhawm nws pib hauv kev tshuaj xyuas platform. Muaj cov ntaub ntawv hais txog metadata, peb tuaj yeem tshawb xyuas kev ua raws li cov xwm txheej yooj yim txij li lub sijhawm cov ntaub ntawv nkag mus rau hauv thawj txheej - tsis yog null, txwv tsis pub, cov yuam sij txawv teb chaws. Qhov kev ua haujlwm no yog siv los ntawm kev tsim cov duab kos ntawm cov ntaub ntawv zoo tsev neeg hauv Datagram. Code tiam nyob rau hauv cov ntaub ntawv no kuj yog raws li cov qauv metadata. Ntawm qhov project Mediascope, lub interface tau ua nrog cov metadata ntawm Enterprise Architect khoom.

Los ntawm kev sib txuas cov cuab yeej qis qis nrog Enterprise Architect, cov kev kuaj hauv qab no tau txiav tawm:

  • Txheeb xyuas qhov muaj qhov "null" qhov tseem ceeb hauv thaj teb nrog tus hloov kho "tsis null";
  • Txheeb xyuas qhov muaj qhov sib npaug ntawm tus yuam sij tseem ceeb;
  • Tshawb xyuas tus yuam sij txawv teb chaws ntawm ib qho chaw;
  • Txheeb xyuas qhov tsis sib xws ntawm txoj hlua raws li ib pawg ntawm cov teb.

Rau ntau cov kev kuaj xyuas ntawm cov ntaub ntawv muaj thiab kev ntseeg tau, ib daim ntawv qhia tau tsim nrog Scala Expression, uas yuav siv sij hawm raws li kev nkag mus rau sab nraud Spark SQL kos code npaj los ntawm cov kws tshuaj ntsuam ntawm Zeppelin.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Ntawm chav kawm, tsis siv neeg tiam ntawm cov tshev yuav tsum tau ua tiav maj mam. Nyob rau hauv lub moj khaum ntawm qhov project piav, qhov no tau ua ntej los ntawm cov kauj ruam hauv qab no:

  • DQ siv hauv Zeppelin phau ntawv;
  • DQ ua rau hauv daim ntawv qhia;
  • DQ nyob rau hauv daim ntawv ntawm cais loj mappings uas muaj tag nrho cov txheej txheem ntawm checks rau ib tug nyias muaj nyias ib qhov chaw;
  • Universal parameterized DQ mappings uas lees txais cov ntaub ntawv hais txog metadata thiab kev lag luam kuaj xyuas raws li kev nkag.

Tej zaum qhov txiaj ntsig tseem ceeb ntawm kev tsim cov kev pabcuam kuaj xyuas parameterized yog qhov txo qis hauv lub sijhawm nws yuav siv los xa cov haujlwm ua haujlwm rau qhov chaw tsim khoom. Kev kuaj xyuas zoo tshiab tuaj yeem hla tus qauv classic ntawm kev xa cov lej tsis ncaj los ntawm kev txhim kho thiab kev sim ib puag ncig:

  • Tag nrho cov kev txheeb xyuas metadata raug tsim tawm thaum tus qauv hloov pauv hauv EA;
  • Kev txheeb xyuas cov ntaub ntawv (txiav txim siab qhov muaj cov ntaub ntawv ntawm ib lub sijhawm) tuaj yeem tsim los ntawm cov npe uas khaws cov sijhawm xav tau ntawm qhov tshwm sim ntawm cov ntaub ntawv tom ntej hauv cov ntsiab lus ntawm cov khoom;
  • Cov ntaub ntawv pov thawj kev lag luam yog tsim los ntawm cov kws tshuaj ntsuam hauv Zeppelin phau ntawv. Los ntawm qhov ntawd lawv raug xa ncaj qha mus rau DQ module teeb rooj hauv qhov chaw tsim khoom.

Tsis muaj kev pheej hmoo ntawm kev xa ntawv ncaj qha rau kev tsim khoom. Txawm hais tias muaj qhov yuam kev syntax, qhov siab tshaj plaws uas ua rau peb tsis ua tiav ib qho kev kuaj xyuas, vim tias cov ntaub ntawv suav nrog thiab cov kev kuaj xyuas zoo tshaj tawm raug cais tawm ntawm ib leeg.

Hauv qhov tseeb, qhov kev pabcuam DQ tau khiav mus tas li hauv qhov chaw tsim khoom thiab npaj txhij pib nws txoj haujlwm thaum lub sijhawm cov ntaub ntawv txuas ntxiv tshwm.

Es tsis txhob ib tug xaus

Qhov zoo ntawm kev siv cov lej qis yog pom tseeb. Developers tsis tas yuav tsim daim ntawv thov los ntawm kos. Thiab tus programmer tso tawm los ntawm kev ua haujlwm ntxiv ua kom tau txais txiaj ntsig sai dua. Ceev, nyob rau hauv lem, tso lub sij hawm ntxiv rau kev daws teeb meem optimization. Yog li ntawd, nyob rau hauv cov ntaub ntawv no, koj yuav suav tau rau ib tug zoo dua thiab sai dua.

Ntawm chav kawm, qis-code tsis yog panacea, thiab khawv koob yuav tsis tshwm sim ntawm nws tus kheej:

  • Kev lag luam qis qis tau dhau los ntawm theem "tau muaj zog", thiab tseem tsis tau muaj cov qauv kev lag luam zoo ib yam;
  • Ntau qhov kev daws teeb meem qis tsis pub dawb, thiab kev yuav khoom yuav tsum yog ib qho kev paub zoo, uas yuav tsum tau ua nrog kev ntseeg siab ntawm cov txiaj ntsig nyiaj txiag ntawm kev siv lawv;
  • Ntau qhov kev daws teeb meem qis tsis zoo ib txwm ua haujlwm nrog GIT / SVN. Los yog lawv tsis yooj yim siv yog tias cov code generated raug muab zais;
  • Thaum nthuav cov qauv tsim, nws yuav tsim nyog los kho qhov kev daws teeb meem qis - uas, dhau los, ua rau muaj kev cuam tshuam ntawm "kev sib txuas thiab kev vam khom" ntawm tus neeg muag khoom ntawm cov kev daws teeb meem qis.
  • Ib qho kev ruaj ntseg txaus yog ua tau, tab sis nws yog heev zog-intensive thiab nyuaj rau siv nyob rau hauv qis-code system engines. Tsawg-code platforms yuav tsum tau xaiv tsis tsuas yog nyob rau hauv lub hauv paus ntsiab lus ntawm kev nrhiav kev pab los ntawm lawv siv. Thaum xaiv, nws tsim nyog nug cov lus nug txog qhov muaj peev xwm ua haujlwm rau kev nkag mus rau kev tswj hwm thiab delegation / nce ntxiv ntawm cov ntaub ntawv txheeb xyuas mus rau theem ntawm tag nrho IT toj roob hauv pes ntawm lub koom haum.

Kev siv cov lej qis hauv kev txheeb xyuas platforms

Txawm li cas los xij, yog tias tag nrho cov kev tsis txaus siab ntawm qhov kev xaiv tau paub rau koj, thiab cov txiaj ntsig los ntawm kev siv nws, txawm li cas los xij, yog nyob rau hauv feem coob, ces txav mus rau me me tsis ntshai. Ntxiv mus, txoj kev hloov mus rau nws yog inevitable - ib yam li tej evolution yog inevitable.

Yog tias ib tus neeg tsim tawm ntawm lub platform qis ua nws txoj haujlwm sai dua li ob tus neeg tsim tawm yam tsis muaj tus lej qis, qhov no ua rau lub tuam txhab pib pib txhua yam. Qhov chaw pib rau kev nkag mus rau hauv cov kev daws teeb meem qis qis qis dua hauv cov thev naus laus zis "ib txwm", thiab qhov no muaj txiaj ntsig zoo rau qhov teeb meem ntawm cov neeg ua haujlwm tsis txaus. Thaum siv cov cuab yeej qis qis, nws muaj peev xwm ua kom muaj kev sib cuam tshuam ntawm pab pawg ua haujlwm thiab txiav txim siab sai dua txog qhov raug ntawm txoj kev xaiv ntawm cov ntaub ntawv tshawb fawb. Cov platforms qis tuaj yeem tsav cov kev hloov pauv digital ntawm ib lub koom haum vim tias cov kev daws teeb meem tsim tau tuaj yeem nkag siab los ntawm cov kws tshaj lij uas tsis yog cov kws tshaj lij (tshwj xeeb yog cov neeg siv khoom lag luam).

Yog tias koj muaj lub sijhawm teem sijhawm nruj, thauj khoom lag luam logic, tsis muaj kev txawj ntse, thiab koj yuav tsum tau ceev koj lub sijhawm rau kev ua lag luam, ces qis-code yog ib txoj hauv kev kom tau raws li koj xav tau.

Tsis muaj qhov tsis lees paub qhov tseem ceeb ntawm cov cuab yeej tsim kho ib txwm muaj, tab sis nyob rau ntau qhov xwm txheej, kev siv cov kev daws teeb meem qis yog qhov zoo tshaj plaws los ua kom cov kev ua tau zoo ntawm cov dej num raug daws.

Tau qhov twg los: www.hab.com

Ntxiv ib saib