Big data in AWS - slimme oplossing voor big data



Dit artikel helpt je te begrijpen hoe AWS slim met Big Data omgaat. Het laat ook zien hoe AWS Big Data-uitdagingen gemakkelijk kan oplossen.

Het idee van Big Data is gewoon niet nieuw, het is overal. Het effect van Big Data is overal, van het bedrijfsleven tot de wetenschap, van de overheid tot de kunsten enzovoort. Er is geen betere metgezel dan om Big Data te verwerken en te analyseren. In dit artikel laat ik zien hoe AWS de uitdagingen van Big Data aanpakt en de tips die ik ga behandelen zijn als volgt:

Wat is Big Data?

big data-kenmerken





U kunt big data beschouwen als grootschalige, snelle en / of gevarieerde informatiemiddelen die kosteneffectieve, innovatieve vormen van informatieverwerking vereisen die meer inzicht, besluitvorming en procesautomatisering mogelijk maken.

Big Data bestaat uit 5 belangrijke V's die de kenmerken van Big Data definiëren. Laten we deze bespreken voordat we naar AWS gaan.



Wat is AWS?

bestaat uit veel verschillende cloud computing-producten en -diensten. De zeer winstgevende Amazon-divisie biedt servers, opslag, netwerken, computergebruik op afstand, e-mail, mobiele ontwikkeling en beveiliging. Verder. AWS bestaat uit twee hoofdproducten: EC2, de virtuele-machineservice van Amazon, en S3, een opslagsysteem van Amazon. Het is zo groot en aanwezig in de computerwereld dat het nu minstens 10 keer zo groot is als zijn naaste concurrent en populaire websites zoals Netflix en Instagram host.

hoe je het gegevenstype in python kunt vinden

.

AWS is opgesplitst in 12 wereldwijde regio's over de hele wereld, die elk meerdere beschikbaarheidszones hebben waarin de servers zich bevinden.Deze servicegebieden zijn opgesplitst om gebruikers in staat te stellen geografische limieten voor hun services in te stellen, maar ook om beveiliging te bieden door de fysieke locaties waar gegevens worden bewaard te diversifiëren.



Waarom big data in AWS?

Wetenschappers, ontwikkelaars en andere technologieliefhebbers uit veel verschillende domeinen maken gebruik van AWS om big data-analyses uit te voeren en de kritieke uitdagingen van de toenemende V's van digitale informatie aan te gaan. AWS biedt u een portfolio van cloud computing-services om big data te helpen beheren door de kosten aanzienlijk te verlagen, te schalen om aan de vraag te voldoen en de snelheid van innovatie te verhogen.

Amazon Web Services biedt een volledig geïntegreerd portfolio van cloud computing-diensten. Bovendien helpt het u bij het bouwen, beveiligen en implementeren van uw big data-applicaties. Bovendien heeft u met AWS geen hardware nodig om aan te schaffen en geen infrastructuur om te onderhouden en op te schalen. Hierdoor kunt u uw middelen richten op het ontdekken van nieuwe inzichten.Aangezien er voortdurend nieuwe functies worden toegevoegd, kunt u altijd gebruikmaken van de nieuwste technologieën zonder dat u langetermijninvesteringen hoeft te doen.

Hoe AWS Big Data-uitdagingen kan oplossen?

AWS-oplossingen voor Big Data

AWS heeft talloze oplossingen voor alle ontwikkelings- en implementatiedoeleinden. Ook op het gebied van Data Science en Big Data heeft AWS recente ontwikkelingen bedacht in verschillende aspecten van het omgaan met Big Data. Voordat we naar tools gaan, moeten we eerst de verschillende aspecten van Big Data begrijpen waarvoor AWS oplossingen kan bieden.

  1. Gegevensopname
    Het verzamelen van de onbewerkte gegevens - transacties, logboeken, mobiele apparaten en meer - is de eerste uitdaging waarmee veel organisaties worden geconfronteerd bij het omgaan met big data. Een goed big data-platform maakt deze stap eenvoudiger, waardoor ontwikkelaars een breed scala aan gegevens kunnen opnemen - van gestructureerd tot ongestructureerd - op elke snelheid - van realtime tot batch.

  2. Opslag van gegevens
    Elk big data-platform heeft een veilige, schaalbare en duurzame opslagplaats nodig om gegevens op te slaan vóór of zelfs na het verwerken van taken. Afhankelijk van uw specifieke vereisten, heeft u mogelijk ook tijdelijke winkels nodig voor data-in-transit.

  3. Gegevensverwerking
    Dit is de stap waarin de datatransformatie plaatsvindt van de onbewerkte staat naar een consumeerbaar formaat - meestal door middel van sorteren, aggregeren, samenvoegen en zelfs het uitvoeren van meer geavanceerde functies en algoritmen. De resulterende datasets worden opgeslagen voor verdere verwerking of worden beschikbaar gesteld voor consumptie via business intelligence en datavisualisatietools.

  4. Visualisatie

    Bij big data draait alles om het verkrijgen van hoogwaardige, bruikbare inzichten uit uw gegevensactiva. Idealiter zijn gegevens beschikbaar voor belanghebbenden via selfservice business intelligence en agile datavisualisatietools die snelle en gemakkelijke verkenning van datasets mogelijk maken.

AWS-tools voor big data

In de vorige paragrafen hebben we gekeken naar de velden in Big Data waar AWS oplossingen kan bieden. Bovendien heeft AWS meerdere tools en services in zijn arsenaal om klanten te laten profiteren van de mogelijkheden van Big Data.

Laten we eens kijken naar de verschillende oplossingen die AWS biedt voor het omgaan met verschillende fasen van het omgaan met Big Data

Inslikken

  1. Kinesis

    Amazon Kinesis Firehose is een volledig beheerde service voor het rechtstreeks leveren van realtime streaminggegevens aan Amazon S3. Kinesis Firehose schaalt automatisch om te passen bij het volume en de doorvoer van streaminggegevens en vereist geen doorlopend beheer. U kunt Kinesis Firehose configureren om streaminggegevens te transformeren voordat u deze opslaat in Amazon S3.

  2. Sneeuwbal
    Je kunt gebruiken AWS Sneeuwbal om bulkgegevens veilig en efficiënt te migreren van opslagplatforms op locatie en Hadoop-clusters naar S3-buckets. Nadat u een taak heeft aangemaakt in de AWS Management Console, krijgt u automatisch een Snowball-apparaat. Nadat een Snowball arriveert, verbindt u deze met uw lokale netwerk, installeert u de Snowball-client op uw lokale gegevensbron en gebruikt u vervolgens de Snowball-client om de bestandsmappen te selecteren en over te brengen naar het Snowball-apparaat.

Opslag

  1. Amazon S3

Amazon S3 is een veilige, zeer schaalbare, duurzame objectopslag met een latentie van milliseconden voor gegevenstoegang. S3 kan elk type gegevens overal opslaan: websites en mobiele apps, bedrijfstoepassingen en gegevens van IoT-sensoren of apparaten. Het kan ook elke hoeveelheid gegevens opslaan en ophalen, met een ongeëvenaarde beschikbaarheid, en vanaf de basis opgebouwd om 99,999999999% (11 negens) duurzaamheid te bieden.

2. AWS-lijm

Glue is een volledig beheerde service die een datacatalogus biedt om gegevens in het datameer vindbaar te maken. Bovendien heeft het de mogelijkheid om te extraheren, transformeren en laden (ETL) om gegevens voor te bereiden voor analyse. Bovendien is de ingebouwde datacatalogus als een permanente metadatastore voor alle data-assets, waardoor alle data doorzoekbaar en doorzoekbaar zijn in één enkele weergave.

Verwerken

  1. EMR
    Voor de verwerking van big data met behulp van de Spark en Hadoop, Amazon EMR biedt een beheerde service die het gemakkelijk, snel en kosteneffectief maakt om grote hoeveelheden gegevens te verwerken. Bovendien ondersteunt EMR 19 verschillende open-sourceprojecten, waaronder Hadoop , Vonk , en Het wordt ook geleverd met beheerde EMR-notebooks voor data-engineering, data science-ontwikkeling en samenwerking.

  2. Roodverschuiving
    Voor datawarehousing, Amazon Redshift biedt de mogelijkheid om complexe, analytische zoekopdrachten uit te voeren op petabytes aan gestructureerde gegevens. Het bevat ook Roodverschuivingsspectrum die SQL-query's rechtstreeks uitvoert op Exabytes aan gestructureerde of ongestructureerde gegevens in S3 zonder onnodige gegevensverplaatsing.

Visualisaties

  1. Amazon QuickSight

    Voor dashboards en visualisaties biedt Amazon Quicksight u een snelle, cloudgestuurde bedrijfsanalyseservice. Het maakt het gemakkelijk om verbluffende visualisaties en rijke dashboards te bouwen. Bovendien kunt u ze openen vanaf elke browser of elk mobiel apparaat.

Demo - Analyse van gegevens van bedreigde plant- en diersoorten in Australië.

In deze demo gebruiken we voorbeeldgegevens van bedreigde plant- en diersoorten uit de staten en territoria van Australië. Hier zullen we een EMR-cluster maken en deze configureren om meerstaps Apache Hive-taken uit te voeren. In het EMR-cluster is Apache Hive geïnstalleerd. Dit cluster gebruikt EMRFS als het bestandssysteem, zodat de gegevensinvoer- en uitvoerlocaties worden toegewezen aan een S3-bucket. Het cluster gebruikt ook dezelfde S3-bucket voor het opslaan van logbestanden.

We gaan nu een aantal EMD-stappen in het cluster maken om een ​​voorbeeldset gegevens te verwerken. Hier voert elk van deze stappen een Hive-script uit en de uiteindelijke uitvoer wordt opgeslagen in de S3-bucket. Met deze stappen worden MapReduce-logboeken gegenereerd en dat komt doordat Hive-opdrachten tijdens runtime worden vertaald naar MapReduce-taken. De logbestanden voor elke stap worden verzameld uit de containers die worden uitgezet.

Voorbeeldgegevens

De voorbeeldgegevensset voor deze use case is openbaar beschikbaar via de Open data-website van de Australische overheid . Deze dataset gaat over bedreigde dier- en plantensoorten uit verschillende staten en territoria in Australië. Een beschrijving van de velden van deze dataset en het CSV-bestand kan worden bekeken en gedownload hier .

Verwerkingsstappen

De eerste EMR-taakstap hier betreft het maken van een Hive-tabel als schema voor het onderliggende bronbestand in S3. In de tweede taakstap zullen we nu een succesvolle query uitvoeren op de gegevens. Op dezelfde manier zullen we dan een derde en vierde query uitvoeren.

We herhalen deze vier stappen een paar keer in een uur, waarbij we opeenvolgende runs van een meerstaps batchtaak simuleren. In een real-life scenario zou het tijdsverschil tussen elke batchrun normaal gesproken echter veel groter kunnen zijn. De kleine tijdspanne tussen opeenvolgende runs is bedoeld om onze tests te versnellen.

S3-emmer en mappen

Voordat we ons EMR-cluster maakten, moesten we hier een S3-bucket maken om de bestanden te hosten. In ons voorbeeld noemen we deze bucket 'arvind1-bucket'. De mappen onder deze bucket worden hieronder weergegeven in de AWS Console voor S3:

  • De invoermap bevat de voorbeeldgegevens

  • De map met scripts bevat de Hive-scriptbestanden voor EMR-taakstappen

  • De uitvoermap bevat uiteraard de uitvoer van het Hive-programma

  • Het EMR-cluster gebruikt de map met logboeken om de logbestanden op te slaan.

Hive-scripts voor EMR-taakstappen

1. Deze taakstap voert een Hive-script uitom een ​​externe Hive-tabel te maken. Deze tabel beschrijft het schema in tabelvorm van het onderliggende CSV-gegevensbestand. Het script hiervoor is als volgt:

CREËER EXTERNE TABEL `threated_species` (` wetenschappelijke naam` string, `common name` string,` huidige wetenschappelijke naam` string, `bedreigde status` string,` act` string, `nsw` string,` nt` string, `qld` string, `sa` string,` tas` string, `vic` string,` wa` string, `aci` string,` cki` string, `ci` string,` csi` string, `jbt` string,` nfi` string, `hmi` string,` aat` string, `cma` string,` sprat taxonid` bigint, `current sprat taxonid` bigint,` Kingdom` string, `class` string,` profile` string, `date geëxtraheerd` string, `nsl name` string,` family` string, `genus` string,` species` string, `infraspecific rank` string,` infraspecies` string, `species author` string,` infraspecies author` string) RIJ FORMAAT AFGESLOTEN VELDEN BEËINDIGD DOOR ',' OPGESLAGEN ALS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /'

2. Deze taakstap voert een zoekopdracht uit om de top vijf van bedreigde diersoorten in de staat New South Wales (NSW) te berekenen. De naam van het Hive-querybestand is bedreigde soorten NSW.q en het wordt hieronder weergegeven:

SELECTEER soort, COUNT (nsw) AS number_of_endangered_species FROM bedreigde_species WAAR (nsw = 'Ja' OR nsw = 'Bedreigd') AND 'bedreigde status' = 'Bedreigd' GROEP OP soort MET AANTAL (nsw)> 1 ORDER OP aantal_van_endangered_species DESC LIMIET 5

3.Deze taakstap voert een zoekopdracht uit om het totale aantal bedreigde plantensoorten voor elke plantenfamilie in Australië te berekenen. De naam van het Hive-querybestand isendangeredPlantSpecies.qen wordt hieronder getoond

SELECTEER familie, COUNT (soort) AS number_of_endangered_species FROM threated_species2 WHERE koninkrijk = 'Plantae' AND 'bedreigde status' = 'Bedreigd' GROEP DOOR familie

4. Deze stap bevat de wetenschappelijke namen van uitgestorven diersoorten in de Australische staat Queensland. Het scriptbestand heet extinctAnimalsQLD.q en wordt hieronder getoond:

SELECTEER 'algemene naam', 'wetenschappelijke naam' VAN bedreigde_soort WAAR koninkrijk = 'Animalia' EN (qld = 'Ja' OF qld = 'Uitgestorven') EN 'bedreigde status' = 'Uitgestorven'

Logboek aggregatie

Hier hebben we ook een JSON-bestand met de naam logAggregation.json geüpload in de scriptmap van de S3-bucket. We gebruiken dit bestand om de YARN-logbestanden samen te voegen. Logboekaggregatie wordt geconfigureerd in het configuratiebestand yarn-site.xml wanneer het cluster opstart. De inhoud van het logAggregation.json-bestand is als volgt:

externe methode aanroep java voorbeeld

[{'Classificatie': 'yarn-site', 'Properties': {'yarn.log-aggregation-enable': 'true', 'yarn.log-aggregation.retain-seconds': '-1', 'yarn .nodemanager.remote-app-log-dir ”:“ s3: // arvind1-bucket / logs ”}}]

Nadat u de S3-bucket heeft gemaakt en de gegevens- en scriptbestanden naar hun respectievelijke mappen heeft gekopieerd, is het nu tijd om een ​​EMR-cluster op te zetten. De volgende momentopnamen beschrijven het proces terwijl we het cluster maken met voornamelijk standaardinstellingen.

EMR-cluster instellen

In de eerste afbeelding hebben we, om het cluster in de AWS-console te configureren, alle door EMR aanbevolen applicaties behouden, inclusief Hive. We hoeven AWS Glue niet te gebruiken voor het opslaan van Hive-metadata, en we voegen op dit moment ook geen taakstap toe. We moeten echter een software-instelling toevoegen voor Hive. Hier moet u zorgvuldig observeren hoe we het pad naar het JSON-bestand voor logboekaggregatie in dit veld specificeren.

In de volgende stap hebben we alle standaardinstellingen behouden. Omwille van onze test heeft het cluster één hoofdknooppunt en twee kernknooppunten. Elk knooppunt hier is een m3.xlarge-instantie en heeft een rootvolume van 10 GB. We noemen het cluster arvind1-cluster in de volgende stap en specificeren de aangepaste s3-locatie voor de logbestanden.

Ten slotte hebben we een EC2-sleutelpaar gespecificeerd om toegang te krijgen tot het hoofdknooppunt van het cluster. Er is geen wijziging in de standaard IAM-rollen voor EMR, EC2-instantieprofiel en opties voor automatisch schalen. Bovendien gebruiken de hoofd- en kernknooppunten standaard beschikbare beveiligingsgroepen. Normaal gesproken is dit een standaardinstelling voor een EMR-cluster. Als alles klaar is, bevindt het cluster zich in een 'wachtende' status zoals hieronder weergegeven:

Dien Hive-taakstappen in

Hierna moeten we SSH-toegang toestaan.

  1. Open de Amazon EMR-console op https://console.aws.amazon.com/elasticmapreduce/ .
  2. Kiezen Clusters .
  3. Kies de Naam van het cluster.
  4. Onder Beveiliging en toegang kies de Beveiligingsgroepen voor Master koppeling.
  5. Kiezen ElasticMapReduce-master van de lijst.
  6. Kiezen Inkomend , Bewerk .
  7. Zoek de regel met de volgende instellingen en kies het X pictogram om het te verwijderen:
    • Type SSH
    • Haven 22
    • Bron Aangepast 0.0.0.0/0
  8. Scrol naar de onderkant van de lijst met regels en kies Regel toevoegen .
  9. Voor Type , selecteer SSH Dit komt automatisch binnen TCP voor Protocol en 22 voor poort bereik .
  10. Selecteer als bron Mijn IP Dit voegt automatisch het IP-adres van uw clientcomputer toe als het bronadres. Als alternatief kunt u een reeks Op maat vertrouwde client IP-adressen en kies ervoor om voeg de regel toe om aanvullende regels voor andere klanten te maken. In veel netwerkomgevingen wijst u IP-adressen dynamisch toe, dus het kan zijn dat u periodiek beveiligingsgroepregels moet bewerken om het IP-adres van vertrouwde clients bij te werken.
  11. Kiezen Sparen .
  12. Kies eventueel ElasticMapReduce-slaaf uit de lijst en herhaal de bovenstaande stappen om de SSH-client toegang te geven tot kern- en taakknooppunten van vertrouwde clients.

Omdat het EMR-cluster draait, hebben we vier taakstappen toegevoegd. Dit zijn de stappen die EMR na elkaar zou uitvoeren. De volgende afbeelding toont de stappen van de AWS EMR-console:

Zodra we de vier stappen hebben toegevoegd, kunnen we controleren of deze stappen voltooid zijn. Zelfs als er een probleem is met de uitvoering van deze stappen, kan dit in dergelijke gevallen worden opgelost met behulp van de logbestanden van deze stappen.

Dus dit is het van mijn kant in dit artikel over Big Data in AWS. Ik hoop dat je alles hebt begrepen wat ik hier heb uitgelegd.

Als je deze Big Data in AWS relevant vond, kun je Edureka's live en door een instructeur geleide cursus bekijken , mede gecreëerd door praktijkmensen uit de industrie.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze Hoe Java-webtoepassing in AWS te implementeren en we nemen contact met u op.