Suurandmete testimise õpetus: mis on strateegia, kuidas Hadoopi testida

Lang L: none (table-of-contents)

Suurandmete testimine

Suurandmete testimine on suurandmete rakenduse testimisprotsess, et tagada kõigi suurandmete rakenduse kõigi funktsioonide ootuspärane toimimine. Suurandmete testimise eesmärk on veenduda, et suurandmete süsteem töötab tõrgeteta ja tõrgeteta, säilitades samas jõudluse ja turvalisuse.

Suurandmed on suurte andmekogumite kogum, mida ei saa tavapäraste arvutustehnikate abil töödelda. Nende andmekogumite testimine hõlmab töötlemiseks mitmesuguseid tööriistu, tehnikaid ja raamistikke. Suurandmed on seotud andmete loomise, salvestamise, otsimise ja analüüsiga, mis on tähelepanuväärne mahu, mitmekesisuse ja kiiruse poolest. Big Data, Hadoop ja MapReduce kohta saate lisateavet siit

Selles Big Data Testing õpetuses saate teada

  • Mis on suurandmete testimise strateegia?
  • Kuidas testida Hadoopi rakendusi
  • Arhitektuuri testimine
  • Jõudluse testimine
  • Jõudluse testimise lähenemisviis
  • Jõudluskontrolli parameetrid
  • Katsekeskkonna vajadused
  • Suurte andmete testimine Vs. Traditsiooniline andmebaasi testimine
  • Suurandmete stsenaariumides kasutatavad tööriistad
  • Suurte andmete testimise väljakutsed

Mis on suurandmete testimise strateegia?

Big Data rakenduse testimine on pigem selle andmetöötluse kontrollimine kui tarkvaratoote üksikute funktsioonide testimine. Suurandmete testimise puhul on võtmeteks jõudlus ja funktsionaalne testimine .

Big Data testimisstrateegias kontrollivad kvaliteedikontrolli insenerid terabaitide andmete edukat töötlemist kaubaklastri ja muude toetavate komponentide abil. See nõuab kõrgetasemelist testimisoskust, kuna töötlemine on väga kiire. Töötlemine võib olla kolme tüüpi

Koos sellega on Hadoopi testimisel oluline tegur ka andmete kvaliteet. Enne rakenduse testimist on vaja kontrollida andmete kvaliteeti ja seda tuleks käsitleda andmebaaside testimise osana. See hõlmab mitmesuguste omaduste, näiteks vastavuse, täpsuse, dubleerimise, järjepidevuse, kehtivuse, andmete täielikkuse jms kontrollimist. Järgnevalt õpime Hadoopi rakenduste testimist selles Hadoopi testimise õpetuses.

Kuidas testida Hadoopi rakendusi

Järgmine joonis annab kõrgetasemelise ülevaate suurandmete rakenduste testimise etappidest

Suurandmete testimise või Hadoopi testimise võib üldjoontes jagada kolmeks etapiks

1. samm: andmete etapiviisiline valideerimine

Selle suurandmete testimise õpetuse esimest sammu nimetatakse Hadoopi-eelseks etapiks, mis hõlmab protsessi kinnitamist.

  • Andmed erinevatest allikatest, nagu RDBMS, veebipäevikud, sotsiaalmeedia jne, tuleks valideerida, et veenduda, et õiged andmed on süsteemi tõmmatud
  • Lähteandmete võrdlemine Hadoopi süsteemi sisestatud andmetega, et veenduda nende vastavuses
  • Veenduge, et õiged andmed oleks ekstraheeritud ja laaditud õigesse HDFS-i asukohta

Tööriistad nagu Talend , Datameer, saab kasutada andmete lavastus valideerimine

2. samm: valideerimine "MapReduce"

Teine samm on "MapReduce" valideerimine. Selles etapis kontrollib Big Data testija iga sõlme äriloogika valideerimist ja seejärel pärast mitme sõlme käivitamist valideerimise, tagades, et

  • Kaardi vähendamise protsess töötab õigesti
  • Andmetele rakendatakse andmete liitmise või eraldamise reeglid
  • Luuakse võtmeväärtuste paarid
  • Andmete kinnitamine pärast Map-Reduce protsessi

3. samm: väljundi valideerimise etapp

Hadoopi testimise viimane või kolmas etapp on väljundi valideerimise protsess. Väljundfailid genereeritakse ja on valmis teisaldamiseks EDW-i (Enterprise Data Warehouse) või mis tahes muusse süsteemi, mis põhineb nõudmisel.

Kolmanda etapi tegevused hõlmavad järgmist

  • Teisenduseeskirjade õigeks kontrollimiseks kontrollige
  • Andmete terviklikkuse ja eduka andmete laadimise kontrollimiseks sihtsüsteemi
  • Sihtandmete ja HDFS-failisüsteemi andmetega võrdlemiseks kontrollige, kas andmeid pole rikutud

Arhitektuuri testimine

Hadoop töötleb väga suuri andmemahte ja on väga ressursimahukas. Seega on arhitektuuriline testimine teie Big Data projekti edukuse tagamiseks ülioluline. Halvasti või valesti projekteeritud süsteem võib põhjustada jõudluse halvenemist ja süsteem ei pruugi nõuet täita. Vähemalt tuleks jõudluse ja tõrkeotsingu testiteenuseid teha Hadoopi keskkonnas.

Toimivuse testimine hõlmab töö lõpuleviimise aja, mälu kasutamise, andmete läbilaskevõime jms süsteemi mõõdikute testimist. Kui tõrkeotsingu testimisteenuse motiiv on kontrollida, kas andmetöötlus toimub andmesõlmede rikke korral tõrgeteta

Jõudluse testimine

Suurandmete jõudlustestimine hõlmab kahte peamist toimingut

  • Andmete sissevõtmine ja läbimine : selles etapis kontrollib Big Data testija, kuidas kiire süsteem suudab andmeid erinevatest andmeallikatest tarbida. Testimine hõlmab muu sõnumi tuvastamist, mida järjekord saab teatud aja jooksul töödelda. See sisaldab ka seda, kui kiiresti saab andmeid andmebaasi sisestada, näiteks sisestamise kiirus Mongo ja Cassandra andmebaasi.
  • Andmetöötlus : see hõlmab kontrollimist, kui kiiresti päringud või kaart vähendavad töökohti. See hõlmab ka andmetöötluse testimist eraldi, kui alusandmehoidla täidetakse andmekogumites. Näiteks Map Reduce töökohtade käitamine aluseks oleval HDFS-il
  • Komponentide komponentide toimivus : need süsteemid koosnevad mitmest komponendist ja on oluline testida neid komponente eraldi. Näiteks kui kiiresti sõnumit indekseeritakse ja tarbitakse, MapReduce töökohti, päringu jõudlust, otsingut jne.

Jõudluse testimise lähenemisviis

Suurandmete rakenduse jõudlustestimine hõlmab tohutu hulga struktureeritud ja struktureerimata andmete testimist ning selliste massiliste andmete testimiseks on vaja spetsiaalset testimisviisi.

Jõudluse testimine viiakse läbi selles järjekorras

  1. Protsess algab Big Data klastri seadistamisega, mille jõudlust testitakse
  2. Tehke kindlaks ja kujundage vastavad töökoormused
  3. Valmistage ette üksikud kliendid (luuakse kohandatud skriptid)
  4. Tehke test ja analüüsige tulemust (kui eesmärgid pole täidetud, häälestage komponent ja käivitage uuesti)
  5. Optimaalne seadistamine

Jõudluskontrolli parameetrid

Erinevad parameetrid, mida tuleb jõudlustestimisel kontrollida, on

  • Andmete salvestamine: kuidas andmeid eri sõlmedes hoitakse
  • Kohustuste logid: kui suurel lubatud logil lubatakse kasvada
  • Samaaegsus: mitu lõime suudab kirjutamise ja lugemise toiminguid teha
  • Vahemällu salvestamine: häälestage vahemäluseaded "rea vahemälu" ja "võtmevahemik".
  • Ajalõpp: ühenduse aegumise, päringu aegumise jne väärtused
  • JVM-i parameetrid: kuhja suurus, GC kogumisalgoritmid jne.
  • Kaart vähendab jõudlust: sortimine, ühendamine jne
  • Sõnumi järjekord: sõnumi määr, suurus jne.

Katsekeskkonna vajadused

Testikeskkond peab sõltuma testitava rakenduse tüübist. Suurandmete tarkvara testimiseks peaks testimiskeskkond hõlmama

  • Sellel peaks olema piisavalt ruumi ladustamiseks ja suure hulga andmete töötlemiseks
  • Sellel peaks olema jaotatud sõlmede ja andmetega klaster
  • Big Data jõudluse testimiseks peaks sellel olema minimaalne protsessor ja mälukasutus, et hoida jõudlust kõrgel

Suurte andmete testimine Vs. Traditsiooniline andmebaasi testimine

Atribuudid

Traditsiooniline andmebaaside testimine

Suurte andmete testimine

Andmed

  • Tester töötab struktureeritud andmetega
  • Tester töötab nii struktureeritud kui ka struktureerimata andmetega

Lähenemise katsetamine

  • Testimismeetod on hästi määratletud ja ajaliselt testitud
  • Testimismeetod nõuab teadus- ja arendustegevuse keskendumist

Testimisstrateegia

  • Testeril on võimalus valida käsitsi tehtava valimi võtmise strateegia või automaatse tööriista abil strateegia „ammendav kontrollimine”
  • "Proovide võtmise" strateegia suurandmetes on väljakutse

Infrastruktuur

  • See ei nõua spetsiaalset testikeskkonda, kuna faili suurus on piiratud
  • Suure andmemahu ja failide (HDFS) tõttu on vaja spetsiaalset testikeskkonda

Valideerimise tööriistad

Tester kasutab kas Exceli-põhiseid makrosid või kasutajaliidese põhiseid automatiseerimistööriistu

Määratletud tööriistu pole, vahemik on lai programmeerimisvahenditest nagu MapReduce kuni HIVEQL

Testimisvahendid

Testimisvahendeid saab kasutada põhiteadmiste ja vähem koolituse korral.

Testimisvahendi kasutamiseks on vaja spetsiaalseid oskusi ja väljaõpet. Samuti on tööriistad alles kujunemisjärgus ja aja jooksul võib see tulla uute funktsioonidega.

Suurandmete stsenaariumides kasutatavad tööriistad

Suurandmete klaster

Suurandmete tööriistad

NoSQL:

  • CouchDB, andmebaasid MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, taru, siga, kaskaad, Oozie, Kafka, S4, MapR, Flume

Ladustamine:

  • S3, HDFS (Hadoopi hajutatud failisüsteem)

Serverid:

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

Töötlemine

  • R, Yahoo! Torud, mehaaniline turk, BigSheets, Datameer

Suurte andmete testimise väljakutsed

  • Automaatika

    Suurandmete automatiseerimise testimiseks on vaja kedagi, kellel on tehnilised teadmised. Samuti ei ole automatiseeritud tööriistad testimise ajal tekkinud ootamatute probleemide lahendamiseks varustatud

  • Virtualiseerimine

    See on testimise üks lahutamatuid etappe. Virtuaalmasina latentsus tekitab reaalajas suurandmete jõudluse testimisel ajastamisprobleeme. Piltide haldamine ka suurandmetes on vaev.

  • Suur andmekogum
    • Peate kontrollima rohkem andmeid ja tegema seda kiiremini
    • Vaja on testimist pingutada
    • Peab olema võimalik testida erinevatel platvormidel

Jõudluse testimise väljakutsed

  • Mitmekesine tehnoloogiate komplekt : iga alamkomponent kuulub erinevasse tehnoloogiasse ja seda tuleb testida eraldi
  • Konkreetsete tööriistade kättesaamatus : ükski tööriist ei saa lõpptestimist läbi viia. Näiteks ei pruugi NoSQL sobida sõnumijärjekordadesse
  • Testskriptimine : teststsenaariumide ja juhtumite kujundamiseks on vaja kõrget skripti
  • Testimiskeskkond : andmete suuruse tõttu on vaja spetsiaalset testikeskkonda
  • Jälgimislahendus : eksisteerib piiratud lahendusi, mis suudavad jälgida kogu keskkonda
  • Diagnostiline lahendus : jõudluse kitsaskohtade alade puurimiseks on vaja välja töötada kohandatud lahendus

Kokkuvõte

  • Kui andmetöötlus ja andmeanalüütika tõusevad järgmisele tasemele, on suurandmete testimine vältimatu.
  • Suurandmete töötlemine võib olla partiiline, reaalajas või interaktiivne
  • Big Data rakenduste testimise 3 etappi on
    • Andmete järkjärguline valideerimine
    • "MapReduce" valideerimine
    • Väljundi valideerimise etapp
  • Arhitektuuri testimine on suurandmete testimise oluline etapp, kuna halvasti kavandatud süsteem võib põhjustada enneolematuid vigu ja jõudluse halvenemist
  • Suurandmete jõudluskontroll hõlmab kontrollimist
    • Andmete läbilaskevõime
    • Andmetöötlus
    • Alamkomponendi jõudlus
  • Suurandmete testimine erineb tavapärasest andmete testimisest andmete, infrastruktuuri ja valideerimisvahendite poolest
  • Suurandmete testimise väljakutsed hõlmavad virtualiseerimist, testide automatiseerimist ja suurte andmekogumitega tegelemist. Samuti on probleemiks Big Data rakenduste jõudluskontroll.

Huvitavad Artiklid...