Tester data ageung sareng alit: tren, téori, carita kuring

Halo sadayana, nami abdi Alexander, sareng abdi Insinyur Kualitas Data anu pariksa kualitas data. Tulisan ieu bakal nyarioskeun kumaha kuring dugi ka ieu sareng kunaon dina 2020 daérah uji ieu aya dina puncak gelombang.

Tester data ageung sareng alit: tren, téori, carita kuring

trend global

Dunya ayeuna ngalaman révolusi téknologi anu sanés, salah sahiji aspék nyaéta ngagunakeun akumulasi data ku sagala jinis perusahaan pikeun spin flywheel penjualan, kauntungan sareng PR sorangan. Sigana yén éta téh kasadiaan alus (kualitas) data, kitu ogé brains skillful nu bisa nyieun duit ti aranjeunna (bener ngolah, visualize, ngawangun model learning mesin, jsb), geus jadi konci pikeun sukses keur loba kiwari. Upami 15-20 taun ka pengker, perusahaan ageung utamina kalibet dina padamelan intensif kalayan akumulasi data sareng monetisasina, ayeuna ieu mangrupikeun seueur jalma anu waras.

Dina hal ieu, sababaraha taun ka pengker, sadaya portal milarian padamelan di sakumna dunya mimiti pinuh ku lowongan Data Élmuwan, sabab sadayana yakin yén ku kéngingkeun spesialis sapertos kitu dina stafna, aranjeunna tiasa ngawangun supermodel pembelajaran mesin, ngaduga masa depan. sareng ngadamel "luncat kuantum" pikeun perusahaan. Kana waktu, jalma nyadar yén pendekatan ieu ampir pernah jalan, sabab tebih ti sakabeh data nu tumiba ka leungeun spesialis sapertos cocog pikeun model latihan.

Sareng pamundut ti Data Scientists mimiti: "Hayu urang mésér langkung seueur data ti ieu sareng éta ...", "Kami henteu gaduh data anu cekap ...", "Urang peryogi sababaraha data deui sareng langkung saé kualitas luhur ...". Dumasar kana pamundut ieu, seueur interaksi mimiti diwangun antara perusahaan anu gaduh hiji atanapi set data anu sanés. Alami, ieu diperlukeun organisasi téknis prosés ieu - pikeun nyambung ka sumber data, ngundeur éta, pariksa yen aranjeunna dimuat dina pinuh, jsb Jumlah prosés sapertos mimiti tumuwuh, sarta kiwari urang boga kabutuhan badag pikeun jenis sejen. spesialis - Insinyur Kualitas Data - jalma anu bakal ngawas aliran data dina sistem (pipelines data), kualitas data dina input sarta output, tarik conclusions ngeunaan kacukupan maranéhanana, integritas jeung ciri séjén.

Tren pikeun Kualitas Data insinyur sumping ka urang ti AS, dimana di tengah-tengah jaman kapitalisme anu ngamuk, teu aya anu siap éléh perang pikeun data. Di handap ieu kuring parantos nyayogikeun layar tina dua situs milarian padamelan anu paling populér di AS: www.monster.com и www.dice.com - anu nunjukkeun data tanggal 17 Maret 2020 ngeunaan jumlah lowongan anu ditampi, pikeun kecap konci: Kualitas Data sareng Ilmuwan Data.

www.monster.com

Élmuwan Data - 21416 lowongan
Kualitas data - 41104 lowongan

Tester data ageung sareng alit: tren, téori, carita kuring
Tester data ageung sareng alit: tren, téori, carita kuring

www.dice.com

Élmuwan Data - 404 lowongan
Kualitas Data - 2020 lowongan

Tester data ageung sareng alit: tren, téori, carita kuring
Tester data ageung sareng alit: tren, téori, carita kuring

Jelas, profési ieu henteu bersaing saling ku cara naon waé. Kalayan Potret layar, kuring ngan ukur hoyong ngagambarkeun kaayaan ayeuna di pasar tenaga kerja tina segi paménta pikeun insinyur Kualitas Data, anu ayeuna langkung diperyogikeun tibatan Ilmuwan Data.

Dina Juni 2019, EPAM, ngaréspon kana kabutuhan pasar IT modéren, milih Kualitas Data salaku prakték anu misah. Insinyur Kualitas Data dina kursus padamelan sapopoéna ngatur data, pariksa paripolahna dina kaayaan sareng sistem énggal, ngontrol relevansi data, kacukupan sareng relevansina. Kalayan sadayana ieu, dina rasa praktis, insinyur Kualitas Data leres-leres bakti sakedik waktos pikeun uji fungsional klasik, tapi eta niatna gumantung kana proyék (Kuring bakal masihan conto di handap).

Tugas Insinyur Kualitas Data henteu dugi ka pamariksaan manual/otomatis rutin pikeun "nulls, counts and sums" dina tabel database, tapi peryogi pamahaman anu jero ngeunaan kabutuhan bisnis palanggan sareng, sasuai, kamampuan ngarobih data anu sayogi janten. informasi bisnis usable.

Téori Kualitas Data

Tester data ageung sareng alit: tren, téori, carita kuring

Pikeun ngabayangkeun peran insinyur sapertos kitu, hayu urang terangkeun naon téori Kualitas Data.

Quality data - salah sahiji tahapan Manajemén Data (sakabeh dunya anu bakal kami tinggalkeun ka anjeun pikeun diajar mandiri) sareng tanggung jawab pikeun nganalisis data dumasar kana kritéria ieu:

Tester data ageung sareng alit: tren, téori, carita kuring
Jigana teu patut deciphering unggal titik (dina téori disebut "dimensi data"), aranjeunna cukup ogé digambarkeun dina gambar. Tapi prosés tés sorangan henteu nunjukkeun nyalin anu ketat tina fitur-fitur ieu kana kasus uji sareng verifikasiana. Dina Kualitas Data, sapertos dina jinis tés anu sanés, perlu, mimitina, pikeun ngawangun syarat kualitas data anu sapuk sareng pamilon proyék anu nyandak kaputusan bisnis.

Gumantung kana proyék Kualitas Data, insinyur tiasa ngalaksanakeun fungsi anu béda: ti tester-otomatis biasa kalayan penilaian deet ngeunaan kualitas data, ka jalma anu ngalaksanakeun profil jerona dumasar kana kriteria di luhur.

Katerangan anu lengkep ngeunaan Manajemén Data, Kualitas Data sareng prosés anu aya hubunganana ogé dijelaskeun dina buku anu disebut "DAMA-DMBOK: Badan Manajemén Data Pangaweruh: Édisi 2". Abdi nyarankeun pisan buku ieu salaku bubuka pikeun topik ieu (anjeun bakal mendakan tautan kana éta dina tungtung tulisan).

Carita kuring

Dina industri IT, kuring parantos angkat ti Junior QA di perusahaan produk pikeun Insinyur Kualitas Data Diterangkeun di EPAM. Saatos sakitar dua taun janten panguji, kuring yakin yén kuring leres-leres ngalaksanakeun sagala jinis tés: régrési, fungsional, setrés, stabilitas, kaamanan, UI, sareng sajabana - sareng nyobian sajumlah ageung alat uji, parantos damel nalika di tilu basa programming: Java, Scala, Python.

Ningali deui, abdi ngartos naha set skill abdi geus jadi rupa-rupa - Kuring geus kalibet dina proyék data, badag sarta leutik. Ieu anu nyababkeun kuring ka dunya seueur alat sareng kasempetan pikeun kamekaran.

Pikeun ngahargaan rupa-rupa parabot jeung kasempetan pikeun gaining pangaweruh jeung kaahlian anyar, ngan kasampak di gambar di handap, nu nembongkeun nu pang populerna di antarana di dunya "Data & AI".

Tester data ageung sareng alit: tren, téori, carita kuring
Jenis ilustrasi ieu dihasilkeun taunan ku salah sahiji kapitalis venture kawentar Matt Turck, pituin ngembangkeun software. Ieuh link ka blog na pausahaan modal venturadimana anjeunna damel salaku pasangan.

Kuring tumuwuh professionally utamana gancang nalika kuring hijina tester on proyék a, atawa sahenteuna dina awal proyek. Dina momen ieu anjeun kudu nanggungjawaban kana sadaya prosés nguji, jeung anjeun teu boga kasempetan pikeun mundur, ngan maju. Mimitina éta pikasieuneun, tapi ayeuna sadaya kauntungan tina tés sapertos kitu écés pikeun kuring:

  • Anjeun ngamimitian komunikasi sareng sadayana tim sapertos anu teu pernah aya sateuacanna, sabab teu aya proxy pikeun komunikasi: boh manajer tés atanapi sasama panguji.
  • Immersion dina proyék janten incredibly jero, sarta anjeun gaduh informasi ngeunaan sakabéh komponén duanana sacara umum tur jéntré.
  • Pamekar henteu ningali anjeun salaku "jalma uji anu henteu terang naon anu anjeunna laksanakeun", tapi salaku anu sami, ngahasilkeun nilai anu luar biasa pikeun tim kalayan autotes na sareng antisipasi bug dina titik produk tinangtu.
  • Hasilna, anjeun leuwih efisien, leuwih mumpuni, leuwih paménta.

Nalika proyékna ningkat, dina 100% kasus kuring janten mentor pikeun panguji énggal anu sumping ka éta, ngajar aranjeunna sareng masihan pangaweruh anu ku kuring diajar sorangan. Dina waktos anu sami, gumantung kana proyék, kuring henteu salawasna nampi tingkat pangluhurna spesialis tés otomatis ti manajemén sareng aya anu peryogi pikeun ngalatih aranjeunna dina otomatisasi (pikeun anu hoyong), atanapi nyiptakeun alat pikeun dianggo ku aranjeunna. dina kagiatan sapopoé (parabot pikeun ngahasilkeun data sareng ngamuat kana sistem, alat pikeun nguji beban / uji stabilitas gancang, jsb.).

Conto proyék husus

Hanjakal, alatan kawajiban non-panyingkepan, abdi teu tiasa ngobrol di jéntré ngeunaan proyék kuring digawé, tapi kuring bakal masihan conto tugas Insinyur Kualitas Data has dina salah sahiji proyék.

Intina proyék nyaéta pikeun nerapkeun platform pikeun nyiapkeun data pikeun pelatihan dumasar kana modél pembelajaran mesin. Pelanggan mangrupikeun perusahaan farmasi ageung ti Amérika Serikat. Téhnisna éta klaster Kubernetesnaék kana AWS EC2 instansi, kalawan sababaraha microservices jeung proyék Open Source kaayaan ti EPAM - pasukan, diadaptasi pikeun kabutuhan palanggan khusus (ayeuna proyékna parantos dilahirkeun deui odahu). Prosés ETL dikelompokeun nganggo aliran hawa Apache sarta dipindahkeun data ti Salesforce sistem palanggan di AWS S3 ember. Salajengna, gambar docker tina modél pembelajaran mesin disebarkeun kana platform, anu dilatih dina data seger sareng, nganggo antarmuka REST API, ngaluarkeun prediksi anu dipikaresep ku bisnis sareng ngarengsekeun masalah khusus.

Sacara visual, éta katingali sapertos kieu:

Tester data ageung sareng alit: tren, téori, carita kuring
Aya seueur uji fungsional dina proyék ieu, sareng dipasihan laju pangembangan fitur sareng kabutuhan pikeun ngajaga laju siklus sékrési (sprints dua minggu), éta kedah langsung mikir ngeunaan nguji otomatis tina titik sistem anu paling kritis. . Kalolobaan platform basis Kubernetes sorangan katutupan ku autotests dilaksanakeun dina Kerangka Robot + Python, tapi aranjeunna ogé kedah dirojong sareng diperpanjang. Sajaba ti éta, pikeun genah konsumén, GUI dijieun pikeun ngatur model learning mesin deployed kana klaster, kitu ogé kamampuhan pikeun nangtukeun ti mana jeung dimana mindahkeun data pikeun latihan model. Tambahan éksténsif ieu merlukeun perluasan cék fungsional otomatis, nu lolobana dipigawé ngaliwatan REST API panggero jeung sajumlah leutik tés UI tungtung-2-tungtung. Sabudeureun khatulistiwa tina sakabeh gerakan ieu, a tester manual ngagabung kami, anu ngalakukeun pakasaban hébat ku nguji ditampa versi produk jeung komunikasi jeung nasabah ngeunaan ditampa ti release salajengna. Salaku tambahan, kusabab datangna spesialis anyar, kami tiasa ngadokumentasikeun padamelan urang sareng nambihan sababaraha cek manual anu penting pisan anu sesah diotomatisasi langsung.

Tungtungna, saatos kami ngahontal stabilitas tina platform sareng GUI tambihanana, kami ngamimitian ngawangun pipa ETL nganggo Apache Airflow DAGs. Pamariksaan kualitas data otomatis dilaksanakeun ku nyerat DAGs Airflow khusus anu mariksa data dumasar kana hasil prosés ETL. Salaku bagian tina proyék ieu, kami untung, sarta nasabah masihan kami aksés ka susunan data anonim, nu urang diuji. Kami pariksa garis data ku garis pikeun patuh jinis, ayana data rusak, jumlah total rékaman sateuacan sareng saatos, ngabandingkeun transformasi anu dilakukeun ku prosés ETL pikeun agrégasi, ngarobih nami kolom, sareng saterasna. Salaku tambahan, cék ieu diskalakeun kana sumber data anu béda, contona, salian SalesForce, ogé dina MySQL.

Pamariksaan kualitas data ahir parantos dilaksanakeun dina tingkat S3, dimana aranjeunna disimpen sareng dina kaayaan siap dianggo pikeun ngalatih modél pembelajaran mesin. Pikeun meunangkeun data tina file CSV final lokasina dina S3 Ember na sangkan méré konfirmasi, kode ieu ditulis ngagunakeun boto3 klien.

Ogé dina bagian tina nasabah aya sarat pikeun nyimpen bagian tina data dina hiji S3 Ember, sarta bagian dina sejen. Ieu ogé diperlukeun nulis cék tambahan nu ngadalikeun reliabiliti asihan misalna.

Pangalaman umum dina proyék séjén

Conto daptar kagiatan anu paling umum pikeun insinyur Kualitas Data:

  • Nyiapkeun data tés (valid teu valid badag leutik) ngaliwatan hiji alat otomatis.
  • Muatkeun set data anu disiapkeun kana sumber asli sareng pariksa kesiapan pikeun dianggo.
  • Ngajalankeun prosés ETL pikeun ngolah hiji set data ti gudang sumber ka final atawa panengah hiji maké set tangtu setelan (lamun mungkin, Nyetél parameter configurable pikeun tugas ETL).
  • Pariksa data anu diolah ku prosés ETL pikeun kualitasna sareng patuh kana syarat bisnis.

Dina waktos anu sami, fokus utama pamariksaan kedah henteu ngan ukur dina kanyataan yén aliran data dina sistem, prinsipna, digarap sareng dugi ka tungtung (anu mangrupikeun bagian tina uji fungsional), tapi sabagéan ageung dina mariksa. sarta validating data pikeun minuhan sarat ekspektasi, identifying anomali jeung hal séjén.

instrumen

Salah sahiji téhnik pikeun kontrol data misalna bisa jadi organisasi cék ranté dina unggal tahapan ngolah data, nu disebut "ranté data" dina literatur - kontrol data ti sumber ka titik pamakéan final. Cék sapertos kitu paling sering dilaksanakeun ku nyerat validasi queries SQL. Ieu jelas yén queries misalna kudu jadi lightweight sabisa na pariksa potongan individu kualitas data (metadata tabel, garis kosong, NULLs, Kasalahan dina sintaksis - atribut sejenna diperlukeun pikeun pariksa).

Dina kasus uji régrési, anu ngagunakeun set data anu siap-siap (teu robih, rada robih), kodeu autotest tiasa nyimpen témplat siap-siap pikeun mariksa data pikeun patuh kana kualitas (deskripsi metadata tabel anu dipiharep; objék sampel string anu tiasa dipilih sacara acak nalika tés, jsb.).

Ogé, nalika tés, anjeun kedah nyerat prosés tés ETL nganggo kerangka sapertos Apache Airflow, Apache bitu atawa malah alat awan hideung-kotak kawas GCP Dataprep, Aliran Data GCP Teras salajengna. Kaayaan ieu ngajantenkeun insinyur tés teuleum kana prinsip operasi alat-alat di luhur sareng langkung efektif duanana ngalaksanakeun tés fungsional (contona, prosés ETL anu aya dina proyék) sareng dianggo pikeun pariksa data. Khususna, Apache Airflow gaduh operator anu siap-siap pikeun damel sareng database analitik anu populér, contona GCP BigQuery. Conto anu paling dasar tina panggunaanana parantos digariskeun. di dieujadi kuring moal ngulang sorangan.

Salian solusi anu siap-siap, teu aya anu nyaram anjeun pikeun nerapkeun téknik sareng alat anjeun. Ieu henteu ngan ukur mangpaat pikeun proyék éta, tapi ogé pikeun Insinyur Kualitas Data nyalira, anu ku kituna bakal ningkatkeun pandangan téknis sareng kaahlian coding.

Kumaha gawéna dina proyék nyata

Ilustrasi anu saé tina paragraf terakhir ngeunaan "ranté data", ETL sareng cek ubiquitous nyaéta prosés di handap ieu tina salah sahiji proyék nyata:

Tester data ageung sareng alit: tren, téori, carita kuring

Di dieu, data anu béda (sacara alami, disiapkeun ku kami) asup kana input "corong" tina sistem kami: sah, teu valid, dicampur, sareng sajabana, teras disaring sareng lebet kana panyimpenan perantara, teras ditungguan deui ku séri transformasi jeung ditempatkeun di gudang final , nu, kahareupna bakal dipaké pikeun analytics, ngawangun data marts sarta néangan wawasan bisnis. Dina sistem sapertos kitu, urang, tanpa mariksa fungsi prosés ETL, fokus kana kualitas data sateuacan sareng saatos transformasi, ogé kaluaran kana analitik.

Pikeun nyimpulkeun di luhur, henteu paduli tempat kuring damel, dimana waé kuring kalibet dina proyék Data anu ngagabungkeun fitur-fitur ieu:

  • Ngan ngaliwatan automation sababaraha kasus bisa diuji sarta siklus release ditarima pikeun bisnis bisa dihontal.
  • Penguji dina proyék sapertos kitu mangrupikeun salah sahiji anggota tim anu paling terhormat, sabab éta masihan kauntungan anu hadé pikeun unggal pamilon (akselerasi tés, data Data Élmuwan anu saé, deteksi awal cacad).
  • Henteu janten masalah upami anjeun damel dina hardware anjeun nyalira atanapi dina méga - sadaya sumber daya diabstraksi kana klaster sapertos Hortonworks, Cloudera, Mesos, Kubernetes, jsb.
  • Proyék diwangun dina pendekatan microservice, disebarkeun sarta komputasi paralel prevails.

Kuring dicatet yén nalika nguji dina widang Kualitas Data, tester a mindahkeun fokus profésional-Na kana kode produk jeung parabot dipaké.

Fitur has tina Uji Kualitas Data

Salaku tambahan, pikeun kuring sorangan, kuring parantos ngaidentipikasi hal-hal di handap ieu (kuring bakal langsung ngadamel reservasi VERY generalized sareng subyektif pisan) fitur has pikeun nguji dina Data (Big Data) proyék (sistem) sareng daérah anu sanés:

Tester data ageung sareng alit: tren, téori, carita kuring

link mangpaat

  1. Téori: DAMA-DMBOK: Badan Manajemén Data Pangaweruh: 2nd Edition.
  2. Puseur palatihan EPAM 
  3. Bahan anu disarankeun pikeun Insinyur Kualitas Data pemula:
    1. Kursus gratis dina Stepik: Bubuka pikeun database
    2. Kursus dina Diajar LinkedIn: Yayasan Élmu Data: Téknik Data.
    3. Artikel:
    4. video:

kacindekan

Quality data mangrupakeun arah ngajangjikeun pisan ngora, janten bagian tina hartosna janten bagian tina ngamimitian-up. Sakali dina Kualitas Data, anjeun bakal terjun kana sajumlah ageung téknologi paménta modéren, tapi anu paling penting, anjeun bakal ngagaduhan kasempetan anu ageung pikeun ngahasilkeun sareng ngalaksanakeun ideu anjeun. Anjeun bakal tiasa nganggo pendekatan perbaikan kontinyu teu ukur dina proyék, tapi ogé pikeun diri, terus-terusan ngembangkeun salaku spesialis a.

sumber: www.habr.com

Tambahkeun komentar