Analitik platformalarda aşağı kodun tətbiqi

Əziz oxucular, gününüz xeyir!

Məlumatların toplanması və təhlili üçün İT platformalarının yaradılması vəzifəsi, biznesi intellektual yüklənmiş xidmət göstərilməsi modelinə və ya texniki cəhətdən mürəkkəb məhsulların yaradılmasına əsaslanan hər hansı bir şirkət üçün gec-tez yaranır. Analitik platformaların yaradılması mürəkkəb və vaxt aparan bir işdir. Bununla belə, istənilən tapşırıq sadələşdirilə bilər. Bu yazıda mən analitik həllər yaratmağa kömək etmək üçün aşağı kodlu vasitələrdən istifadə təcrübəmi bölüşmək istəyirəm. Bu təcrübə Neoflex şirkətinin Big Data Solutions istiqamətində bir sıra layihələrin icrası zamanı əldə edilib. 2005-ci ildən Neoflex-in Big Data Solutions istiqaməti məlumat anbarlarının və göllərin qurulması, məlumatların işlənməsi sürətinin optimallaşdırılması problemlərinin həlli və məlumatların keyfiyyətinin idarə edilməsi metodologiyası üzərində işləmək məsələləri ilə məşğul olur.

Analitik platformalarda aşağı kodun tətbiqi

Heç kim zəif və/və ya güclü strukturlaşdırılmış məlumatların şüurlu şəkildə yığılmasından qaça bilməyəcək. Bəlkə də kiçik biznesdən danışsaq belə. Axı, biznesi genişləndirərkən perspektivli bir sahibkar loyallıq proqramının hazırlanması məsələləri ilə qarşılaşacaq, satış nöqtələrinin effektivliyini təhlil etmək istəyəcək, ünvanlı reklam haqqında düşünəcək və müşayiət olunan məhsullara tələbat qarşısında çaşqın olacaq. . Birinci təxminə görə, problemi "diz üstə" həll etmək olar. Amma biznes böyüdükcə analitik platformaya gəlmək hələ də qaçılmazdır.

Bununla belə, hansı halda məlumat analitikası tapşırıqları “Rocket Science” sinif problemlərinə çevrilə bilər? Ola bilsin ki, biz həqiqətən böyük verilənlərdən danışdığımız anda.
Rocket Science-i asanlaşdırmaq üçün fili hissə-hissə yeyə bilərsiniz.

Analitik platformalarda aşağı kodun tətbiqi

Tətbiqləriniz/xidmətləriniz/mikroservisləriniz nə qədər diskret və avtonom olarsa, sizin, həmkarlarınız və bütün biznesiniz üçün fili həzm etmək bir o qədər asan olacaq.

Demək olar ki, bütün müştərilərimiz DevOps komandalarının mühəndislik təcrübələri əsasında landşaftı yenidən quraraq bu postulata gəldilər.

Ancaq "ayrı-ayrılıqda, fil" pəhrizi ilə belə, İT mənzərəsinin "aşırı doyması" üçün yaxşı şansımız var. Bu anda dayanmağa, nəfəs almağa və yan tərəfə baxmağa dəyər aşağı kodlu mühəndislik platforması.

Bir çox tərtibatçılar birbaşa kod yazmaqdan aşağı kodlu sistemlərin UI interfeyslərində oxları “sürükləmək” istiqamətində hərəkət edərkən karyeralarında çıxılmaz vəziyyətə düşmək ehtimalından qorxurlar. Lakin dəzgahların meydana gəlməsi mühəndislərin yox olmasına səbəb olmadı, əksinə onların işini yeni səviyyəyə qaldırdı!

Gəlin bunun səbəbini anlayaq.

Logistika, telekommunikasiya sənayesi, media tədqiqatları, maliyyə sektoru sahəsində məlumatların təhlili həmişə aşağıdakı suallarla əlaqələndirilir:

  • Avtomatlaşdırılmış analizin sürəti;
  • Əsas məlumatların istehsal axınına təsir etmədən eksperimentlər aparmaq bacarığı;
  • Hazırlanmış məlumatların etibarlılığı;
  • İzləmə və versiyanı dəyişdirin;
  • Məlumatın sübutu, Data xətti, CDC;
  • Yeni funksiyaların istehsal mühitinə sürətli çatdırılması;
  • Və bədnam: inkişaf və dəstək xərcləri.

Yəni mühəndislərin çoxlu sayda yüksək səviyyəli tapşırıqları var ki, onları yalnız aşağı səviyyəli inkişaf tapşırıqlarından şüurlarını təmizləməklə kifayət qədər səmərəliliklə yerinə yetirmək olar.

Tərtibatçıların yeni səviyyəyə keçməsi üçün ilkin şərtlər biznesin təkamülü və rəqəmsallaşması idi. Tərtibatçının dəyəri də dəyişir: avtomatlaşdırılan biznesin konsepsiyalarına qərq ola bilən tərtibatçıların əhəmiyyətli çatışmazlığı var.

Aşağı səviyyəli və yüksək səviyyəli proqramlaşdırma dilləri ilə bənzətmə aparaq. Aşağı səviyyəli dillərdən yüksək səviyyəli dillərə keçid “aparat dilində birbaşa direktivlər” yazmaqdan “insanların dilində direktivlər”ə keçiddir. Yəni bəzi abstraksiya qatının əlavə edilməsi. Bu halda, yüksək səviyyəli proqramlaşdırma dillərindən aşağı kodlu platformalara keçid “insanların dilində olan direktivlərdən” “biznes dilində olan direktivlərə” keçiddir. Bu faktdan kədərlənən tərtibatçılar varsa, bəlkə də massiv çeşidləmə funksiyalarından istifadə edən Java Skripti yarandığı andan üzülüblər. Və bu funksiyalar, əlbəttə ki, eyni yüksək səviyyəli proqramlaşdırmanın digər vasitələri ilə başlıq altında proqram təminatına malikdir.

Buna görə də, aşağı kod sadəcə başqa bir abstraksiya səviyyəsinin görünüşüdür.

Aşağı kod istifadə edərək tətbiq olunan təcrübə

Aşağı kod mövzusu kifayət qədər genişdir, lakin indi layihələrimizdən birinin nümunəsindən istifadə edərək “aşağı kodlu anlayışların” praktik tətbiqi haqqında danışmaq istərdim.

Neoflex-in Big Data Solutions bölməsi daha çox biznesin maliyyə sektorunda, məlumat anbarlarının və göllərin qurulmasında və müxtəlif hesabatların avtomatlaşdırılmasında ixtisaslaşmışdır. Bu nişdə aşağı kodun istifadəsi çoxdan standart halına gəldi. Digər aşağı kodlu alətlər arasında biz ETL proseslərinin təşkili üçün alətləri qeyd edə bilərik: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Və ya verilənlərə daxil olmaq və redaktə etmək üçün interfeyslərin sürətli inkişafı üçün mühit kimi çıxış edən Oracle Apex. Bununla belə, aşağı kodlu inkişaf alətlərinin istifadəsi həmişə satıcıdan aydın asılılıqla kommersiya texnologiyaları yığınında yüksək hədəflənmiş proqramların qurulmasını nəzərdə tutmur.

Aşağı kodlu platformalardan istifadə edərək, siz həmçinin məlumat axınlarının təşkilini təşkil edə, məlumat elmi platformaları və ya məsələn, məlumatların keyfiyyətini yoxlamaq üçün modullar yarada bilərsiniz.

Aşağı kodlu inkişaf alətlərindən istifadə təcrübəsinin tətbiqi nümunələrindən biri Neoflex və Rusiya media tədqiqat bazarının liderlərindən biri olan Mediascope arasında əməkdaşlıqdır. Bu şirkətin biznes məqsədlərindən biri reklam verənlərin, internet platformalarının, televiziya kanallarının, radio stansiyalarının, reklam agentliklərinin və brendlərin reklamın alınması ilə bağlı qərarlar qəbul etdiyi və marketinq kommunikasiyalarını planlaşdırdığı məlumatların istehsalıdır.

Analitik platformalarda aşağı kodun tətbiqi

Media araşdırması biznesin texnoloji cəhətdən yüklənmiş sahəsidir. Video ardıcıllığının tanınması, baxışı təhlil edən cihazlardan məlumatların toplanması, veb-resurslarda aktivliyin ölçülməsi - bütün bunlar şirkətin böyük İT heyətinə və analitik həllərin yaradılmasında böyük təcrübəyə malik olmasını nəzərdə tutur. Lakin məlumatın həcminin, mənbələrinin sayının və müxtəlifliyinin eksponensial artması İT məlumat sənayesini daim irəliləməyə məcbur edir. Artıq fəaliyyət göstərən Mediascope analitik platformasını genişləndirməyin ən sadə həlli İT işçilərinin artırılması ola bilər. Ancaq daha təsirli bir həll inkişaf prosesini sürətləndirməkdir. Bu istiqamətə aparan addımlardan biri aşağı kodlu platformaların istifadəsi ola bilər.

Layihə başlayanda şirkət artıq işlək məhsul həllinə malik idi. Bununla belə, həllin MSSQL-də tətbiqi məqbul inkişaf xərclərini qoruyarkən miqyaslı funksionallıq üçün gözləntiləri tam ödəyə bilmədi.

Qarşımızda duran vəzifə həqiqətən də iddialı idi - Neoflex və Mediascope başlanğıc tarixinin birinci rübündə MVP-nin buraxılması şərti ilə bir ildən az müddətdə sənaye həlli yaratmalı idi.

Hadoop texnologiya yığını aşağı kodlu hesablamalara əsaslanan yeni məlumat platformasının qurulması üçün əsas kimi seçilmişdir. HDFS parket fayllarından istifadə edərək məlumatların saxlanması üçün standart halına gəldi. Platformada yerləşən məlumatlara daxil olmaq üçün bütün mövcud vitrinlərin xarici cədvəllər şəklində təqdim edildiyi Hive-dan istifadə edilmişdir. Məlumatların yaddaşa yüklənməsi Kafka və Apache NiFi vasitəsilə həyata keçirilib.

Bu konsepsiyadakı Lowe-kod aləti analitik platformanın qurulmasında ən çox əmək tələb edən tapşırığı - məlumatların hesablanması tapşırığını optimallaşdırmaq üçün istifadə edilmişdir.

Analitik platformalarda aşağı kodun tətbiqi

Aşağı kodlu Datagram aləti verilənlərin xəritələşdirilməsi üçün əsas mexanizm kimi seçilmişdir. Neoflex Datagram transformasiyaları və məlumat axınlarını inkişaf etdirmək üçün bir vasitədir.
Bu alətdən istifadə edərək, Scala kodunu əl ilə yazmadan edə bilərsiniz. Scala kodu Model İdarə Edilən Arxitektura yanaşmasından istifadə etməklə avtomatik olaraq yaradılır.

Bu yanaşmanın açıq üstünlüyü inkişaf prosesini sürətləndirməkdir. Bununla belə, sürətə əlavə olaraq, aşağıdakı üstünlüklər də var:

  • Mənbələrin/qəbuledicilərin məzmununa və strukturuna baxmaq;
  • Məlumat axını obyektlərinin mənşəyinin ayrı-ayrı sahələrə (nəsil) izlənilməsi;
  • Aralıq nəticələrə baxmaqla çevrilmələrin qismən icrası;
  • Mənbə kodunu nəzərdən keçirmək və icradan əvvəl onu tənzimləmək;
  • Transformasiyaların avtomatik yoxlanılması;
  • Avtomatik məlumat endirilməsi 1-də 1.

Transformasiyalar yaratmaq üçün aşağı kodlu həllərə daxil olmaq üçün maneə olduqca aşağıdır: tərtibatçı SQL-i bilməli və ETL alətləri ilə işləmək təcrübəsi olmalıdır. Qeyd etmək lazımdır ki, kodla idarə olunan transformasiya generatorları sözün geniş mənasında ETL alətləri deyil. Aşağı kodlu alətlərin öz kod icra mühiti olmaya bilər. Yəni, yaradılan kod hətta aşağı kodlu həlli quraşdırmadan əvvəl çoxluqda mövcud olan mühitdə icra ediləcək. Və bu, bəlkə də aşağı kodlu karma üçün başqa bir artıdır. Aşağı kodlu komanda ilə paralel olaraq, məsələn, təmiz Scala kodunda funksionallığı həyata keçirən "klassik" komanda işləyə bilər. Hər iki komandadan istehsala təkmilləşdirmələr gətirmək sadə və qüsursuz olacaq.

Bəlkə də qeyd etmək lazımdır ki, aşağı kodla yanaşı, kodsuz həllər də var. Və onların mahiyyətində bunlar fərqli şeylərdir. Aşağı kod tərtibatçıya yaradılan koda daha çox müdaxilə etməyə imkan verir. Datagram vəziyyətində, yaradılan Scala koduna baxmaq və redaktə etmək mümkündür; kodsuz belə bir fürsət təmin etməyə bilər. Bu fərq təkcə həllin çevikliyi baxımından deyil, həm də məlumat mühəndislərinin işində rahatlıq və motivasiya baxımından çox əhəmiyyətlidir.

Həll arxitekturası

Aşağı kodlu bir alətin məlumatların hesablanması funksionallığının inkişaf sürətini optimallaşdırmaq problemini həll etməyə necə kömək etdiyini dəqiq anlamağa çalışaq. Əvvəlcə sistemin funksional arxitekturasına nəzər salaq. Bu vəziyyətdə bir nümunə media tədqiqatı üçün məlumat istehsalı modelidir.

Analitik platformalarda aşağı kodun tətbiqi

Bizim vəziyyətimizdə məlumat mənbələri çox heterojen və müxtəlifdir:

  • İnsanlar sayğacları (TV sayğacları) televiziya paneli respondentlərindən istifadəçi davranışını - tədqiqatda iştirak edən evdə kim, nə vaxt və hansı televiziya kanalına baxıldığını oxuyan proqram və aparat cihazlarıdır. Təqdim olunan məlumat media paketi və media məhsulu ilə əlaqəli yayıma baxış intervalları axınıdır. Məlumat gölünə yüklənmə mərhələsində olan məlumatlar demoqrafik atributlar, geostratifikasiya, saat qurşağı və konkret media məhsulunun televiziya baxışını təhlil etmək üçün lazım olan digər məlumatlar ilə zənginləşdirilə bilər. Alınan ölçmələr reklam kampaniyalarını təhlil etmək və ya planlaşdırmaq, auditoriyanın fəaliyyətini və üstünlüklərini qiymətləndirmək və yayım şəbəkəsini tərtib etmək üçün istifadə edilə bilər;
  • Məlumatlar televiziya yayımlarının yayımlanması üçün monitorinq sistemlərindən və internetdə video resurs məzmununa baxışın ölçülməsindən əldə edilə bilər;
  • Veb mühitində ölçmə alətləri, o cümlədən həm sayt mərkəzli, həm də istifadəçi mərkəzli sayğaclar. Data Lake üçün məlumat təminatçısı tədqiqat çubuğu brauzer əlavəsi və daxili VPN ilə mobil proqram ola bilər.
  • Məlumatlar həmçinin onlayn anketlərin doldurulmasının nəticələrini və şirkət sorğularında telefon müsahibələrinin nəticələrini birləşdirən saytlardan əldə edilə bilər;
  • Məlumat gölünün əlavə zənginləşdirilməsi tərəfdaş şirkətlərin jurnallarından məlumatları endirməklə baş verə bilər.

Mənbə sistemlərindən xam məlumatların ilkin mərhələlərinə yüklənməsinin həyata keçirilməsi müxtəlif yollarla təşkil edilə bilər. Bu məqsədlər üçün aşağı kod istifadə edilərsə, metadata əsasında yükləmə skriptlərinin avtomatik yaradılması mümkündür. Bu halda, xəritələşdirmələri hədəfləmək üçün inkişaf edən mənbə səviyyəsinə enməyə ehtiyac yoxdur. Avtomatik yükləməni həyata keçirmək üçün mənbə ilə əlaqə yaratmalı və sonra yükləmə interfeysində yüklənəcək obyektlərin siyahısını müəyyən etməliyik. HDFS-də kataloq strukturu avtomatik olaraq yaradılacaq və mənbə sistemindəki məlumatların saxlanması strukturuna uyğun olacaq.

Bununla belə, bu layihə kontekstində Mediascope şirkəti artıq müstəqil olaraq Nifi + Kafka kombinasiyasından istifadə edərək oxşar xidmətin istehsalı üzərində işə başladığı üçün aşağı kodlu platformanın bu xüsusiyyətindən istifadə etməmək qərarına gəldik.

Dərhal qeyd etmək lazımdır ki, bu alətlər bir-birini əvəz etmir, əksinə tamamlayır. Nifi və Kafka həm birbaşa (Nifi -> Kafka), həm də tərs (Kafka -> Nifi) əlaqədə işləyə bilirlər. Media tədqiqat platforması üçün paketin ilk versiyası istifadə edilmişdir.

Analitik platformalarda aşağı kodun tətbiqi

Bizim vəziyyətimizdə, NayFi mənbə sistemlərindən müxtəlif növ məlumatları emal etməli və onları Kafka brokerinə göndərməli idi. Bu halda mesajlar PublishKafka Nifi prosessorlarından istifadə etməklə konkret Kafka mövzusuna göndərilirdi. Bu boru kəmərlərinin təşkili və texniki xidməti vizual interfeysdə həyata keçirilir. Nifi aləti və Nifi + Kafka birləşməsinin istifadəsini inkişafa aşağı kodlu yanaşma da adlandırmaq olar ki, bu da Big Data texnologiyalarına daxil olmaq üçün aşağı maneəyə malikdir və proqramların hazırlanması prosesini sürətləndirir.

Layihənin həyata keçirilməsində növbəti mərhələ ətraflı məlumatların vahid semantik təbəqə formatına gətirilməsi idi. Müəssisənin tarixi atributları varsa, hesablama sözügedən bölmə kontekstində aparılır. Müəssisə tarixi deyilsə, o zaman isteğe bağlı olaraq ya obyektin bütün məzmununu yenidən hesablamaq, ya da bu obyekti yenidən hesablamaqdan tamamilə imtina etmək mümkündür (dəyişikliklərin olmaması səbəbindən). Bu mərhələdə bütün obyektlər üçün açarlar yaradılır. Açarlar analitik platformadakı açarlar ilə mənbə sistemlərinin açarları arasında uyğunluğu ehtiva edən əsas obyektlərə uyğun gələn Hbase qovluqlarında saxlanılır. Atom obyektlərinin birləşdirilməsi analitik məlumatların ilkin hesablanmasının nəticələri ilə zənginləşdirilməsi ilə müşayiət olunur. Məlumatların hesablanması üçün çərçivə Spark idi. Məlumatların vahid semantikaya gətirilməsi üçün təsvir edilmiş funksionallıq aşağı kodlu Datagram alətindən alınan xəritələr əsasında da həyata keçirilmişdir.

Hədəf arxitekturası biznes istifadəçiləri üçün məlumatlara SQL girişini tələb edirdi. Bu seçim üçün Hive istifadə edilmişdir. Aşağı kodlu alətdə “Qeydiyyat Hive Cədvəli” seçimini aktivləşdirdiyiniz zaman obyektlər avtomatik olaraq Hive-da qeydə alınır.

Analitik platformalarda aşağı kodun tətbiqi

Hesablama axınına nəzarət

Datagram iş axını dizaynlarını yaratmaq üçün interfeysə malikdir. Xəritəçəkmələr Oozie planlaşdırıcısından istifadə edərək işə salına bilər. Axın tərtibatçı interfeysində paralel, ardıcıl və ya icradan asılı olan məlumat transformasiyaları üçün sxemlər yaratmaq mümkündür. Shell skriptləri və java proqramları üçün dəstək var. Apache Livy serverindən də istifadə etmək mümkündür. Apache Livy proqramları birbaşa inkişaf mühitindən idarə etmək üçün istifadə olunur.

Əgər şirkətin artıq öz proses orkestratoru varsa, xəritələri mövcud axına daxil etmək üçün REST API-dən istifadə etmək mümkündür. Məsələn, Scala-da xəritələrin PLSQL və Kotlin-də yazılmış orkestrlərə daxil edilməsində kifayət qədər uğurlu təcrübəmiz var. Aşağı kodlu alətin REST API-si xəritə tərtibatı əsasında icra edilə bilən il yaratmaq, xəritələşdirməyə zəng etmək, xəritələrin ardıcıllığını çağırmaq və əlbəttə ki, xəritələmələri yerinə yetirmək üçün parametrləri URL-ə ötürmək kimi əməliyyatları əhatə edir.

Oozie ilə yanaşı, Airflow-dan istifadə edərək hesablama axını təşkil etmək mümkündür. Bəlkə də Oozie və Airflow arasındakı müqayisə üzərində çox dayanmayacağam, sadəcə deyəcəyəm ki, media tədqiqat layihəsi üzərində iş kontekstində seçim Airflow-un xeyrinə olub. Bu dəfəki əsas arqumentlər məhsulu inkişaf etdirən daha fəal icma və daha inkişaf etmiş interfeys + API idi.

Hava axını da yaxşıdır, çünki hesablama proseslərini təsvir etmək üçün sevimli Python-dan istifadə edir. Və ümumiyyətlə, açıq mənbəli iş axını idarəetmə platformaları o qədər də çox deyil. Proseslərin icrasına başlamaq və monitorinq etmək (Gantt diaqramı daxil olmaqla) yalnız Airflow-un karmasına xal əlavə edir.

Aşağı kodlu həll xəritələrini işə salmaq üçün konfiqurasiya faylı formatı spark-submit halına gəldi. Bu iki səbəbdən baş verdi. Birincisi, spark-submit sizə birbaşa jar faylını konsoldan işə salmağa imkan verir. İkincisi, iş prosesini konfiqurasiya etmək üçün bütün lazımi məlumatları ehtiva edə bilər (bu, Dag yaradan skriptləri yazmağı asanlaşdırır).
Bizim vəziyyətimizdə Hava axını iş axınının ən ümumi elementi SparkSubmitOperator idi.

SparkSubmitOperator bankaları işə salmağa imkan verir - onlar üçün əvvəlcədən yaradılmış giriş parametrləri ilə paketlənmiş Datagram xəritələri.

Qeyd etmək lazımdır ki, hər bir Hava axını tapşırığı ayrı bir mövzuda işləyir və digər tapşırıqlar haqqında heç nə bilmir. Buna görə də, tapşırıqlar arasında qarşılıqlı əlaqə DummyOperator və ya BranchPythonOperator kimi idarəetmə operatorlarından istifadə etməklə həyata keçirilir.

Birlikdə götürdükdə, Datagram aşağı kodlu həllinin konfiqurasiya fayllarının universallaşdırılması (Dag formalaşması) ilə birlikdə istifadəsi məlumatların yüklənməsi axınlarının işlənməsi prosesinin əhəmiyyətli dərəcədə sürətlənməsinə və sadələşdirilməsinə səbəb oldu.

Hesablamaları nümayiş etdirin

Analitik məlumatların istehsalında bəlkə də ən intellektual yüklənmiş mərhələ vitrinlərin qurulması mərhələsidir. Tədqiqat şirkətinin məlumatların hesablanması axınlarından biri kontekstində, bu mərhələdə məlumatlar vaxt zonaları üçün düzəlişlər nəzərə alınmaqla və yayım şəbəkəsinə qoşularaq istinad yayımına endirilir. Yerli yayım şəbəkəsinə (yerli xəbərlər və reklam) uyğunlaşma da mümkündür. Digər şeylər arasında, bu addım baxış intervallarının təhlili əsasında media məhsullarına davamlı baxış intervallarını pozur. Dərhal baxış dəyərləri onların əhəmiyyəti (düzəliş əmsalının hesablanması) haqqında məlumat əsasında "çəkili" olur.

Analitik platformalarda aşağı kodun tətbiqi

Vitrinlərin hazırlanmasında ayrıca bir addım məlumatların yoxlanılmasıdır. Doğrulama alqoritmi bir sıra riyazi elm modellərinin istifadəsini nəzərdə tutur. Bununla belə, aşağı kodlu platformanın istifadəsi mürəkkəb alqoritmi bir sıra ayrıca vizual oxuna bilən xəritələrə bölməyə imkan verir. Xəritəçəkmələrin hər biri dar bir vəzifəni yerinə yetirir. Nəticədə, məlumatların hazırlanması mərhələlərinin aralıq sazlanması, qeydiyyatı və vizuallaşdırılması mümkündür.

Doğrulama alqoritmini aşağıdakı alt mərhələlərə diskretləşdirmək qərara alındı:

  • Bölgədəki bütün şəbəkələrə 60 gün ərzində baxan bir bölgədə TV şəbəkəsinə baxış asılılıqlarının reqressiyalarının qurulması.
  • Bütün reqressiya nöqtələri və hesablanmış gün üçün tələbə qalıqlarının hesablanması (reqressiya modeli ilə proqnozlaşdırılanlardan faktiki dəyərlərin sapması).
  • Hesablaşma gününün tələbə balansının normadan artıq olduğu anomal region-şəbəkə cütlərinin seçimi (əməliyyat parametrləri ilə müəyyən edilir).
  • Bölgədə şəbəkəyə baxan hər bir respondent üçün anomal region-TV şəbəkəsi cütləri üçün düzəldilmiş tələbə qalığının yenidən hesablanması, bu respondentin baxışını nümunədən çıxararkən bu respondentin töhfəsinin (tələbə qalığının dəyişməsinin miqdarı) müəyyən edilməsi. .
  • İstisnası maaş gününün tələbə balansını normal vəziyyətə gətirən namizədləri axtarın.

Yuxarıdakı misal, məlumat mühəndisinin ağlında artıq çox şey olduğuna dair fərziyyəni təsdiqləyir... Və əgər bu, həqiqətən də “kodçu” deyil, “mühəndisdir”sə, o zaman aşağı kodlu alətlərdən istifadə edərkən peşəkar deqradasiya qorxusu nəhayət geri çəkilməlidir.

Aşağı kod başqa nə edə bilər?

Scala-da kodu əl ilə yazmağa ehtiyac olmadan toplu və axın məlumatların emalı üçün aşağı kodlu alətin tətbiqi bununla bitmir.

Datalake-in inkişafında aşağı kodun istifadəsi artıq bizim üçün standarta çevrilib. Yəqin ki, Hadoop yığınına əsaslanan həllər RDBMS əsasında klassik DWH-lərin inkişaf yolunu izləyir. Hadoop yığınında aşağı kodlu alətlər həm məlumatların işlənməsi tapşırıqlarını, həm də son BI interfeyslərinin qurulması vəzifəsini həll edə bilər. Üstəlik, qeyd etmək lazımdır ki, BI yalnız məlumatların təqdim edilməsini deyil, həm də biznes istifadəçiləri tərəfindən redaktə edilməsini ifadə edə bilər. Biz tez-tez maliyyə sektoru üçün analitik platformalar qurarkən bu funksiyadan istifadə edirik.

Analitik platformalarda aşağı kodun tətbiqi

Digər şeylər arasında, aşağı kodlu və xüsusən də Datagram-dan istifadə edərək, ayrı-ayrı sahələrə (nəsil) qədər atomikliyə malik məlumat axını obyektlərinin mənşəyini izləmək problemini həll etmək mümkündür. Bunun üçün aşağı kodlu alət Apache Atlas və Cloudera Navigator ilə interfeys tətbiq edir. Əsasən, tərtibatçı Atlas lüğətlərində bir sıra obyektləri qeydiyyatdan keçirməli və xəritələr qurarkən qeydə alınmış obyektlərə istinad etməlidir. Məlumatların mənşəyini izləmək və ya obyekt asılılıqlarını təhlil etmək mexanizmi hesablama alqoritmlərində təkmilləşdirmələr etmək lazım olduqda çox vaxta qənaət edir. Məsələn, maliyyə hesabatlarını hazırlayarkən, bu xüsusiyyət qanunvericilik dəyişiklikləri dövründən daha rahat çıxmağa imkan verir. Axı, təfərrüatlı təbəqənin obyektləri kontekstində formalararası asılılığı nə qədər yaxşı başa düşsək, "qəfil" qüsurlarla daha az qarşılaşacağıq və yenidən işlərin sayını azaldacağıq.

Analitik platformalarda aşağı kodun tətbiqi

Məlumat keyfiyyəti və aşağı kod

Mediascope layihəsində aşağı kodlu alət tərəfindən həyata keçirilən digər tapşırıq Data Keyfiyyət sinfi tapşırığı idi. Tədqiqat şirkəti layihəsi üçün məlumatların yoxlanılması boru kəmərinin həyata keçirilməsinin xüsusi bir xüsusiyyəti əsas məlumatların hesablanması axınının performansına və sürətinə təsir göstərməməsi idi. Müstəqil məlumatların yoxlanılması axınlarını təşkil etmək üçün artıq tanış olan Apache Hava axınından istifadə edilmişdir. Məlumat istehsalının hər bir addımı hazır olduğundan paralel olaraq DQ boru kəmərinin ayrıca hissəsi işə salındı.

Analitik platformada yarandığı andan məlumatların keyfiyyətinə nəzarət etmək yaxşı təcrübə hesab olunur. Metadata haqqında məlumata malik olmaqla, biz məlumatın ilkin təbəqəyə daxil olduğu andan əsas şərtlərə uyğunluğu yoxlaya bilərik - null deyil, məhdudiyyətlər, xarici açarlar. Bu funksionallıq Datagram-da məlumat keyfiyyəti ailəsinin avtomatik yaradılan xəritələri əsasında həyata keçirilir. Bu halda kodun yaradılması həm də model metadatasına əsaslanır. Mediascope layihəsində interfeys Enterprise Architect məhsulunun metaməlumatları ilə həyata keçirilib.

Aşağı kodlu aləti Enterprise Architect ilə cütləşdirməklə aşağıdakı yoxlamalar avtomatik olaraq yaradıldı:

  • "null deyil" dəyişdiricisi olan sahələrdə "null" dəyərlərin olub olmadığını yoxlamaq;
  • İlkin açarın dublikatlarının mövcudluğunun yoxlanılması;
  • Müəssisənin xarici açarının yoxlanılması;
  • Sahələr dəsti əsasında sətirin unikallığının yoxlanılması.

Məlumatın mövcudluğu və etibarlılığının daha mürəkkəb yoxlanılması üçün Zeppelin analitikləri tərəfindən hazırlanmış xarici Spark SQL yoxlama kodunu daxil edən Scala Expression ilə xəritələmə yaradılmışdır.

Analitik platformalarda aşağı kodun tətbiqi

Əlbəttə ki, çeklərin avtomatik yaradılmasına tədricən nail olmaq lazımdır. Təsvir edilən layihə çərçivəsində bundan əvvəl aşağıdakı addımlar atıldı:

  • DQ Zeppelin noutbuklarında həyata keçirilir;
  • Xəritəçəkmədə quraşdırılmış DQ;
  • Ayrı bir qurum üçün bütöv bir sıra çekləri ehtiva edən ayrıca kütləvi xəritələr şəklində DQ;
  • Metadata və biznes yoxlamaları haqqında məlumatı giriş kimi qəbul edən universal parametrləşdirilmiş DQ xəritələri.

Bəlkə də parametrləşdirilmiş yoxlama xidmətinin yaradılmasının əsas üstünlüyü funksionallığın istehsal mühitinə çatdırılması üçün lazım olan vaxtın azaldılmasıdır. Yeni keyfiyyət yoxlamaları, inkişaf və sınaq mühitləri vasitəsilə dolayı yolla kodun çatdırılmasının klassik modelindən yan keçə bilər:

  • Model EA-da dəyişdirildikdə bütün metadata yoxlamaları avtomatik olaraq yaradılır;
  • Verilənlərin mövcudluğunun yoxlanılması (vaxtın bir nöqtəsində hər hansı məlumatın mövcudluğunun müəyyən edilməsi) obyektlərin kontekstində növbəti məlumat parçasının görünməsinin gözlənilən vaxtını saxlayan kataloq əsasında yaradıla bilər;
  • Biznes məlumatlarının yoxlanılması Zeppelin noutbuklarında analitiklər tərəfindən yaradılır. Oradan onlar birbaşa istehsal mühitində DQ modulunun quraşdırma cədvəllərinə göndərilir.

Skriptlərin birbaşa istehsala göndərilməsi riski yoxdur. Sintaksis xətası olsa belə, bizi təhdid edən maksimum bir yoxlamanın yerinə yetirilməməsidir, çünki məlumatların hesablanması axını və keyfiyyət yoxlamasının işə salınması bir-birindən ayrılır.

Əslində, DQ xidməti istehsal mühitində daimi olaraq işləyir və növbəti məlumat parçası göründüyü an öz işinə başlamağa hazırdır.

Bunun əvəzinə bir nəticəyə

Aşağı kodun istifadəsinin üstünlüyü göz qabağındadır. Tərtibatçıların tətbiqi sıfırdan inkişaf etdirməsinə ehtiyac yoxdur. Əlavə tapşırıqlardan azad olan proqramçı isə daha tez nəticələr verir. Sürət, öz növbəsində, optimallaşdırma məsələlərini həll etmək üçün əlavə vaxt azad edir. Buna görə də, bu vəziyyətdə, daha yaxşı və daha sürətli bir həllə arxalana bilərsiniz.

Əlbəttə ki, aşağı kod panacea deyil və sehr öz-özünə baş verməyəcək:

  • Aşağı kodlu sənaye “daha ​​güclü olmaq” mərhələsindən keçir və hələlik vahid sənaye standartları yoxdur;
  • Bir çox aşağı kodlu həllər pulsuz deyil və onları satın almaq şüurlu bir addım olmalıdır, onlardan istifadənin maliyyə faydalarına tam əminliklə edilməlidir;
  • Bir çox aşağı kodlu həllər həmişə GIT/SVN ilə yaxşı işləmir. Və ya yaradılan kod gizlədildiyi təqdirdə istifadə etmək əlverişsizdir;
  • Arxitekturanı genişləndirərkən aşağı kodlu həlli təkmilləşdirmək lazım ola bilər - bu da öz növbəsində aşağı kodlu həllin təchizatçısına "bağlanma və asılılıq" təsirini yaradır.
  • Adekvat təhlükəsizlik səviyyəsi mümkündür, lakin bu, çox əmək tələb edir və aşağı kodlu sistem mühərriklərində həyata keçirmək çətindir. Aşağı kodlu platformalar təkcə onların istifadəsindən fayda axtarmaq prinsipi ilə seçilməməlidir. Seçərkən, girişə nəzarət və identifikasiya məlumatlarının təşkilatın bütün İT landşaftının səviyyəsinə ötürülməsi/eskalasiyası üçün funksionallığın mövcudluğu ilə bağlı suallar verməyə dəyər.

Analitik platformalarda aşağı kodun tətbiqi

Bununla belə, seçilmiş sistemin bütün çatışmazlıqları sizə məlumdursa və onun istifadəsinin faydaları, buna baxmayaraq, üstünlük təşkil edirsə, qorxmadan kiçik koda keçin. Üstəlik, ona keçid qaçılmazdır - hər hansı təkamül qaçılmaz olduğu kimi.

Əgər aşağı kodlu platformada bir tərtibatçı öz işini aşağı kodu olmayan iki tərtibatçıdan daha sürətli yerinə yetirirsə, bu, şirkətə hər cəhətdən başlanğıc verir. Aşağı kodlu həllərə giriş həddi “ənənəvi” texnologiyalardan daha aşağıdır və bu, kadr çatışmazlığı məsələsinə müsbət təsir göstərir. Aşağı kodlu vasitələrdən istifadə edərkən, funksional komandalar arasında qarşılıqlı əlaqəni sürətləndirmək və məlumat elminin tədqiqatının seçilmiş yolunun düzgünlüyünə dair daha sürətli qərarlar qəbul etmək mümkündür. Aşağı səviyyəli platformalar təşkilatın rəqəmsal çevrilməsinə təkan verə bilər, çünki istehsal olunan həllər qeyri-texniki mütəxəssislər (xüsusən də biznes istifadəçiləri) tərəfindən başa düşülə bilər.

Sıx son tarixləriniz, yüklənmiş biznes məntiqiniz, texnoloji təcrübəniz yoxdursa və bazara çıxmaq üçün vaxtınızı sürətləndirməlisinizsə, o zaman aşağı kod ehtiyaclarınızı ödəməyin bir yoludur.

Ənənəvi inkişaf vasitələrinin əhəmiyyətini inkar etmək olmaz, lakin bir çox hallarda aşağı kodlu həllərdən istifadə həll olunan vəzifələrin səmərəliliyini artırmaq üçün ən yaxşı yoldur.

Mənbə: www.habr.com

Добавить комментарий