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
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
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.
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.
Ydelsestest udfรธres i denne rรฆkkefรธlge
- Processen begynder med indstillingen af โโBig data-klyngen, som skal testes for ydeevne
- Identificer og design tilsvarende arbejdsbelastninger
- Forbered individuelle klienter (tilpassede scripts oprettes)
- Udfรธr testen og analyser resultatet (Hvis mรฅlene ikke nรฅs, sรฅ tuner komponenten og genudfรธr)
- 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.



