Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Hamjambo nyote, jina langu ni Alexander, na mimi ni mhandisi wa Ubora wa Data ambaye hukagua data ili kubaini ubora wake. Nakala hii itazungumza juu ya jinsi nilivyofikia hii na kwa nini mnamo 2020 eneo hili la majaribio lilikuwa kwenye eneo la wimbi.

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Mwenendo wa kimataifa

Ulimwengu wa leo unakabiliwa na mapinduzi mengine ya kiteknolojia, kipengele kimojawapo ambacho ni matumizi ya data iliyokusanywa na kila aina ya makampuni ili kukuza mauzo yao wenyewe, faida na PR. Inaonekana kwamba uwepo wa data nzuri (ubora), pamoja na ubongo wenye ujuzi ambao wanaweza kupata pesa kutoka kwao (kwa usahihi mchakato, taswira, kujenga mifano ya kujifunza mashine, nk), wamekuwa ufunguo wa mafanikio kwa wengi leo. Ikiwa miaka 15-20 iliyopita makampuni makubwa yalihusika hasa katika kazi kubwa na mkusanyiko wa data na uchumaji wa mapato, leo hii ni mengi ya karibu watu wote wenye akili timamu.

Katika suala hili, miaka kadhaa iliyopita, milango yote iliyojitolea kutafuta kazi ulimwenguni kote ilianza kujazwa na nafasi za Wanasayansi wa Takwimu, kwani kila mtu alikuwa na hakika kwamba, baada ya kuajiri mtaalamu kama huyo, itawezekana kujenga supermodel ya kujifunza mashine. , kutabiri siku zijazo na kufanya "quantum leap" kwa kampuni. Kwa wakati, watu waligundua kuwa njia hii karibu haifanyi kazi popote, kwani sio data zote zinazoanguka mikononi mwa wataalam kama hao zinafaa kwa mifano ya mafunzo.

Na maombi kutoka kwa Wanasayansi wa Data yakaanza: β€œWacha tununue data zaidi kutoka kwa hizi na zile...”, β€œHatuna data ya kutosha...”, β€œTunahitaji data zaidi, ikiwezekana ya ubora wa juu...” . Kulingana na maombi haya, mwingiliano mwingi ulianza kujengwa kati ya kampuni zinazomiliki seti moja au nyingine ya data. Kwa kawaida, hii ilihitaji shirika la kiufundi la mchakato huu - kuunganisha kwenye chanzo cha data, kupakua, kuangalia kwamba ilikuwa imepakiwa kikamilifu, nk. Idadi ya michakato hiyo ilianza kukua, na leo tuna haja kubwa ya aina nyingine ya wataalamu - Wahandisi wa Ubora wa Data - wale ambao wangefuatilia mtiririko wa data katika mfumo (mabomba ya data), ubora wa data katika ingizo na matokeo, na kufikia hitimisho kuhusu utoshelevu wao, uadilifu na sifa zingine.

Mwenendo wa wahandisi wa Ubora wa Data ulikuja kwetu kutoka Marekani, ambapo, katikati ya enzi kali ya ubepari, hakuna mtu aliye tayari kupoteza vita vya data. Hapo chini nimetoa picha za skrini kutoka kwa tovuti mbili maarufu za kutafuta kazi nchini Marekani: www.monster.com ΠΈ www.dice.com β€” ambayo inaonyesha data kuanzia Machi 17, 2020 kuhusu idadi ya nafasi za kazi zilizochapishwa zilizopokelewa kwa kutumia maneno muhimu: Ubora wa Data na Mwanasayansi wa Data.

www.monster.com

Wanasayansi wa Takwimu - nafasi za kazi 21416
Ubora wa Data - nafasi za kazi 41104

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu
Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

www.dice.com

Wanasayansi wa Takwimu - nafasi 404
Ubora wa Data - nafasi za kazi za 2020

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu
Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Ni wazi, fani hizi hazishindani kwa njia yoyote. Nikiwa na picha za skrini, nilitaka tu kuonyesha hali ya sasa kwenye soko la ajira kwa suala la maombi ya wahandisi wa Ubora wa Data, ambao mengi zaidi yanahitajika sasa kuliko Wanasayansi wa Data.

Mnamo Juni 2019, EPAM, ikijibu mahitaji ya soko la kisasa la TEHAMA, ilitenga Ubora wa Data katika mazoezi tofauti. Wahandisi wa Ubora wa Data, wakati wa kazi zao za kila siku, husimamia data, kuangalia tabia yake katika hali mpya na mifumo, kufuatilia umuhimu wa data, utoshelevu wake na umuhimu. Pamoja na haya yote, kwa maana ya vitendo, wahandisi wa Ubora wa Data hutumia wakati mdogo kwa majaribio ya kawaida ya kazi, LAKINI hii inategemea sana mradi (nitatoa mfano hapa chini).

Majukumu ya mhandisi wa Ubora wa Data hayaishii tu katika ukaguzi wa kawaida wa mwongozo/otomatiki wa "batili, hesabu na hesabu" katika jedwali la hifadhidata, lakini yanahitaji uelewa wa kina wa mahitaji ya biashara ya mteja na, ipasavyo, uwezo wa kubadilisha data inayopatikana kuwa. habari muhimu ya biashara.

Nadharia ya Ubora wa Data

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Ili kufikiria kikamilifu jukumu la mhandisi kama huyo, hebu tujue ni nini Ubora wa Data katika nadharia.

Ubora wa Data - moja ya hatua za Usimamizi wa Data (ulimwengu mzima ambao tutakuachia usome peke yako) na ina jukumu la kuchanganua data kulingana na vigezo vifuatavyo:

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu
Nadhani hakuna haja ya kufafanua kila moja ya alama (kwa nadharia zinaitwa "vipimo vya data"), zimeelezewa vizuri kwenye picha. Lakini mchakato wa majaribio yenyewe haimaanishi kunakili vipengee hivi katika visa vya majaribio na kuviangalia. Katika Ubora wa Data, kama ilivyo katika aina nyingine yoyote ya majaribio, ni muhimu, kwanza kabisa, kujumuisha mahitaji ya ubora wa data yaliyokubaliwa na washiriki wa mradi wanaofanya maamuzi ya biashara.

Kulingana na mradi wa Ubora wa Data, mhandisi anaweza kufanya kazi tofauti: kutoka kwa kijaribu cha kawaida cha otomatiki na tathmini ya juu juu ya ubora wa data, hadi kwa mtu ambaye anafanya maelezo mafupi ya data kulingana na vigezo vilivyo hapo juu.

Maelezo ya kina sana ya Usimamizi wa Data, Ubora wa Data na michakato inayohusiana imeelezewa vizuri katika kitabu kinachoitwa "DAMA-DMBOK: Kikundi cha Maarifa cha Usimamizi wa Data: Toleo la 2". Ninapendekeza sana kitabu hiki kama utangulizi wa mada hii (utapata kiunga chake mwishoni mwa kifungu).

Historia yangu

Katika tasnia ya TEHAMA, nilifanya kazi kutoka kwa majaribio ya Vijana katika makampuni ya bidhaa hadi Mhandisi Mkuu wa Ubora wa Data katika EPAM. Baada ya takriban miaka miwili ya kufanya kazi kama mjaribu, nilikuwa na imani thabiti kwamba nilikuwa nimefanya majaribio ya aina zote: urekebishaji, utendakazi, mafadhaiko, uthabiti, usalama, UI, n.k. - na kujaribu idadi kubwa ya zana za majaribio, baada ya ilifanya kazi kwa wakati mmoja katika lugha tatu za programu: Java, Scala, Python.

Nikiangalia nyuma, ninaelewa kwa nini ujuzi wangu ulikuwa tofauti-nilihusika katika miradi inayoendeshwa na data, mikubwa na midogo. Hili ndilo lililonileta katika ulimwengu wa zana nyingi na fursa za ukuaji.

Ili kufahamu zana mbalimbali na fursa za kupata ujuzi na ujuzi mpya, angalia tu picha hapa chini, ambayo inaonyesha wale maarufu zaidi katika ulimwengu wa "Data & AI".

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu
Aina hii ya kielelezo hutungwa kila mwaka na mmoja wa mabepari maarufu Matt Turck, ambaye anatoka katika ukuzaji wa programu. Hapa kiungo kwenye blogu yake na kampuni ya mtaji, ambapo anafanya kazi kama mshirika.

Nilikua kitaaluma haswa haraka nilipokuwa mjaribu pekee kwenye mradi, au angalau mwanzoni mwa mradi. Ni katika wakati kama huo ambapo unapaswa kuwajibika kwa mchakato mzima wa majaribio, na huna nafasi ya kurudi nyuma, mbele tu. Mwanzoni ilikuwa ya kutisha, lakini sasa faida zote za mtihani kama huo ni dhahiri kwangu:

  • Unaanza kuwasiliana na timu nzima kama hapo awali, kwa kuwa hakuna proksi ya mawasiliano: sio msimamizi wa jaribio au wajaribu wenzako.
  • Uzamishwaji katika mradi unakuwa wa kina sana, na una habari kuhusu vipengele vyote, kwa ujumla na kwa undani.
  • Wasanidi programu hawakuangalii kama "yule jamaa wa majaribio ambaye hajui anachofanya," bali kama mtu sawa ambaye hutoa manufaa ya ajabu kwa timu kwa majaribio yake ya kiotomatiki na matarajio ya hitilafu kuonekana katika sehemu maalum ya bidhaa.
  • Matokeo yake, wewe ni bora zaidi, umehitimu zaidi, na zaidi katika mahitaji.

Kadiri mradi ulivyokua, katika 100% ya kesi nikawa mshauri wa wapimaji wapya, nikiwafundisha na kupitisha maarifa ambayo nilijifunza mwenyewe. Wakati huo huo, kulingana na mradi huo, sikupata kila wakati kiwango cha juu zaidi cha wataalam wa upimaji wa kiotomatiki kutoka kwa usimamizi na kulikuwa na hitaji la kuwafundisha otomatiki (kwa wale wanaopenda) au kuunda zana za matumizi katika shughuli za kila siku (zana). kwa ajili ya kuzalisha data na kuipakia kwenye mfumo , chombo cha kufanya majaribio ya upakiaji/ujaribio wa uthabiti "haraka", n.k.).

Mfano wa mradi maalum

Kwa bahati mbaya, kwa sababu ya majukumu yasiyo ya kufichua, siwezi kuzungumza kwa undani juu ya miradi ambayo nilifanya kazi, lakini nitatoa mifano ya kazi za kawaida za Mhandisi wa Ubora wa Data kwenye moja ya miradi.

Kiini cha mradi ni kutekeleza jukwaa la kuandaa data kwa mifano ya mafunzo ya mashine kulingana nayo. Mteja alikuwa kampuni kubwa ya dawa kutoka Marekani. Kitaalam ilikuwa nguzo Mabernet, kupanda kwa AWS EC2 matukio, na huduma ndogo ndogo na mradi wa msingi wa Open Source wa EPAM - Jeshi, ilichukuliwa kwa mahitaji ya mteja maalum (sasa mradi umezaliwa upya katika odahu) Michakato ya ETL ilipangwa kwa kutumia mtiririko wa hewa wa apache na kuhamisha data kutoka Uuzaji wa mauzo mifumo ya mteja ndani AWS S3 Ndoo. Kisha, picha ya Doka ya muundo wa kujifunza mashine iliwekwa kwenye jukwaa, ambayo ilifunzwa kuhusu data mpya na, kwa kutumia kiolesura cha REST API, ikatoa ubashiri ambao ulikuwa wa manufaa kwa biashara na kutatua matatizo mahususi.

Kwa kuibua, kila kitu kilionekana kama hii:

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu
Kulikuwa na majaribio mengi ya kiutendaji kwenye mradi huu, na kwa kuzingatia kasi ya ukuzaji wa huduma na hitaji la kudumisha kasi ya mzunguko wa kutolewa (sprints za wiki mbili), ilikuwa ni lazima kufikiria mara moja juu ya upimaji wa kiotomatiki wa vifaa muhimu zaidi. mfumo. Sehemu kubwa ya jukwaa la Kubernetes lenyewe lilifunikwa na majaribio ya kiotomatiki yaliyotekelezwa ndani Mfumo wa Roboti + Python, lakini pia ilihitajika kuziunga mkono na kuzipanua. Kwa kuongeza, kwa urahisi wa mteja, GUI iliundwa ili kusimamia mifano ya kujifunza mashine iliyopelekwa kwenye nguzo, pamoja na uwezo wa kutaja wapi na wapi data inahitaji kuhamishiwa kwa mafunzo ya mifano. Nyongeza hii pana ilijumuisha upanuzi wa majaribio ya kiotomatiki ya utendakazi, ambayo yalifanywa zaidi kupitia simu za REST API na idadi ndogo ya majaribio ya mwisho-2 ya UI. Karibu na ikweta ya harakati hizi zote, tuliunganishwa na mtu anayejaribu mwenyewe ambaye alifanya kazi nzuri sana kwa majaribio ya kukubalika kwa matoleo ya bidhaa na kuwasiliana na mteja kuhusu kukubaliwa kwa toleo linalofuata. Kwa kuongeza, kutokana na kuwasili kwa mtaalamu mpya, tuliweza kuandika kazi yetu na kuongeza hundi kadhaa muhimu sana za mwongozo ambazo zilikuwa vigumu kufanya automatiska mara moja.

Na hatimaye, baada ya kupata uthabiti kutoka kwa jukwaa na programu-jalizi ya GUI juu yake, tulianza kujenga mabomba ya ETL kwa kutumia Apache Airflow DAG. Ukaguzi wa kiotomatiki wa ubora wa data ulifanywa kwa kuandika DAG maalum za Airflow ambazo zilikagua data kulingana na matokeo ya mchakato wa ETL. Kama sehemu ya mradi huu, tulikuwa na bahati na mteja alitupa idhini ya kufikia seti za data ambazo hazikujulikana ambazo tulifanyia majaribio. Tulikagua mstari wa data kwa mstari kwa kufuata aina, uwepo wa data iliyovunjwa, jumla ya idadi ya rekodi kabla na baada, ulinganisho wa mabadiliko yaliyofanywa na mchakato wa ETL kwa ujumlishaji, kubadilisha majina ya safu wima na mambo mengine. Kwa kuongeza, ukaguzi huu ulipunguzwa kwa vyanzo tofauti vya data, kwa mfano, pamoja na SalesForce, pia kwa MySQL.

Ukaguzi wa mwisho wa ubora wa data ulifanywa tayari katika kiwango cha S3, ambapo zilihifadhiwa na zilikuwa tayari kutumika kwa mifano ya mafunzo ya mashine. Ili kupata data kutoka kwa faili ya mwisho ya CSV iliyo kwenye Ndoo ya S3 na kuithibitisha, msimbo uliandikwa kwa kutumia wateja wa boto3.

Pia kulikuwa na sharti kutoka kwa mteja kuhifadhi sehemu ya data kwenye ndoo moja ya S3 na kuigawa katika nyingine. Hii pia ilihitaji kuandika ukaguzi wa ziada ili kuangalia kuegemea kwa upangaji kama huo.

Uzoefu wa jumla kutoka kwa miradi mingine

Mfano wa orodha ya jumla ya shughuli za mhandisi wa Ubora wa Data:

  • Tayarisha data ya jaribio (ndogo batili batili) kupitia zana otomatiki.
  • Pakia data iliyotayarishwa kwenye chanzo asili na uhakikishe kuwa iko tayari kutumika.
  • Zindua michakato ya ETL ya kuchakata seti ya data kutoka kwa hifadhi ya chanzo hadi hifadhi ya mwisho au ya kati kwa kutumia seti fulani ya mipangilio (ikiwezekana, weka vigezo vinavyoweza kusanidiwa kwa kazi ya ETL).
  • Thibitisha data iliyochakatwa na mchakato wa ETL kwa ubora na utiifu wake wa mahitaji ya biashara.

Wakati huo huo, lengo kuu la ukaguzi haipaswi kuwa tu juu ya ukweli kwamba mtiririko wa data katika mfumo umefanya kazi na kufikia kukamilika (ambayo ni sehemu ya majaribio ya kazi), lakini zaidi juu ya kuangalia na kuthibitisha data kwa kufuata mahitaji yanayotarajiwa, kutambua kasoro na mambo mengine.

Vyombo vya

Mbinu moja ya udhibiti wa data kama hiyo inaweza kuwa shirika la ukaguzi wa mnyororo katika kila hatua ya usindikaji wa data, kinachojulikana kama "msururu wa data" katika fasihi - udhibiti wa data kutoka kwa chanzo hadi hatua ya matumizi ya mwisho. Aina hizi za hundi mara nyingi hutekelezwa kwa kuandika kuangalia maswali ya SQL. Ni wazi kwamba maswali kama haya yanapaswa kuwa mepesi iwezekanavyo na kuangalia vipande vya ubora wa data (metadata ya jedwali, mistari tupu, NUKSI, Hitilafu katika sintaksia - sifa zingine zinazohitajika kukaguliwa).

Katika kesi ya majaribio ya urejeshaji, ambayo hutumia seti za data zilizotengenezwa tayari (zisizobadilika, zinazoweza kubadilika kidogo), nambari ya kuthibitisha kiotomatiki inaweza kuhifadhi violezo vilivyotengenezwa tayari kwa kuangalia data ili kuafikiana na ubora (maelezo ya metadata ya jedwali inayotarajiwa; sampuli za vitu vinavyoweza kuwa kuchaguliwa kwa nasibu wakati wa mtihani, nk).

Pia, wakati wa majaribio, lazima uandike michakato ya majaribio ya ETL kwa kutumia mifumo kama vile Apache Airflow, Apache Spark au hata zana ya aina ya kisanduku cheusi Karatasi ya data ya GCP, Mtiririko wa data wa GCP Nakadhalika. Hali hii inamlazimisha mhandisi wa majaribio kujikita katika kanuni za utendakazi wa zana zilizo hapo juu na hata kwa ufanisi zaidi zote mbili kufanya majaribio ya utendaji (kwa mfano, michakato iliyopo ya ETL kwenye mradi) na kuzitumia kuangalia data. Hasa, Apache Airflow ina waendeshaji tayari kwa kufanya kazi na hifadhidata maarufu za uchambuzi, kwa mfano GCP BigQuery. Mfano wa msingi zaidi wa matumizi yake tayari umeainishwa hapa, kwa hivyo sitajirudia.

Mbali na ufumbuzi uliofanywa tayari, hakuna mtu anayekukataza kutekeleza mbinu na zana zako mwenyewe. Hii haitakuwa na manufaa kwa mradi tu, bali pia kwa Mhandisi wa Ubora wa Data mwenyewe, ambaye kwa hivyo ataboresha upeo wake wa kiufundi na ujuzi wa kuandika.

Jinsi inavyofanya kazi kwenye mradi halisi

Mchoro mzuri wa aya za mwisho kuhusu "msururu wa data", ETL na ukaguzi wa kila mahali ni mchakato ufuatao kutoka kwa moja ya miradi halisi:

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Hapa, data mbalimbali (asili, iliyoandaliwa na sisi) ingiza "funnel" ya pembejeo ya mfumo wetu: halali, batili, iliyochanganywa, nk, kisha huchujwa na kuishia kwenye hifadhi ya kati, kisha hupitia tena mfululizo wa mabadiliko. na huwekwa kwenye hifadhi ya mwisho , ambayo, kwa upande wake, uchanganuzi, masoko ya data ya kujenga na kutafuta ufahamu wa biashara utafanyika. Katika mfumo kama huo, bila kuangalia utendakazi wa michakato ya ETL, tunazingatia ubora wa data kabla na baada ya mabadiliko, na vile vile matokeo ya uchanganuzi.

Ili kufupisha yaliyo hapo juu, bila kujali mahali nilipofanya kazi, kila mahali nilihusika katika miradi ya Data iliyoshiriki vipengele vifuatavyo:

  • Ni kupitia otomatiki pekee ndipo unaweza kujaribu visa vingine na kufikia mzunguko wa uchapishaji unaokubalika kwa biashara.
  • Mjaribu kwenye mradi kama huo ni mmoja wa washiriki wanaoheshimiwa zaidi wa timu, kwani huleta faida kubwa kwa kila mmoja wa washiriki (kuongeza kasi ya upimaji, data nzuri kutoka kwa Mwanasayansi wa Takwimu, utambuzi wa kasoro katika hatua za mwanzo).
  • Haijalishi ikiwa unafanya kazi kwenye maunzi yako mwenyewe au kwenye mawingu - nyenzo zote zimetolewa kwenye kundi kama vile Hortonworks, Cloudera, Mesos, Kubernetes, n.k.
  • Miradi imejengwa juu ya mbinu ya huduma ndogo, iliyosambazwa na inayofanana ya kompyuta.

Ningependa kutambua kwamba wakati wa kufanya upimaji katika uwanja wa Ubora wa Data, mtaalamu wa kupima huhamisha mtazamo wake wa kitaaluma kwa kanuni za bidhaa na zana zinazotumiwa.

Vipengele tofauti vya upimaji wa Ubora wa Data

Kwa kuongezea, kwangu mwenyewe, nimegundua yafuatayo (nitafanya uhifadhi mara moja kuwa ni ya jumla SANA na ya kibinafsi) sifa tofauti za upimaji katika miradi ya Data (Data Kubwa) (mifumo) na maeneo mengine:

Kijaribu data kikubwa na kidogo: mitindo, nadharia, hadithi yangu

Viungo muhimu

  1. Nadharia: DAMA-DMBOK: Kikundi cha Maarifa cha Usimamizi wa Data: Toleo la 2.
  2. Kituo cha mafunzo EPAM 
  3. Nyenzo zinazopendekezwa kwa mhandisi anayeanza Ubora wa Data:
    1. Kozi ya bure kwenye Stepik: Utangulizi wa hifadhidata
    2. Kozi ya Kujifunza kwa LinkedIn: Misingi ya Sayansi ya Data: Uhandisi wa Data.
    3. Makala:
    4. Video:

Hitimisho

Ubora wa Data ni mwelekeo mchanga sana wa kuahidi, kuwa sehemu ambayo inamaanisha kuwa sehemu ya kuanza. Ukiwa katika Ubora wa Data, utazama katika idadi kubwa ya teknolojia za kisasa, zinazohitajika, lakini muhimu zaidi, fursa kubwa zitakufungulia wewe kuzalisha na kutekeleza mawazo yako. Utakuwa na uwezo wa kutumia mbinu ya uboreshaji unaoendelea sio tu kwenye mradi, lakini pia kwako mwenyewe, ukiendelea kukuza kama mtaalamu.

Chanzo: mapenzi.com

Kuongeza maoni