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

Sadržaj:

Anonim

Ispitivanje velikih podataka

Testiranje velikih podataka postupak je testiranja aplikacije za velike podatke kako bi se osiguralo da sve funkcionalnosti aplikacije za velike podatke rade kako se očekuje. Cilj testiranja velikih podataka je osigurati da sustav velikih podataka radi glatko i bez pogrešaka, a da istovremeno održava performanse i sigurnost.

Veliki podaci zbirka su velikih skupova podataka koji se ne mogu obraditi tradicionalnim računalnim tehnikama. Testiranje ovih skupova podataka uključuje razne alate, tehnike i okvire za obradu. Veliki podaci odnose se na stvaranje, pohranu, pronalaženje i analizu podataka koji su izvanredni u smislu obujma, raznolikosti i brzine. Ovdje možete saznati više o Big Datau, Hadoopu i MapReduceu

U ovom vodiču za ispitivanje velikih podataka naučit ćete-

  • Što je strategija testiranja velikih podataka?
  • Kako testirati Hadoop aplikacije
  • Ispitivanje arhitekture
  • Ispitivanje performansi
  • Pristup ispitivanju izvedbe
  • Parametri za ispitivanje performansi
  • Potrebne testne okoline
  • Ispitivanje velikih podataka vs. Tradicionalno testiranje baze podataka
  • Alati korišteni u scenarijima velikih podataka
  • Izazovi u ispitivanju velikih podataka

Što je strategija testiranja velikih podataka?

Testiranje aplikacije Big Data više je provjera obrade podataka, a ne testiranje pojedinačnih značajki softverskog proizvoda. Kada je riječ o testiranju velikih podataka, ključ su izvedbe i funkcionalno testiranje .

U strategiji testiranja velikih podataka, QA inženjeri provjeravaju uspješnu obradu terabajta podataka pomoću robne skupine i drugih pratećih komponenti. Zahtijeva visoku razinu vještina testiranja jer je obrada vrlo brza. Obrada može biti tri vrste

Uz to, kvaliteta podataka također je važan čimbenik u Hadoop testiranju. Prije testiranja aplikacije potrebno je provjeriti kvalitetu podataka i treba ih smatrati dijelom testiranja baze podataka. Uključuje provjeru različitih karakteristika poput sukladnosti, točnosti, umnožavanja, dosljednosti, valjanosti, cjelovitosti podataka itd. Sljedeće u ovom vodiču za testiranje Hadoop-a naučit ćemo kako testirati programe Hadoop-a.

Kako testirati Hadoop aplikacije

Sljedeća slika daje pregled faza na visokoj razini u testiranju aplikacija za velike podatke

Testiranje velikih podataka ili Hadoop testiranje mogu se široko podijeliti u tri koraka

Korak 1: Provjera stupnjevanja podataka

Prvi korak u ovom vodiču za testiranje velikih podataka naziva se faza prije Hadoop-a koja uključuje provjeru valjanosti procesa.

  • Podaci iz različitih izvora poput RDBMS-a, web dnevnika, društvenih medija itd. Trebali bi biti provjereni kako bi se osiguralo unošenje točnih podataka u sustav
  • Usporedba izvornih podataka s podacima uguranim u sustav Hadoop kako bi se osiguralo da se podudaraju
  • Provjerite jesu li ispravni podaci izvučeni i učitani na ispravno HDFS mjesto

Alati poput Talend , Datameer mogu se koristiti za provjeru stupnjevanja podataka

Korak 2: Provjera valjanosti "MapReduce"

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

  • Proces Map Reduce ispravno radi
  • Na podacima se primjenjuju pravila za agregiranje ili razdvajanje podataka
  • Generiraju se parovi ključnih vrijednosti
  • Provjera valjanosti podataka nakon postupka Map-Reduce

Korak 3: Faza provjere rezultata

Posljednja ili treća faza Hadoop testiranja je postupak validacije rezultata. Datoteke izlaznih podataka generiraju se i spremne su za premještanje u EDW (Enterprise Data Warehouse) ili bilo koji drugi sustav temeljen na zahtjevu.

Aktivnosti u trećoj fazi uključuju

  • Da biste provjerili jesu li pravilno primijenjena pravila transformacije
  • Da biste provjerili integritet podataka i uspješno učitavanje podataka u ciljni sustav
  • Da biste provjerili da nema oštećenja podataka usporedbom ciljnih podataka s podacima HDFS datotečnog sustava

Ispitivanje arhitekture

Hadoop obrađuje vrlo velike količine podataka i vrlo je intenzivan u resursima. Stoga su arhitektonska ispitivanja presudna kako bi se osigurao uspjeh vašeg projekta velikih podataka. Loše ili nepropisno dizajniran sustav može dovesti do pogoršanja performansi, a sustav ne može ispuniti zahtjev. Barem performansama i failover ispitne usluge treba biti učinjeno u Hadoop okruženju.

Testiranje izvedbe uključuje ispitivanje vremena završetka posla, upotrebe memorije, propusnosti podataka i sličnih mjernih podataka sustava. Iako je motiv usluge otkazivanja otkazivanja provjera da se obrada podataka odvija bez problema u slučaju kvara čvorova podataka

Ispitivanje performansi

Testiranje izvedbe za velike podatke uključuje dvije glavne radnje

  • Unos podataka i tijekom toga : U ovoj fazi, ispitivač velikih podataka provjerava kako brzi sustav može trošiti podatke iz različitih izvora podataka. Testiranje uključuje prepoznavanje drugačije poruke koju red može obraditi u određenom vremenskom okviru. Također uključuje koliko brzo se podaci mogu umetnuti u temeljnu pohranu podataka, na primjer brzina umetanja u bazu podataka Mongo i Cassandra.
  • Obrada podataka : Uključuje provjeru brzine izvršavanja upita ili mape za smanjenje poslova. To također uključuje testiranje obrade podataka izolirano kada je temeljna pohrana podataka popunjena unutar skupova podataka. Na primjer, izvođenje Map Reduce poslova na temeljnom HDFS-u
  • Izvedba potkomponenata: Ovi se sustavi sastoje od više komponenata i bitno je svaku od tih komponenata testirati u izolaciji. Na primjer, koliko brzo se poruka indeksira i troši, poslovi MapReduce, izvedba upita, pretraživanje itd.

Pristup ispitivanju izvedbe

Testiranje izvedbe za primjenu velikih podataka uključuje ispitivanje ogromnih količina strukturiranih i nestrukturiranih podataka, a za testiranje takvih masivnih podataka potreban je poseban pristup testiranju.

Testiranje izvedbe izvršava se ovim redoslijedom

  1. Proces započinje postavljanjem klastera velikih podataka koji će se testirati na performanse
  2. Utvrditi i dizajnirati odgovarajuća radna opterećenja
  3. Priprema pojedinačnih klijenata (kreiraju se prilagođene skripte)
  4. Izvršiti test i analizirati rezultat (ako ciljevi nisu ispunjeni, podesite komponentu i ponovno izvršite)
  5. Optimalna konfiguracija

Parametri za ispitivanje performansi

Različiti su parametri koji se trebaju provjeriti za ispitivanje performansi

  • Pohrana podataka: Kako se podaci pohranjuju u različitim čvorovima
  • Dnevnici urezivanja: Kolika je dozvola rasta dnevnika urezivanja
  • Istodobnost: Koliko niti može izvesti operaciju pisanja i čitanja
  • Predmemoriranje: podesite postavku predmemorije "predmemorija redaka" i "predmemorija ključeva".
  • Vremenska ograničenja: Vrijednosti za vremensko ograničenje veze, vremensko ograničenje upita itd.
  • JVM parametri: veličina hrpe, algoritmi za prikupljanje GC, itd.
  • Karta smanjuje izvedbu: sortiranje, spajanje itd.
  • Red poruka: Stopa poruke, veličina itd.

Potrebne testne okoline

Test okruženje mora ovisiti o vrsti aplikacije koju testirate. Za testiranje softvera za velike podatke, testno okruženje treba obuhvaćati

  • 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 minimalnu upotrebu CPU-a i memorije kako bi održao visoke performanse kako bi se testirale performanse velikih podataka

Ispitivanje velikih podataka vs. Tradicionalno testiranje baze podataka

Svojstva

Tradicionalno testiranje baze podataka

Ispitivanje velikih podataka

Podaci

  • Tester rad sa strukturiranim podacima
  • Tester radi kako s strukturiranim, tako i s nestrukturiranim podacima

Pristup testiranju

  • Pristup testiranju je dobro definiran i vremenski testiran
  • Pristup testiranju zahtijeva usmjerene napore u istraživanju i razvoju

Strategija ispitivanja

  • Tester ima mogućnost strategije "Uzorkovanje" ručno ili strategiju "Iscrpne provjere" pomoću alata za automatizaciju
  • Strategija "uzorkovanja" u velikim podacima izazov je

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 makronaredbe temeljene na Excelu ili alate za automatizaciju na temelju korisničkog sučelja

Nema definiranih alata, raspon je širok, od programskih alata poput MapReducea do HIVEQL-a

Alati za ispitivanje

Alati za testiranje mogu se koristiti s osnovnim operativnim znanjem i manje treninga.

Za rad s alatom za testiranje potreban je određeni skup vještina i obuke. Također, alati su u početnoj fazi i s vremenom će možda doći do novih značajki.

Alati korišteni u scenarijima velikih podataka

Klaster velikih podataka

Alati za velike podatke

NoSQL:

  • CouchDB, baze podataka MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, košnica, svinja, kaskadno, Oozie, Kafka, S4, MapR, Flume

Pohrana:

  • S3, HDFS (Hadoop distribuirani datotečni sustav)

Poslužitelji:

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

Obrada

  • R, Yahoo! Cijevi, Mechanical Turk, BigSheets, Datameer

Izazovi u ispitivanju velikih podataka

  • Automatizacija

    Automatsko testiranje velikih podataka zahtijeva nekoga tko ima tehničku stručnost. Također, automatizirani alati nisu opremljeni za rješavanje neočekivanih problema koji se pojave tijekom testiranja

  • Virtualizacija

    To je jedna od integralnih faza ispitivanja. Latencija virtualnog stroja stvara probleme s vremenom u stvarnom vremenu, testiranje performansi velikih podataka. Gnjavaža je i upravljanje slikama u velikim podacima.

  • Veliki skup podataka
    • Trebate provjeriti više podataka i to brže
    • Treba automatizirati napor testiranja
    • Treba biti u mogućnosti testirati na različitim platformama

Izazovi ispitivanja performansi

  • Različiti skup tehnologija : Svaka potkomponenta pripada različitoj tehnologiji i zahtijeva izolirano testiranje
  • Nedostupnost specifičnih alata : Nijedan alat ne može provesti testiranje od kraja do kraja. Na primjer, NoSQL možda neće odgovarati redovima poruka
  • Test Scripting : Visok stupanj skriptiranja potreban je za dizajniranje test scenarija i test slučajeva
  • Test okruženje : Potrebno je posebno testno okruženje zbog velike veličine podataka
  • Rješenje za nadzor : Postoje ograničena rješenja koja mogu nadzirati cjelokupno okruženje
  • Dijagnostičko rješenje : potrebno je razviti prilagođeno rješenje za razrađivanje uskih grla u izvedbi

Sažetak

  • Kako podatkovni inženjering i analitika podataka napreduju na sljedeću razinu, testiranje velikih podataka neizbježno je.
  • Obrada velikih podataka može biti skupna, u stvarnom vremenu ili interaktivna
  • 3 su faze testiranja aplikacija za velike podatke
    • Provjera stupnjevanja podataka
    • Provjera valjanosti "MapReduce"
    • Izlazna faza provjere valjanosti
  • Arhitektonsko testiranje važna je faza ispitivanja velikih podataka, jer loše dizajniran sustav može dovesti do neviđenih pogrešaka i pogoršanja performansi
  • Testiranje izvedbe za velike podatke uključuje provjeru
    • Propusnost podataka
    • Obrada podataka
    • Izvedba podkomponente
  • Testiranje velikih podataka uvelike se razlikuje od tradicionalnog testiranja podataka u smislu podataka, infrastrukture i alata za provjeru
  • Izazovi testiranja velikih podataka uključuju virtualizaciju, automatizaciju testiranja i bavljenje velikim skupom podataka. Ispitivanje performansi aplikacija velikih podataka također je problem.