Big Data Test Tutorial: Hvad er, strategi, hvordan man tester Hadoop

Big Data test

Big Data test er en testproces af en big data-applikation for at sikre, at alle funktionerne i en big data-applikation fungerer som forventet. Mรฅlet med big data test er at sikre, at big data systemet kรธrer problemfrit og fejlfrit, samtidig med at ydeevnen og sikkerheden bevares.

Big data er en samling af store datasรฆt, der ikke kan behandles ved hjรฆlp af traditionelle computerteknikker. Test af disse datasรฆt involverer forskellige vรฆrktรธjer, teknikker og rammer at behandle. Big data relaterer sig til dataoprettelse, lagring, genfinding og analyse, der er bemรฆrkelsesvรฆrdig med hensyn til volumen, variation og hastighed. Du kan lรฆre mere om Big Data, Hadoop og MapReduce link.

Hvad er Big Data-teststrategi?

Test af Big Data-applikation er mere verifikation af dens databehandling i stedet for at teste softwareproduktets individuelle funktioner. Nรฅr det kommer til big data test, ydeevne og funktionstest er nรธglerne.

I Big Data-teststrategien verificerer QA-ingeniรธrer den vellykkede behandling af terabyte data ved hjรฆlp af vareklynge og andre understรธttende komponenter. Det krรฆver et hรธjt niveau af testfรฆrdigheder, da behandlingen er meget hurtig. Behandlingen kan vรฆre af tre typer

Big Data teststrategi

Sammen med dette er datakvalitet ogsรฅ en vigtig faktor i Hadoop-test. Fรธr test af applikationen, er det nรธdvendigt at kontrollere kvaliteten af โ€‹โ€‹data og bรธr betragtes som en del af databasetestning. Det involverer kontrol af forskellige egenskaber som overensstemmelse, nรธjagtighed, duplikering, konsistens, gyldighed, datafuldstรฆndighed, osv. Dernรฆst i denne Hadoop Test tutorial, vil vi lรฆre, hvordan man tester Hadoop applikationer.

Sรฅdan tester du Hadoop-applikationer

Fรธlgende figur giver et overblik pรฅ hรธjt niveau over faser i test af Big Data-applikationer

Test Hadoop-applikationer

Big Data Testing eller Hadoop Testing kan overordnet opdeles i tre trin

Trin 1: Validering af datainddeling

Det fรธrste trin i denne big data test tutorial omtales som pre-Hadoop fase involverer procesvalidering.

  • Data fra forskellige kilder som RDBMS, weblogs, sociale medier osv. bรธr valideres for at sikre, at korrekte data trรฆkkes ind i systemet
  • Sammenligning af kildedata med de data, der er skubbet ind i Hadoop-systemet for at sikre, at de matcher
  • Bekrรฆft, at de rigtige data er udtrukket og indlรฆst pรฅ den korrekte HDFS-placering

Vรฆrktรธjer som Talent, Datamaskine, kan bruges til validering af datastage

Trin 2: "MapReduce"-validering

Det andet trin er en validering af "MapReduce". Pรฅ dette trin verificerer Big Data-testeren forretningslogikvalideringen pรฅ hver node og validerer dem derefter efter at have kรธrt mod flere noder, hvilket sikrer, at

  • Kort Reducer-processen fungerer korrekt
  • Regler for dataaggregering eller adskillelse implementeres pรฅ dataene
  • Nรธglevรฆrdipar genereres
  • Validering af data efter Map-Reduce-processen

Trin 3: Outputvalideringsfase

Den sidste eller tredje fase af Hadoop-testning er outputvalideringsprocessen. Outputdatafilerne er genereret og klar til at blive flyttet til et EDW (Enterprise Data Warehouse) eller et hvilket som helst andet system baseret pรฅ kravet.

Aktiviteter i tredje fase omfatter

  • For at kontrollere, at transformationsreglerne er anvendt korrekt
  • For at kontrollere dataintegriteten og vellykket dataindlรฆsning i mรฅlsystemet
  • For at kontrollere, at der ikke er datakorruption, ved at sammenligne mรฅldataene med HDFS-filsystemets data

Architecture Test

Hadoop behandler meget store mรฆngder data og er meget ressourcekrรฆvende. Derfor er arkitektonisk testning afgรธrende for at sikre succesen af โ€‹โ€‹dit Big Data-projekt. Et dรฅrligt eller forkert designet system kan fรธre til ydeevneforringelse, og systemet kan ikke opfylde kravet. I det mindste Ydeevne og failover test tjenester skal udfรธres i et Hadoop-miljรธ.

Ydelsestest omfatter test af jobafslutningstid, hukommelsesudnyttelse, datagennemstrรธmning og lignende systemmรฅlinger. Mens motivet for Failover-testservice er at verificere, at databehandling sker problemfrit i tilfรฆlde af svigt af dataknudepunkter

Test af ydeevne

Ydelsestest for Big Data omfatter to hovedhandlinger

  • Dataindtagelse og hele vejen igennem: I denne fase verificerer Big Data-testeren, hvordan det hurtige system kan forbruge data fra forskellige datakilder. Test involverer at identificere en anden besked, som kรธen kan behandle i en given tidsramme. Det inkluderer ogsรฅ, hvor hurtigt data kan indsรฆttes i det underliggende datalager, f.eks. indsรฆttelseshastighed i en Mongo og Cassandra database.
  • Databehandling: Det indebรฆrer at verificere den hastighed, hvormed forespรธrgslerne eller kortet reducerer job udfรธres. Det inkluderer ogsรฅ at teste databehandlingen isoleret, nรฅr det underliggende datalager er udfyldt i datasรฆttene. For eksempel at kรธre Map Reduce-job pรฅ det underliggende HDFS
  • Sub-komponent ydeevne: Disse systemer bestรฅr af flere komponenter, og det er vigtigt at teste hver af disse komponenter isoleret. For eksempel, hvor hurtigt beskeden indekseres og forbruges, MapReduce-job, forespรธrgselsydeevne, sรธgning osv.
  • Prรฆstationstestmetode

    Ydelsestest for big data-applikationer involverer test af enorme mรฆngder af strukturerede og ustrukturerede data, og det krรฆver en specifik testmetode for at teste sรฅ massive data.

    Prรฆstationstestmetode

    Ydelsestest udfรธres i denne rรฆkkefรธlge

    1. Processen begynder med indstillingen af โ€‹โ€‹Big data-klyngen, som skal testes for ydeevne
    2. Identificer og design tilsvarende arbejdsbelastninger
    3. Forbered individuelle klienter (tilpassede scripts oprettes)
    4. Udfรธr testen og analyser resultatet (Hvis mรฅlene ikke nรฅs, sรฅ tuner komponenten og genudfรธr)
    5. Optimal konfiguration

    Parametre til prรฆstationstestning

    Forskellige parametre, der skal verificeres til prรฆstationstest, er

    • Datalagring: Hvordan data lagres i forskellige noder
    • Commit logs: Hvor stor commit log fรฅr lov til at vokse
    • Samtidighed: Hvor mange trรฅde kan udfรธre skrive- og lรฆseoperationer
    • Caching: Juster cache-indstillingen "row cache" og "key cache".
    • Timeouts: Vรฆrdier for forbindelsestimeout, forespรธrgselstimeout osv.
    • JVM-parametre: Heap-stรธrrelse, GC-opsamlingsalgoritmer osv.
    • Kort reducerer ydeevnen: Sortering, fletning osv.
    • Beskedkรธ: Beskedhastighed, stรธrrelse osv.

    Testmiljรธbehov

    Testmiljรธet skal afhรฆnge af den type applikation, du tester. Til test af Big data-software bรธr testmiljรธet omfatte

    • Det skal have plads nok til opbevaring og behandle en stor mรฆngde data
    • Den skal have en klynge med distribuerede noder og data
    • Den skal have minimal CPU- og hukommelsesudnyttelse for at holde ydeevnen hรธj for at teste Big Data-ydeevnen

    Big data test vs. Traditionel databasetestning

    Ejendomme Traditionel databasetest Big data test
    Data Testerarbejde med strukturerede data Tester arbejder med bรฅde strukturerede sรฅvel som ustrukturerede data
    Testmetode Testmetoden er veldefineret og tidstestet Testmetoden krรฆver en fokuseret F&U-indsats
    Teststrategi Testeren har mulighed for at "Sampling"-strategi udfรธres manuelt eller "Exhaustive Verification"-strategi ved hjรฆlp af automatiseringsvรฆrktรธjet "Sampling"-strategi i Big data er en udfordring
    Infrastruktur Det krรฆver ikke et specielt testmiljรธ, da filstรธrrelsen er begrรฆnset Det krรฆver et specielt testmiljรธ pรฅ grund af store datastรธrrelser og filer (HDFS)
    Valideringsvรฆrktรธjer Testeren bruger enten den Excel-baserede makroer eller UI-baserede automatiseringsvรฆrktรธjer Ingen definerede vรฆrktรธjer, udvalget er stort fra programmeringsvรฆrktรธjer som MapReduce til HIVEQL
    Testvรฆrktรธjer Testvรฆrktรธjer kan bruges med grundlรฆggende betjeningsviden og mindre trรฆning. Det krรฆver et specifikt sรฆt fรฆrdigheder og trรฆning at betjene et testvรฆrktรธj. Vรฆrktรธjerne er ogsรฅ i deres begyndelsesstadie, og med tiden kan de komme med nye funktioner.

    Vรฆrktรธjer brugt i Big Data-scenarier

    Big data Cluster Big Data vรฆrktรธjer
    NoSQL: CouchDB, Databaser MongoDB, Cassandra, Redis, ZooKeeper, HBase
    Kortreducer: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Opbevaring: S3, HDFS (Hadoop Distributed File System)
    servere: Elastisk, Heroku, Elastic, Google App Engine, EC2
    Behandles R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

    Udfordringer i Big Data Testing

    • Automation

      Test af automatisering for Big data krรฆver en person med teknisk ekspertise. Desuden er automatiserede vรฆrktรธjer ikke udstyret til at hรฅndtere uventede problemer, der opstรฅr under test

    • Virtualisering

      Det er en af โ€‹โ€‹de integrerede faser af test. Virtuel maskine latency skaber timing problemer i realtid big data performance test. Det er ogsรฅ besvรฆrligt at administrere billeder i Big data.

    • Stort datasรฆt
      • Har brug for at verificere flere data og skal gรธre det hurtigere
      • Behov for at automatisere testindsatsen
      • Har brug for at kunne teste pรฅ tvรฆrs af forskellige platforme

    Udfordringer med prรฆstationstest

    • Diverse sรฆt af teknologier: Hver delkomponent tilhรธrer forskellig teknologi og krรฆver afprรธvning isoleret
    • Manglende tilgรฆngelighed af specifikke vรฆrktรธjer: Intet enkelt vรฆrktรธj kan udfรธre end-to-end-testen. For eksempel, NoSQL passer muligvis ikke til beskedkรธer
    • Test scripting: En hรธj grad af scripting er nรธdvendig for at designe testscenarier og testcases
    • Test miljรธ: Den har brug for et specielt testmiljรธ pรฅ grund af den store datastรธrrelse
    • Overvรฅgningslรธsning: Der findes begrรฆnsede lรธsninger, der kan overvรฅge hele miljรธet
    • Diagnostisk lรธsning: Der krรฆves en skrรฆddersyet lรธsning at udvikle for at bore ned i ydeevneflaskehalsomrรฅderne

    Resumรฉ

    • Efterhรฅnden som datateknik og dataanalyse gรฅr videre til et nรฆste niveau, er Big data-test uundgรฅeligt.
    • Big data-behandling kan vรฆre batch, realtid eller interaktiv
    • 3 stadier af test af Big Data-applikationer er validering af datainddeling, "MapReduce"-validering og outputvalideringsfase
    • Architecture Test er den vigtige fase af Big data test, da dรฅrligt designet system kan fรธre til hidtil usete fejl og forringelse af ydeevnen
    • Ydelsestest for Big data omfatter verificering af datagennemstrรธmning, databehandling og ydeevne af underkomponenter
    • Big data-test er meget forskellig fra traditionel datatest med hensyn til data, infrastruktur og valideringsvรฆrktรธjer
    • Big Data Test-udfordringer omfatter virtualisering, testautomatisering og hรฅndtering af store datasรฆt. Ydelsestest af Big Data-applikationer er ogsรฅ et problem.

    Opsummer dette indlรฆg med: