Məlumat mühəndisliyinə yeni başlayan bələdçi - I hissə

Məlumat Mühəndisliyi: Məlumat Elmin Yaxın əmisi

Şəkil krediti: Matinero Madriddə gözəl bir keçmiş köhnə əkinçilik / anbar, Iñaqui Carnicero tərəfindən arxivləşdirilmişdir

Motivasiya

Məlumat alimi olaraq nə qədər təcrübəli olsam, məlumat mühəndisliyinin hər hansı bir məlumat aliminin alətlər dəstindəki ən kritik və təməl bacarıqlardan biri olduğuna bir daha əminəm. Bunu həm layihə, həm də iş imkanlarını qiymətləndirmək və işdəki bir işi ölçmək üçün doğru hesab edirəm.

Əvvəlki bir yazıda bir məlumat aliminin məlumatları dəyərə çevirə bilmə qabiliyyətinin, şirkətinin məlumat infrastrukturu mərhələsi və məlumat anbarının nə qədər yetkin olması ilə əlaqəli olduğunu qeyd etdim. Bu, bir məlumat aliminin bacarıqlarının şirkətin mərhələsi və ehtiyacı ilə necə uyğunlandığını diqqətlə qiymətləndirmək üçün məlumat mühəndisliyi haqqında kifayət qədər məlumat əldə etməsi deməkdir. Bundan əlavə, tanıdığım böyük məlumat alimlərinin bir çoxu yalnız məlumat elmində güclü deyil, əksinə əldə edilə bilməyən daha böyük və daha iddialı layihələri qəbul etmək üçün məlumat mühəndisliyini bitişik bir intizam olaraq istifadə etməkdə strateji əhəmiyyətə malikdir.

Əhəmiyyətinə baxmayaraq, məlumat mühəndisliyi sahəsində təhsil məhdud olmuşdur. Tələsikliyini nəzərə alaraq, bir çox cəhətdən məlumat mühəndisliyi sahəsində təlim almağın yeganə yolu iş yerində öyrənməkdir və bəzən çox gec ola bilər. Mənə bu mövzunu səbrlə öyrədən məlumat mühəndisləri ilə işləməyimdən çox şanslıyam, amma hər kəsin eyni imkanı yoxdur. Nəticədə boşluğu aradan qaldırmaq üçün öyrəndiklərimi ümumiləşdirmək üçün bu başlanğıc kitabçasını yazdım.

Bu Başlanğıc Bələdçisinin təşkili

Müzakirələrimin əhatəsi heç bir şəkildə tükənməz və hava axını, toplu məlumatların işlənməsi və SQL kimi dillərin ətrafında geniş şəkildə hazırlanmışdır. Deyilənlərə görə, bu diqqət oxucunun məlumat mühəndisliyi haqqında əsas bir anlayış əldə etməsinə mane olmamalıdır və inşallah bu sürətlə böyüyən, inkişaf etməkdə olan sahə haqqında daha çox məlumat əldə etmək marağınıza səbəb olacaqdır.

  • I hissə (bu yazı) yüksək səviyyəli bir giriş yazısı üçün hazırlanmışdır. Şəxsi lətifələr və mütəxəssis anlayışlarının birləşməsindən istifadə edərək məlumat mühəndisliyinin nə olduğunu, niyə çətin olduğunu və bunun sizə və ya təşkilatınıza necə miqyasda kömək edə biləcəyini kontekstləşdirəcəyəm. Bu yazının əsas auditoriyası, iş imkanlarını qiymətləndirmək üçün əsasları öyrənməyə ehtiyac duyan məlumat alimlərini və ya şirkətin ilk məlumat komandasını qurmağı planlaşdıran erkən qurucular üçün.
  • II hissə daha çox texniki xarakter daşıyır. Bu yazıda Hava axını, Airbnb-nin proqram müəllifi, cədvəli və iş axınlarını izləməsi üçün açıq mənbəli vasitə olacaq. Xüsusilə, Hava axınında bir Hive toplu işini necə yazmağı, ulduz sxemi kimi üsullardan istifadə edərək masa sxemlərini necə tərtib edəcəyini və nəhayət ETL-lərin qurulması ilə bağlı ən yaxşı təcrübələri göstərəcəyəm. Bu yazı məlumat alimləri və məlumat mühəndisliyi bacarıqlarını öyrətməyə çalışan məlumat mühəndislərinə başlamağa uyğundur.
  • III hissə, bu seriyanın son yazısı olacaq, burada inkişaf etmiş məlumat mühəndisliyi nümunələri, daha yüksək səviyyəli abstraksiyalar və ETL-lərin qurulmasını daha asan və daha səmərəli hala gətirəcək geniş çərçivələr təsvir ediləcəkdir. Bu nümunələrin çoxunu mənə çətin yolu öyrənən Airbnb-nin təcrübəli məlumat mühəndisləri öyrədirlər. Bu anlayışları iş təcrübələrini daha da optimallaşdırmağa çalışan məlumatlı elm adamları və təcrübəli məlumat mühəndisləri üçün xüsusilə faydalı hesab edirəm.

Artıq bitişik bir intizam olaraq məlumat mühəndisliyini öyrənmək üçün böyük bir tərəfdar olduğumu nəzərə alsaq, bir neçə il əvvəl tamamilə əks fikirdə olduğum üçün təəccüblü görünə bilərsiniz - İlk işim zamanı həm motivasiya, həm də emosional olaraq məlumat mühəndisliyi ilə çox mübarizə apardım. .

Lisenziya məktəbindən kənar ilk sənaye işim

Aspiranturadan dərhal sonra Washington Post ilə əlaqəli kiçik bir başlanğıcda ilk məlumat alimi olaraq işə götürüldüm. Sonsuz istəklərimlə, ən mürəkkəb üsullardan istifadə edərək ən aktual iş problemlərini həll etmək üçün təhlil hazır məlumatlar verəcəyimə inandım.

İşə başladıqdan qısa müddət sonra bildim ki, mənim əsas məsuliyyətim təsəvvür etdiyim qədər cəlbedici deyil. Bunun əvəzinə mənim işim daha əsaslı idi - saytımıza nə qədər istifadəçinin gəldiyini, hər oxuyanın məzmunu oxumağa nə qədər vaxt sərf etdiyini və insanların məqalələri nə qədər bəyəndiyini və ya yenidən izlədiyini izləmək üçün kritik boru kəmərlərini saxlamaq. Əlbətdə vacib bir iş idi, çünki yüksək keyfiyyətli məzmun müqabilində oxucularımızın fikirlərini filial nəşriyyatlarımıza çatdırdıq.

Gizli olsa da, həmişə əlimdəki işləri başa vuraraq, burada təsvir olunanlar kimi sonrakı zövqlü məlumat məhsulları istehsalına davam edə biləcəyimi ümid edirəm. Axı, özümə dediyim kimi məlumat aliminin etməsi lazım olan şeydir. Aylar keçdikdən sonra fürsət heç vaxt gəlmədi və şirkəti ümidsiz vəziyyətdə tərk etdim. Təəssüf ki, mənim şəxsi lətifəm bu yeni əmək bazarında hər ikisi təcrübəsiz olan erkən başlanğıc startapları (tələbi) və ya yeni məlumat alimləri (tədarükü) üçün məlum olmayanların hamısını səsləndirə bilməz.

Şəkil krediti: ETL boru kəmərlərini səylə tikirəm (ortada mavi oğlan)

Bu təcrübəni düşünərək, məyusluğumun real həyat məlumatları layihələrinin necə işlədiyini çox az anladığımdan qaynaqlandığını başa düşdüm. Əvvəlcədən işlənmiş, səliqəli .csv sənədlərinin rahat ərazisindən çox uzaq olan xam məlumatlardan vəhşi qərbə atıldım və bu normanın olduğu bir mühitdə hazırlıqsız və işsiz hiss etdim.

Bir çox məlumat alimləri karyeralarında erkən oxşar bir səyahət keçirdilər və ən yaxşıları bu reallığı və bununla əlaqəli problemləri tez başa düşdülər. Mən özüm də yavaş-yavaş və tədricən bu yeni reallığa uyğunlaşdım. Vaxt keçdikcə maşınla işlənmiş qeydlər ilə hustled, bir çox URL və zaman işarələrini təhlil etmiş və ən əsası SQL-ni öyrənmişəm (Bəli, maraqlanırsınızsa, ilk işimdən əvvəl SQL-yə yalnız məruzəm Jennifer idi) Widomun zəhmli MOOC burada).

İndiki vaxtda analitikanın əsasən nəyi diqqətlə və ağıllı saymağı başa düşürəm və bu tip təməl iş daimi səs-küylü sözlər və xəyallarla dolu bir dünyada yaşadığımızda xüsusilə vacibdir.

Təhlil iyerarxiyası

Məlumat elminin üyüdülməsi aspekti ilə medianın bəzən təsvir etdiyi qızılgül təsvirləri arasındakı uyğunsuzluğu qeyd edən bir çox vəkil arasında, xüsusilə Monica Rogati'nin AI qəbul etmək istəyən şirkətlərə qarşı xəbərdarlıq etdiyi səslənmədən bəyəndim.

Süni intellekt ehtiyacların bir piramidasının zirvəsi olduğunu düşünün. Bəli, özünü tanıtma (AI) əladır, ancaq əvvəlcə qida, su və sığınacaq (məlumat savadlılığı, toplama və infrastruktur) lazımdır.

Bu çərçivə hər şeyi perspektivə qoyur. Bir şirkət biznesi daha səmərəli şəkildə optimallaşdıra və ya məlumat məhsullarını daha ağıllı şəkildə qura bilməzdən əvvəl əvvəlcə təməl iş qatları qurulmalıdır. Bu müddət, bir insanın nəhayət özünü tanıya bilmədiyi üçün qida və ya su kimi yaşamaq ehtiyaclarını ödəməli olduğu səyahətə bənzəyir. Bu qayda, şirkətlərin ehtiyaclar sırasına görə məlumat istedadlarını işə götürmələrini nəzərdə tutur. Fəlakət üçün reseptlərdən biri başlanğıcların ilk məlumat töhfəçilərini yalnız modelləşdirmə sahəsində ixtisaslaşmış, lakin hər şeyin ilkin şərtləri olan təməl qatları qurmaq təcrübəsi olmayan birisi kimi işə götürməsidir. -Sifariş problemi ”).

Mənbə: Monica Rogati'nin

Təəssüf ki, bir çox şirkət mövcud elmi məlumat hazırlığı proqramlarımızın əksəriyyətinin, akademik və ya professional olaraq, piramida biliklərinin üstünə yönəlməyə meyl etdiyini bilmir. Tələbələri ictimai API-lər vasitəsilə xırdalanmış məlumatları qırmağa, hazırlamağa və ya əldə etməyə həvəsləndirən müasir kurslarda belə, əksəriyyəti tələbələrə cədvəl sxemlərini düzgün tərtib etməyi və ya məlumat boru kəmərləri qurmağı öyrətmir. Nəticədə, real həyatda məlumat elmləri layihələrinin bəzi kritik elementləri tərcümədə itirildi.

Xoşbəxtlikdən, bir peşə olaraq proqram mühəndisliyi ön mühəndislik, arxa mühəndislik və sayt etibarlılığı mühəndisliyini necə fərqləndirirsə, proqnozlaşdırıram ki, sahəmiz daha da yetkinləşdikcə eyni olacaq. Zamanla istedadın tərkibi daha çox ixtisaslaşacaq və məlumat intensiv tətbiqi üçün təməl qurmaq bacarığı və təcrübəsi olanlar artmaqdadır.

Bu gələcək mənzərə məlumat alimləri üçün nə deməkdir? Hər məlumat aliminin məlumat mühəndisliyi üzrə bir mütəxəssis olmağa ehtiyacı olduğunu mübahisə etmək qədər getməzdim. Ancaq düşünürəm ki, istedad problemini uyğunlaşdırmaq üçün hər məlumat alimi layihə və iş imkanlarını qiymətləndirmək üçün kifayət qədər əsasları bilməlidir. Əgər həll etməkdə maraqlı olduğunuz problemlərin çoxunun daha çox məlumat mühəndisliyi bacarığı tələb etdiyini görsəniz, məlumat mühəndisliyini öyrənməyə daha çox pul ayırmaq üçün heç vaxt gec deyil. Bu əslində Airbnb-də apardığım yanaşmadır.

Bina Məlumat Vəqfləri və Anbarlar

Məlumat mühəndisliyini öyrənməkdə məqsədinizdən və ya maraq səviyyənizdən asılı olmayaraq, məlumat mühəndisliyinin nə olduğunu dəqiq bilmək vacibdir. Hava axınının orijinal müəllifi olan Maxime Beauchemin, fantastik postunda Məlumat mühəndisinin yüksəlişində məlumat mühəndisliyini səciyyələndirdi:

Məlumat mühəndisliyi sahəsini, proqram mühəndisliyindən daha çox element gətirən bir iş kəşfiyyatı və məlumat anbarı kimi düşünmək olar. Bu intizam, genişlənmiş Hadoop ekosistemi, axın emalı və miqyasda hesablama ilə yanaşı "böyük məlumat" paylanmış sistemlərin işləməsi ətrafında ixtisaslaşmanı birləşdirir.

Məlumat mühəndislərinin etdikləri bir çox dəyərli iş arasında, çox axtarılan bacarıqlarından biri də məlumat anbarlarının dizayn edilməsi, qurulması və saxlanmasıdır. İstehlak mallarının qablaşdırıldığı və satıldığı bir pərakəndə anbar olduğu kimi, bir məlumat anbarı da xam məlumatların çevrildiyi və sorğu edə bilən formalarda saxlanıldığı bir yerdir.

Mənbə: Jeff Hammerbacher UC Berkeley CS 194 kursundan slayd

Bir çox cəhətdən məlumat anbarları həm mühərrikdir, həm də işgüzar zəka, onlayn təcrübə və ya maşın öyrənmə baxımından daha yüksək səviyyəli analitik imkan verən yanacaqdır. Aşağıda müxtəlif şirkətlər üçün müxtəlif şirkətlər üçün məlumat anbarının rolunu vurğulayan bir neçə xüsusi nümunə verilmişdir:

  • 500px-də Analitikanın qurulması: Bu yazıda Samson Hu, 500px-ın məhsul bazarına uyğun gəlməməyə çalışdığı zaman qarşılaşdığı problemləri izah edir. Məlumat anbarını yerdən və yuxarıdan necə qurduğunu ətraflı izah edir.
  • Airbnb-nin Təcrübə Platformasını Ölçəkləmə: Jonathon Parks, Airbnb'nin məlumat mühəndisliyi qrupunun təcrübə hesabat çərçivəsi kimi daxili alətləri gücləndirmək üçün xüsusi məlumat boru kəmərlərini necə qurduğunu nümayiş etdirir. Bu iş Airbnb-nin məhsul inkişaf mədəniyyətinin formalaşması və miqyaslanması baxımından vacibdir.
  • Airbnb-də Evlərin Dəyərini Proqnozlaşdırmaq üçün ML-dən istifadə: Özüm tərəfindən yazılmış, batch hazırlığı, oflayn qol maşınları öyrənmə modellərinin qurulması üçün çox sayda qabaqcıl məlumat mühəndisliyi işini tələb etdiyini izah edirəm. Xüsusi mühəndislik, bina və yenidən doldurma təhsili ilə əlaqəli bir çox vəzifə məlumat mühəndisliyi işlərinə bənzəyir.

Bu təməl anbarlar olmadan məlumat elmi ilə əlaqəli hər bir fəaliyyət ya çox bahalı olur, ya da genişlənə bilməz. Məsələn, düzgün hazırlanmış bir iş kəşfiyyatı anbarı olmadan məlumat alimləri ən yaxşı halda verilən eyni əsas sual üçün fərqli nəticələr verə bilərlər; Ən pis halda, təsadüfən gecikmələrə və ya kəsilmələrə səbəb olan istehsal bazasından birbaşa sorğu edə bilərlər. Eynilə, təcrübə hesabat boru kəməri olmadan, təcrübə dərin dalışlar aparmaq olduqca əl ilə və təkrar edilə bilər. Nəhayət, etiket toplanması və ya xüsusiyyət hesablamasını dəstəkləmək üçün məlumat infrastrukturu olmadan, təlim məlumatları qurmaq çox vaxt apara bilər.

ETL: Çıxarın, dəyişdirin və yükləyin

Yuxarıda istinad etdiyimiz bütün nümunələr Çıxarış, Dəyişdirmə və Yükləmə mənasını verən ETL adlanan ümumi bir nümunəyə uyğundur. Bu üç konseptual addım, məlumat boru kəmərlərinin əksəriyyətinin necə qurulduğunu və qurulduğunu göstərir. Bunlar xam məlumatların analiz hazır məlumatlara necə çevrildiyi üçün bir plan rolunu oynayır. Bu axını daha konkret şəkildə başa düşmək üçün Robinhood mühəndislik blogundakı aşağıdakı mənzərəni çox faydalı gördüm:

Mənbə: Vineet Goel-in
  • Çıxarış: bu sensorlar yuxarı məlumat mənbələrinin quruya çıxmasını gözlədiyi addımdır (məsələn, yuxarı mənbədən maşın və ya istifadəçi tərəfindən yaradılan qeydlər, əlaqəli verilənlər bazası nüsxəsi, xarici verilənlər bazası və s.). Mövcud olduqda, məlumatları mənbələrindəki yerlərdən sonrakı dəyişikliklərə keçiririk.
  • Transformasiya: Bu, hər hansı bir ETL işinin mərkəzidir, burada iş məntiqini tətbiq edirik və xam məlumatları təhlil hazır bazalara çevirmək üçün filtrləmə, qruplaşdırma və toplama kimi hərəkətləri yerinə yetiririk. Bu addım böyük bir iş anlayışı və sahə biliklərini tələb edir.
  • Yük: Nəhayət, işlənmiş məlumatları yükləyirik və son bir yerə çatdırırıq. Çox vaxt bu məlumat bazası ya birbaşa son istifadəçilər tərəfindən istehlak edilə bilər və ya başqa bir ETL işinə yuxarıdan yuxarı bir asılılıq kimi qiymətləndirilə bilər.

Bütün ETL işləri bu ümumi nümunəni izləsə də, faktiki iş yerləri istifadə, yararlılıq və mürəkkəblik baxımından çox fərqli ola bilər. Bir hava axını işinin çox sadə bir oyuncaq nümunəsidir:

Yuxarıdakı nümunə, icra tarixinə çatdıqdan sonra bir saniyə keçməsini gözlədikdən sonra hər gün bashda tarix yazdırır, ancaq real həyatda ETL işləri daha mürəkkəb ola bilər. Məsələn, bir istehsal məlumat bazasından CRUD əməliyyatları çıxaran və istifadəçinin ləğvi kimi iş hadisələrini əldə edən ETL işimiz ola bilər. Başqa bir ETL, bəzi təcrübə konfiqurasiya faylı götürə bilər, bu sınaq üçün müvafiq ölçüləri hesablaya bilər və nəticədə məhsul dəyişikliyinin istifadəçi dəyişməsinin qarşısını aldığı barədə məlumat vermək üçün bir UI-də p-dəyərləri və etimad intervallarını çıxara bilər. Başqa bir nümunə, gündəlik bir istifadəçi maşın öyrənmə modeli üçün xüsusiyyətlərini hesablayan bir toplu ETL işidir. İmkanlar sonsuzdur!

ETL Çərçivələrini seçmək

ETL-lərin qurulmasına gəldikdə, fərqli şirkətlər fərqli ən yaxşı təcrübələri tətbiq edə bilər. İllər keçdikcə bir çox şirkət ETL-lərin qurulmasında ümumi problemlərin aşkarlanmasında böyük addımlar atdı və bu problemləri daha zərif şəkildə həll etmək üçün çərçivələr qurdu.

Top məlumatların emalı dünyasında, oyunda açıq-aşkar bir neçə iddiaçı var. Bir neçə adlandırmaq: Linkedin Hadoop iş asılılığını idarə etməyi asanlaşdırmaq üçün Azkaban açdı. Spotify 2014-cü ildə açıq mənbəli Python əsaslı Luigi, Pinterest eyni şəkildə 2015-ci ildə açıq Pinball və Airbnb açıq qaynaqlanan hava axını (həmçinin Python-based).

Fərqli çərçivələrin fərqli güclü və zəif tərəfləri var və bir çox mütəxəssis aralarında geniş müqayisə aparıblar (bax və burada). Qəbul etməyi seçdiyiniz çərçivədən asılı olmayaraq, bir neçə xüsusiyyətləri nəzərə almaq vacibdir:

Mənbə: Marton Trencseni Luigi, Airflow və Pinball arasındakı müqayisə
  • Konfiqurasiya: ETL'lər təbii olaraq mürəkkəbdir və bir məlumat boru kəmərinin məlumat axınını qısa şəkildə təsvir edə bilməyimiz lazımdır. Nəticədə ETL-lərin necə müəllif olduğunu qiymətləndirmək vacibdir. UI, bir domen xüsusi bir dil və ya kodda konfiqurasiya edilmişdir? Hal-hazırda kod kimi konfiqurasiya anlayışı populyarlıq qazanır, çünki istifadəçilərə xüsusi olaraq özelleştirilebilir olan boru kəmərlərini açıq şəkildə qurmağa imkan verir.
  • UI, Monitorinq, Uyarılar: Uzun müddət davam edən toplu proseslər, işin özündə səhv olmasa da qaçılmaz olaraq səhvlərə yol aça bilər (məsələn, çoxluq uğursuzluqları). Nəticədə, uzun müddət davam edən proseslərin gedişatını izləmək üçün monitorinq və xəbərdarlıq vacibdir. Bir çərçivə iş tərəqqi üçün vizual məlumatları nə dərəcədə yaxşı təmin edir? Xəbərdarlıqları və ya xəbərdarlıqları vaxtında və dəqiq şəkildə yerinə yetirirmi?
  • Geri doldurma: Məlumat boru kəməri tikildikdən sonra çox vaxt vaxtında geri dönməli və tarixi məlumatları yenidən işləməliyik. İdeal olaraq, iki ayrı iş qurmaq istəmirik, biri tarixi məlumatların yenidən doldurulması üçün, digəri cari və ya gələcək ölçüləri hesablamaq üçün. Bir çərçivə yenidən doldurmağı necə asanlıqla dəstəkləyir? Bunu standart, səmərəli və genişlənə bilən bir şəkildə edə bilərmi? Bütün bunlar nəzərə alınmalı vacib suallardır.

Təbii ki, Airbnb-də işləyən biri kimi Hava axınından istifadə etməyi çox sevirəm və məlumat mühəndisliyi işləri zamanı rastlaşdığım bir çox ümumi problemləri zərifcə necə həll etdiyini həqiqətən çox qiymətləndirirəm. Rəsmi olaraq Hava axınının öz de-fakto ETL orkestraj mühərriki kimi istifadə etdiyi 120+ şirkətin olduğunu nəzərə alsaq, Hava axınının yeni nəsil başlanğıcların toplu emalı üçün standart ola biləcəyini iddia edərək, hətta gedə bilərəm.

İki paradiqma: SQL- vs JVM-Centric ETL

Yuxarıda göstərilənlərdən göründüyü kimi, fərqli şirkətlər ETL-lərin qurulması üçün kəskin dərəcədə fərqli alətlər və çərçivələr seçə bilər və yeni bir məlumat alimi olaraq hansı vasitələrə sərmayə qoyacağına qərar vermək olduqca çaşqın ola bilər.

Bu, əlbəttə ki, mənim üçün belə oldu: Washington Post Laboratoriyalarında ETL-lər əsasən Cronda planlaşdırılırdı və işlər Vertica yazıları kimi təşkil olunur. Twitter-də, ETL işləri Donuzda quruldu, halbuki bunların hamısı Twitter-in öz orkestr mühərriki tərəfindən planlaşdırılan Scalding-də yazılmışdır. Airbnb-də məlumat boru kəmərləri əsasən Hava axını istifadə edərək Hive-də yazılır.

Məlumat alimi kimi işlədiyim ilk illər ərzində təşkilatlarımın seçdiklərini və verilənləri götürdüklərini çox təqib etdim. Josh Will'in danışmasına rast gəldiyim zaman, adətən iki ETL paradiqması olduğunu fərq etdim və həqiqətən də məlumat alimlərinin şirkətə qoşulmadan hansı paradiqma seçmələri barədə çox düşünmələrini düşünürəm.

Video mənbəyi: Josh Wills 'Keynote @ DataEngConf SF 2016
  • JVM merkezli ETL adətən JVM əsaslı bir dildə qurulur (Java və ya Scala kimi). Bu JVM dillərindəki mühəndis məlumat boru kəmərləri çox vaxt düşünmə məlumatlarının daha imperativ bir şəkildə dəyişdirilməsini, məsələn, açar dəyər cütləri baxımından düşünməyi əhatə edir. İstifadəçinin təyin etdiyi funksiyaları (UDF) yazmaq daha az ağrılı olur, çünki birinin başqa bir dildə yazmasına ehtiyac yoxdur və eyni səbəbdən test işləri asanlaşdırıla bilər. Bu paradiqma mühəndislər arasında olduqca populyardır.
  • SQL merkezli ETL adətən SQL, Presto və ya Hive kimi dillərdə qurulur. ETL işləri tez-tez deklarativ şəkildə müəyyən edilir və demək olar ki, hər şey SQL və masaların ətrafında olur. UDF yazmaq bəzən çətin olur, çünki başqa bir dildə (məsələn, Java və ya Python) yazmaq məcburiyyətindədir və buna görə test daha çətin ola bilər. Bu paradiqma məlumat alimləri arasında populyardır.

Hər iki paradiqma altında ETL boru kəmərləri quran bir məlumat alimi olaraq, təbii olaraq SQL mərkəzli ETL-lərə üstünlük verirəm. Əslində, hətta yeni bir məlumat alimi olaraq SQL paradiqmasında işləyərkən məlumat mühəndisliyi mövzusunda daha tez məlumat əldə edə biləcəyinizi iddia edərdim. Niyə? Çünki SQL öyrənmək Java və ya Scala öyrənməkdən daha asandır (onsuz da tanış deyilsinizsə) və enerjinizi yeni bir dildə yeni bir domendə yeni anlayışlar öyrənməkdən daha yaxşı DE təcrübələrini öyrənməyə yönəldə bilərsiniz.

Başlanğıc bələdçisini bağlamaq - I hissə

Bu yazıda, analitikanın təbəqələr üzərində qurulduğunu və məlumat anbarının qurulması kimi təməl işlərin böyüməkdə olan bir təşkilatı genişləndirməyin vacib bir şərt olduğunu söylədik. ETL-lərin qurulması üçün müxtəlif çərçivə və paradiqmaları qısaca müzakirə etdik, lakin öyrənmək və müzakirə etmək üçün çox şey var.

Bu seriyanın ikinci yazıında, spesifikliyə daldıracam və Hava axınında Hive toplu işini necə quracağını nümayiş etdirəcəyəm. Xüsusilə, Hava axını işinin əsas anatomiyasını öyrənəcəyik, bölmə sensorları və operatorlar kimi konstruksiyalar vasitəsilə çıxarış, çevirmə və yükləmə işlərini görəcəyik. Ulduz sxemi kimi məlumat modelləşdirmə üsullarını cədvəllərin dizaynında necə istifadə edəcəyimizi öyrənəcəyik. Sonda, son dərəcə faydalı olan bəzi ETL ən yaxşı təcrübələrini qeyd edəcəyəm.

Bu yazını faydalı hesab etmisinizsə, II hissə və III hissə üçün uyğun olun.