Vadnica za testiranje velikih podatkov: kaj je, strategija, kako preizkusiti Hadoop

Preizkušanje velikih podatkov

Preizkušanje velikih podatkov je postopek testiranja aplikacije za velike podatke, da se zagotovi, da vse funkcije aplikacije za velike podatke delujejo po pričakovanjih. Cilj testiranja velikih podatkov je zagotoviti, da sistem za velike podatke deluje nemoteno in brez napak, hkrati pa ohranja zmogljivost in varnost.

Veliki podatki so zbirka velikih naborov podatkov, ki jih ni mogoče obdelati s tradicionalnimi računalniškimi tehnikami. Testiranje teh naborov podatkov vključuje različna orodja, tehnike in okvire za obdelavo. Veliki podatki se nanašajo na ustvarjanje, shranjevanje, pridobivanje in analizo podatkov, ki so izjemni v smislu obsega, raznolikosti in hitrosti. Več o Big Data, Hadoop in MapReduce lahko izveste tukaj

V tej vadnici za testiranje velikih podatkov boste izvedeli-

  • Kaj je strategija testiranja velikih podatkov?
  • Kako preizkusiti Hadoop aplikacije
  • Testiranje arhitekture
  • Testiranje učinkovitosti
  • Pristop testiranja učinkovitosti
  • Parametri za preizkušanje zmogljivosti
  • Potrebe preskusnega okolja
  • Preizkušanje velikih podatkov vs. Tradicionalno testiranje zbirke podatkov
  • Orodja, uporabljena v scenarijih velikih podatkov
  • Izzivi pri testiranju velikih podatkov

Kaj je strategija testiranja velikih podatkov?

Testiranje aplikacije Big Data je bolj preverjanje obdelave podatkov kot pa preizkušanje posameznih lastnosti programskega izdelka. Pri preizkušanju velikih podatkov so ključnega pomena zmogljivost in funkcionalno testiranje .

V strategiji testiranja velikih podatkov inženirji kakovosti preverjajo uspešno obdelavo terabajtov podatkov z uporabo blagovne skupine in drugih podpornih komponent. Zahteva visoko raven preizkusnih veščin, saj je obdelava zelo hitra. Obdelava je lahko treh vrst

Skupaj s tem je kakovost podatkov pomemben dejavnik pri testiranju Hadoop. Pred preskušanjem aplikacije je treba preveriti kakovost podatkov in jih je treba obravnavati kot del testiranja baze podatkov. Vključuje preverjanje različnih značilnosti, kot so skladnost, natančnost, podvajanje, skladnost, veljavnost, popolnost podatkov itd. V nadaljevanju te vaje za preizkušanje Hadoop se bomo naučili, kako preizkusiti programe Hadoop.

Kako preizkusiti Hadoop aplikacije

Naslednja slika daje pregled faz na visoki ravni pri preizkušanju aplikacij za velike podatke

Preizkušanje velikih podatkov ali preizkušanje Hadoop lahko na splošno razdelimo v tri korake

1. korak: preverjanje stopnje podatkov

Prvi korak v tej vadnici za preizkušanje velikih podatkov se imenuje stopnja pred Hadoop, ki vključuje preverjanje veljavnosti procesa.

  • Podatke iz različnih virov, kot so RDBMS, spletni dnevniki, družabni mediji itd., Je treba potrditi, da se v sistem vnesejo pravilni podatki
  • Primerjava izvornih podatkov s podatki, potisnjenimi v sistem Hadoop, da zagotovimo, da se ujemajo
  • Preverite, ali so pravi podatki izvlečeni in naloženi na pravilno lokacijo HDFS

Orodja, kot sta Talend , Datameer, se lahko uporabljajo za preverjanje stopnjevanja podatkov

2. korak: Preverjanje "MapReduce"

Drugi korak je potrditev "MapReduce". Na tej stopnji preizkuševalnik velikih podatkov preveri potrditev poslovne logike na vsakem vozlišču in jih nato potrdi po zagonu z več vozlišči ter zagotovi, da

  • Proces Map Reduce deluje pravilno
  • Na podatkih se izvajajo pravila za združevanje ali ločevanje podatkov
  • Ustvarijo se pari vrednosti ključev
  • Preverjanje veljavnosti podatkov po postopku Map-Reduce

3. korak: Faza preverjanja izhodne vrednosti

Zadnja ali tretja stopnja preizkusa Hadoop je postopek potrditve izhodne vrednosti. Izhodne podatkovne datoteke so ustvarjene in pripravljene za premik v EDW (Enterprise Data Warehouse) ali kateri koli drug sistem, ki temelji na zahtevi.

Dejavnosti v tretji fazi vključujejo

  • Če želite preveriti, ali so pravila preoblikovanja pravilno uporabljena
  • Za preverjanje celovitosti podatkov in uspešnega nalaganja podatkov v ciljni sistem
  • Če želite s primerjavo ciljnih podatkov s podatki datotečnega sistema HDFS preveriti, ali ni poškodovanih podatkov

Testiranje arhitekture

Hadoop obdeluje zelo velike količine podatkov in je zelo zahteven. Arhitekturno preizkušanje je zato ključnega pomena za zagotovitev uspeha vašega projekta Big Data. Slabo ali nepravilno zasnovan sistem lahko povzroči poslabšanje zmogljivosti in sistem morda ne bo izpolnjeval zahtev. Vsaj za delovanje in preskusne Failover mora storitve opraviti v okolju Hadoop.

Testiranje učinkovitosti vključuje preizkušanje časa dokončanja opravila, izkoriščenosti pomnilnika, prenosa podatkov in podobnih sistemskih meritev. Medtem ko je motiv preskusne storitve Failover preverjanje, da obdelava podatkov poteka nemoteno v primeru okvare podatkovnih vozlišč

Testiranje učinkovitosti

Testiranje učinkovitosti za velike podatke vključuje dva glavna dejanja

  • Vnos podatkov in vseskozi : Na tej stopnji preizkuševalnik velikih podatkov preveri, kako lahko hitri sistem porabi podatke iz različnih virov podatkov. Testiranje vključuje prepoznavanje drugačnega sporočila, ki ga vrsta lahko obdela v določenem časovnem okviru. Vključuje tudi, kako hitro je mogoče podatke vstaviti v osnovno shrambo podatkov, na primer stopnjo vstavljanja v zbirko podatkov Mongo in Cassandra.
  • Obdelava podatkov : Vključuje preverjanje hitrosti izvajanja poizvedb ali zemljevidov za zmanjšanje opravil. Vključuje tudi preskušanje obdelave podatkov ločeno, kadar je osnovna shramba podatkov napolnjena znotraj naborov podatkov. Na primer, zaženite Map Reduce Jobs v osnovnem HDFS
  • Učinkovitost podkomponent: Ti sistemi so sestavljeni iz več komponent in nujno je, da vsako od teh komponent preizkusite ločeno. Na primer, kako hitro se sporočilo indeksira in porabi, opravila MapReduce, uspešnost poizvedbe, iskanje itd.

Pristop testiranja učinkovitosti

Testiranje učinkovitosti za uporabo velikih podatkov vključuje preizkušanje ogromnih količin strukturiranih in nestrukturiranih podatkov in za preizkušanje tako velikih podatkov zahteva poseben pristop testiranja.

Testiranje učinkovitosti se izvede v tem vrstnem redu

  1. Postopek se začne z nastavitvijo skupine velikih podatkov, ki jo je treba preizkusiti
  2. Ugotovite in oblikujte ustrezne delovne obremenitve
  3. Priprava posameznih strank (izdelani so skripti po meri)
  4. Izvedite test in analizirajte rezultat (če cilji niso izpolnjeni, nastavite komponento in znova izvedite)
  5. Optimalna konfiguracija

Parametri za preizkušanje zmogljivosti

Različni parametri, ki jih je treba preveriti za preskušanje zmogljivosti, so

  • Shranjevanje podatkov: kako se podatki shranjujejo v različnih vozliščih
  • Dnevniki odobritev: kako velik dnevnik zapisov lahko raste
  • Sočasnost: Koliko niti lahko izvede pisanje in branje
  • Predpomnjenje: prilagodite nastavitev predpomnilnika "predpomnilnik vrstic" in "predpomnilnik ključev".
  • Časovne omejitve: vrednosti za časovno omejitev povezave, časovno omejitev poizvedbe itd.
  • Parametri JVM: velikost kopice, algoritmi zbiranja GC itd.
  • Zemljevid zmanjša zmogljivost: razvrsti, združi itd.
  • Čakalna vrsta sporočil: hitrost sporočila, velikost itd.

Potrebe preskusnega okolja

Testno okolje mora biti odvisno od vrste aplikacije, ki jo preizkušate. Za preskušanje programske opreme za velike podatke mora zajemati testno okolje

  • Imeti mora dovolj prostora za shranjevanje in obdelavo velike količine podatkov
  • Imeti mora gručo z razdeljenimi vozlišči in podatki
  • Imeti mora najmanj CPU in pomnilnika, da ohrani visoko zmogljivost za preizkušanje zmogljivosti velikih podatkov

Preizkušanje velikih podatkov vs. Tradicionalno testiranje zbirke podatkov

Lastnosti

Tradicionalno testiranje baze podatkov

Testiranje velikih podatkov

Podatki

  • Tester dela s strukturiranimi podatki
  • Tester deluje tako s strukturiranimi kot tudi z nestrukturiranimi podatki

Pristop testiranja

  • Pristop testiranja je dobro opredeljen in časovno preizkušen
  • Pristop testiranja zahteva usmerjena prizadevanja na področju raziskav in razvoja

Strategija testiranja

  • Tester ima možnost strategije vzorčenja, ki jo izvaja ročno, ali strategije "Izčrpno preverjanje" z orodjem za avtomatizacijo
  • Strategija "vzorčenja" v velikih podatkih je izziv

Infrastruktura

  • Ne zahteva posebnega testnega okolja, saj je velikost datoteke omejena
  • Zahteva posebno testno okolje zaradi velike velikosti podatkov in datotek (HDFS)

Orodja za preverjanje

Tester uporablja bodisi makre, ki temeljijo na Excelu, bodisi orodja za avtomatizacijo na osnovi uporabniškega vmesnika

Brez opredeljenih orodij, obseg je velik, od programskih orodij, kot je MapReduce do HIVEQL

Orodja za testiranje

Orodja za testiranje lahko uporabljate z osnovnim operativnim znanjem in manj treninga.

Za upravljanje preizkusnega orodja je potreben poseben nabor spretnosti in usposabljanja. Orodja so tudi v začetni fazi in sčasoma lahko prikažejo nove funkcije.

Orodja, uporabljena v scenarijih velikih podatkov

Grozd velikih podatkov

Orodja za velike podatke

NoSQL:

  • CouchDB, zbirke podatkov MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, panj, prašič, kaskadno, Oozie, Kafka, S4, MapR, Flume

Skladiščenje:

  • S3, HDFS (Hadoop porazdeljeni datotečni sistem)

Strežniki:

  • Elastic, Heroku, Elastic, Google App Engine, EC2

Obravnavati

  • R, Yahoo! Cevi, mehanski Turk, BigSheets, Datameer

Izzivi pri testiranju velikih podatkov

  • Avtomatizacija

    Avtomatizirano preskušanje velikih podatkov zahteva nekoga s tehničnim znanjem. Prav tako avtomatizirana orodja niso opremljena za reševanje nepričakovanih težav, ki se pojavijo med testiranjem

  • Virtualizacija

    Je ena od integralnih faz testiranja. Zakasnitev navideznega stroja sproti povzroča težave s časovnim preskušanjem zmogljivosti velikih podatkov. Tudi upravljanje slik v velikih podatkih je težava.

  • Velik nabor podatkov
    • Treba je preveriti več podatkov in to storiti hitreje
    • Potreba po avtomatizaciji testiranja
    • Treba je biti sposoben testirati na različnih platformah

Izzivi preizkušanja učinkovitosti

  • Raznolik nabor tehnologij : Vsaka podkomponenta pripada različni tehnologiji in zahteva ločeno preskušanje
  • Nerazpoložljivost določenih orodij : nobeno orodje ne more izvesti celovitega preskušanja. Na primer, NoSQL morda ni primeren za čakalne vrste sporočil
  • Testno skriptiranje: Za oblikovanje testnih scenarijev in testnih primerov je potrebna visoka stopnja skriptiranja
  • Testno okolje : Zaradi velike velikosti podatkov potrebuje posebno testno okolje
  • Rešitev za spremljanje : Obstajajo omejene rešitve, ki lahko spremljajo celotno okolje
  • Diagnostična rešitev : za razčlenitev ozkih grl v učinkovitosti je potrebna rešitev po meri

Povzetek

  • Ko podatkovni inženiring in podatkovna analitika napredujeta na višjo raven, je testiranje velikih podatkov neizogibno.
  • Obdelava velikih podatkov je lahko paketna, sprotna ali interaktivna
  • Tri faze preizkušanja aplikacij za velike podatke so
    • Preverjanje stopnjevanja podatkov
    • Potrditev "MapReduce"
    • Izhodna faza validacije
  • Arhitekturno testiranje je pomembna faza testiranja velikih podatkov, saj lahko slabo zasnovan sistem povzroči napake brez primere in poslabšanje zmogljivosti
  • Preskušanje učinkovitosti za velike podatke vključuje preverjanje
    • Pretok podatkov
    • Obdelava podatkov
    • Uspešnost podkomponent
  • Preizkušanje velikih podatkov se v primerjavi s tradicionalnim preskušanjem podatkov zelo razlikuje glede podatkov, infrastrukture in orodij za preverjanje veljavnosti
  • Izzivi preizkušanja velikih podatkov vključujejo virtualizacijo, avtomatizacijo preskusov in obravnavo velikih naborov podatkov. Vprašanje je tudi preizkušanje zmogljivosti aplikacij za velike podatke.

Zanimive Članki...