Vodič za testiranje velikih podataka: Što je, strategija, kako testirati Hadoop

Testiranje velikih podataka

Testiranje velikih podataka je proces testiranja velike podatkovne aplikacije kako bi se osiguralo da sve funkcionalnosti velike podatkovne aplikacije rade prema očekivanjima. Cilj testiranja velikih podataka je osigurati da sustav velikih podataka radi glatko i bez grešaka uz održavanje performansi i sigurnosti.

Veliki podaci skup su velikih skupova podataka koji se ne mogu obraditi tradicionalnim računalnim tehnikama. Ispitivanje ovih skupova podataka uključuje različite alate, tehnike i okvire za obradu. Veliki podaci odnose se na stvaranje, pohranjivanje, dohvaćanje i analizu podataka koji su izvanredni u smislu obujma, raznolikosti i brzine. Možete saznati više o Big Data, Hadoop i MapReduce ovdje

Što je strategija testiranja velikih podataka?

Testiranje Big Data aplikacije više je provjera njezine obrade podataka nego testiranje pojedinačnih značajki softverskog proizvoda. Kada je u pitanju testiranje velikih podataka, ispitivanje performansi i funkcionalnosti su ključevi.

U strategiji testiranja velikih podataka, inženjeri za osiguranje kvalitete provjeravaju uspješnu obradu terabajta podataka koristeći robni klaster i druge komponente podrške. Zahtijeva visoku razinu vještina testiranja jer je obrada vrlo brza. Obrada može biti tri vrste

Strategija testiranja velikih podataka

Uz to, kvaliteta podataka također je važan faktor u Hadoop testiranju. Prije testiranja aplikacije potrebno je provjeriti kvalitetu podataka i to treba smatrati dijelom testiranja baze podataka. Uključuje provjeru različitih karakteristika kao što su sukladnost, točnost, umnožavanje, dosljednost, valjanost, potpunost podataka, itd. Sljedeće u ovom vodiču za testiranje Hadoop-a naučit ćemo kako testirati Hadoop aplikacije.

Kako testirati Hadoop aplikacije

Sljedeća slika daje pregled na visokoj razini faza u testiranju Big Data aplikacija

Testirajte Hadoop aplikacije

Testiranje velikih podataka ili Hadoop testiranje može se općenito podijeliti u tri koraka

Korak 1: Validacija inscenacije podataka

Prvi korak u ovom vodiču za testiranje velikih podataka naziva se faza prije Hadoopa i uključuje provjeru valjanosti procesa.

  • Podaci iz raznih izvora kao što su RDBMS, blogove, društvene mreže itd. treba provjeriti kako bi se osiguralo da su točni podaci uvučeni u sustav
  • Uspoređivanje izvornih podataka s podacima unesenim u Hadoop sustav kako bi se osiguralo podudaranje
  • Provjerite jesu li ispravni podaci izdvojeni i učitani na ispravno HDFS mjesto

Alati poput Talend, Datameer, može se koristiti za provjeru valjanosti stupnja podataka

Korak 2: Provjera valjanosti "MapReduce".

Drugi korak je provjera valjanosti "MapReduce". U ovoj fazi, Big Data tester provjerava validaciju poslovne logike na svakom čvoru, a zatim ih provjerava nakon izvođenja na više čvorova, osiguravajući da

  • Proces Map Reduce radi ispravno
  • Na podatke se implementiraju pravila agregacije ili odvajanja podataka
  • Generiraju se parovi ključ-vrijednost
  • Provjera valjanosti podataka nakon procesa Map-Reduce

Korak 3: Faza provjere valjanosti izlaza

Konačna ili treća faza Hadoop testiranja je proces validacije izlaza. Izlazne podatkovne datoteke generiraju se i spremne su za premještanje u EDW (Enterprise Data Warehouse) ili bilo koji drugi sustav na temelju zahtjeva.

Aktivnosti u trećoj fazi uključuju

  • Za provjeru jesu li pravila transformacije pravilno primijenjena
  • Za provjeru integriteta podataka i uspješnog učitavanja podataka u ciljni sustav
  • Kako biste provjerili da nema oštećenja podataka usporedbom ciljnih podataka s podacima HDFS datotečnog sustava

ArchiIspitivanje teksture

Hadoop obrađuje vrlo velike količine podataka i zahtijeva velike resurse. Stoga je arhitektonsko testiranje ključno za osiguranje uspjeha vašeg Big Data projekta. Loše ili neprikladno dizajniran sustav može dovesti do degradacije performansi, a sustav možda neće ispuniti zahtjev. Najmanje, Performanse i Failover test usluge treba raditi u Hadoop okruženju.

Ispitivanje performansi uključuje testiranje vremena dovršetka posla, iskorištenosti memorije, protoka podataka i sličnih metrika sustava. Dok je motiv Failover test usluge provjera odvija li se obrada podataka besprijekorno u slučaju kvara podatkovnih čvorova

Ispitivanje performansi

Testiranje izvedbe za Big Data uključuje dvije glavne radnje

  • Unos podataka i Throughout: U ovoj fazi, Big Data tester provjerava kako brzi sustav može konzumirati podatke iz različitih izvora podataka. Testiranje uključuje identificiranje različite poruke koju red čekanja može obraditi u zadanom vremenskom okviru. Također uključuje koliko brzo se podaci mogu umetnuti u temeljnu pohranu podataka, na primjer, stopa umetanja u Mongo i Cassandra baza podataka.
  • Obrada podataka: Uključuje provjeru brzine kojom se izvršavaju upiti ili poslovi smanjenja karte. Također uključuje testiranje obrade podataka u izolaciji kada je temeljna pohrana podataka popunjena unutar skupova podataka. Na primjer, izvođenje zadataka Map Reduce na podlozi HDFS
  • Izvedba podkomponente: Ovi sustavi sastoje se od više komponenti i bitno je testirati svaku od tih komponenti zasebno. Na primjer, koliko brzo se poruka indeksira i troši, MapReduce poslovi, izvedba upita, pretraživanje itd.
  • Pristup testiranju performansi

    Testiranje izvedbe za velike podatkovne aplikacije uključuje testiranje ogromnih količina strukturiranih i nestrukturiranih podataka i zahtijeva poseban pristup testiranju za testiranje tako masivnih podataka.

    Pristup testiranju performansi

    Testiranje izvedbe izvodi se ovim redoslijedom

    1. Proces počinje postavljanjem Big data klastera čiji se učinak treba testirati
    2. Identificirajte i dizajnirajte odgovarajuća radna opterećenja
    3. Pripremite pojedinačne klijente (stvaraju se prilagođene skripte)
    4. Izvršite test i analizirajte rezultat (ako ciljevi nisu ispunjeni, podesite komponentu i ponovno je izvršite)
    5. Optimalna konfiguracija

    Parametri za testiranje performansi

    Različiti parametri koje treba provjeriti za testiranje performansi su

    • Pohrana podataka: Kako se podaci pohranjuju u različitim čvorovima
    • Dnevnici uvrštavanja: koliko velik je dopušten rast dnevnika uvrštavanja
    • Konkurentnost: Koliko niti može izvesti operacije pisanja i čitanja
    • Predmemorija: podesite postavku predmemorije "predmemorija redaka" i "predmemorija ključeva".
    • Isteci vremena: Vrijednosti za istek vremena veze, istek upita itd.
    • JVM parametri: veličina hrpe, algoritmi prikupljanja GC-a itd.
    • Karta smanjuje performanse: Sortiranje, spajanje itd.
    • Red poruka: brzina poruka, veličina itd.

    Potrebe testnog okruženja

    Testno okruženje mora ovisiti o vrsti aplikacije koju testirate. Za testiranje softvera za velike podatke, testno okruženje trebalo bi uključivati

    • Trebao bi imati dovoljno prostora za pohranu i obradu velike količine podataka
    • Trebao bi imati klaster s distribuiranim čvorovima i podacima
    • Trebao bi imati minimalno korištenje CPU-a i memorije kako bi zadržao visoku izvedbu za testiranje izvedbe Big Data

    Testiranje velikih podataka vs. Tradicionalno testiranje baze podataka

    Nekretnine Tradicionalno testiranje baze podataka Testiranje velikih podataka
    Datum Tester radi sa strukturiranim podacima Tester radi i sa strukturiranim i s nestrukturiranim podacima
    Pristup testiranju Pristup testiranju je dobro definiran i vremenski testiran Pristup testiranju zahtijeva usredotočene napore u istraživanju i razvoju
    Strategija testiranja Tester ima opciju strategije "uzorkovanja" koja se izvodi ručno ili strategije "iscrpne provjere" pomoću alata za automatizaciju Strategija "uzorkovanja" u Big data je izazov
    Infrastruktura Ne zahtijeva posebno testno okruženje jer je veličina datoteke ograničena Zahtijeva posebno testno okruženje zbog velike veličine podataka i datoteka (HDFS)
    Alati za provjeru valjanosti Tester koristi bilo Excel-based makroi ili alate za automatizaciju temeljene na korisničkom sučelju Nema definiranih alata, raspon je širok, od alata za programiranje poput MapReduce do HIVEQL-a
    Alati za testiranje Alati za testiranje mogu se koristiti uz osnovno operativno znanje i manje obuke. Za rad s alatom za testiranje potreban je određeni skup vještina i obuka. Također, alati su u početnoj fazi i s vremenom se mogu pojaviti nove značajke.

    Alati koji se koriste u scenarijima velikih podataka

    Big Podaci Cluster Alati za velike podatke
    NoSQL: CouchDB, Baze podataka MongoDB, Cassandra, Redis, ZooKeeper, HBase
    MapReduce: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Skladištenje: S3, HDFS (Hadoop distribuirani datotečni sustav)
    Poslužitelji: Elastičan, Heroku, Elastic, Google App Engine, EC2
    Obrada R, Yahoo! Cijevi, Mechanical Turk, BigSheets, Datameer

    Izazovi u testiranju velikih podataka

    • Automatizacija

      Ispitivanje automatizacije za velike podatke potreban je netko s tehničkim znanjem. Također, automatizirani alati nisu opremljeni za rješavanje neočekivanih problema koji se pojave tijekom testiranja

    • Virtualizacija

      To je jedna od sastavnih faza testiranja. Latencija virtualnog stroja stvara probleme s vremenom u testiranju performansi velikih podataka u stvarnom vremenu. Također je gnjavaža upravljanje slikama u Big data.

    • Veliki skup podataka
      • Potrebno je provjeriti više podataka i treba to učiniti brže
      • Potreba za automatizacijom testiranja
      • Morate moći testirati na različitim platformama

    Izazovi testiranja performansi

    • Raznovrsni skup tehnologija: Svaka podkomponenta pripada različitoj tehnologiji i zahtijeva ispitivanje u izolaciji
    • Nedostupnost određenih alata: Nijedan pojedinačni alat ne može izvršiti testiranje od kraja do kraja. Na primjer, NoSQL možda neće odgovarati redovima poruka
    • Testiranje skripti: Visok stupanj skriptiranja potreban je za dizajniranje testnih scenarija i testnih slučajeva
    • Testno okruženje: Potrebno mu je posebno testno okruženje zbog velike veličine podataka
    • Nadzorno rješenje: Postoje ograničena rješenja koja mogu nadzirati cijelo okruženje
    • Dijagnostičko rješenje: potrebno je razviti prilagođeno rješenje za proučavanje područja uskih grla u izvedbi

    Rezime

    • Kako podatkovni inženjering i analitika podataka napreduju na višu razinu, testiranje velikih podataka je neizbježno.
    • Obrada velikih podataka može biti skupna, u stvarnom vremenu ili interaktivna
    • 3 faze testiranja Big Data aplikacija su provjera valjanosti inscenacije podataka, provjera valjanosti "MapReduce" i faza provjere valjanosti izlaza
    • ArchiTecture Testiranje je važna faza testiranja velikih podataka, jer loše dizajniran sustav može dovesti do neviđenih pogrešaka i degradacije performansi
    • Testiranje izvedbe za Big data uključuje provjeru propusnosti podataka, obrade podataka i izvedbe podkomponenti
    • Testiranje velikih podataka uvelike se razlikuje od tradicionalnog testiranja podataka u smislu podataka, infrastrukture i alata za provjeru valjanosti
    • Izazovi testiranja velikih podataka uključuju virtualizaciju, automatizaciju testiranja i rad s velikim skupom podataka. Testiranje performansi Big Data aplikacija također predstavlja problem.

    Sažmite ovu objavu uz: