Big Data i AWS - Smart lösning för Big Data



Den här artikeln hjälper dig att förstå hur AWS hanterar Big Data smart. Det visar också hur AWS enkelt kan lösa Big Data-utmaningar.

Idén med Big Data är helt enkelt inte ny, den finns överallt. Effekten av Big Data är överallt, från företag till vetenskap, från regeringen till konsten och så vidare. Det finns ingen bättre följeslagare än att bearbeta och analysera Big Data. I den här artikeln ska jag visa hur AWS hanterar utmaningarna med Big Data och de tips som jag kommer att täcka är följande:

Vad är Big Data?

Big Data-egenskaper





Du kan betrakta Big data som informationstillgångar med hög volym, hög hastighet och / eller stor variation som kräver kostnadseffektiva, innovativa former av informationsbehandling som möjliggör förbättrad insikt, beslutsfattande och processautomatisering.

Big Data består av 5 viktiga V: er som definierar egenskaperna hos Big Data. Låt oss diskutera dessa innan vi flyttar till AWS.



Vad är AWS?

består av många olika cloud computing-produkter och tjänster. Den mycket lönsamma Amazon-divisionen tillhandahåller servrar, lagring, nätverk, fjärranslutning, e-post, mobil utveckling tillsammans med säkerhet. Dessutom. AWS består av två huvudprodukter: EC2, Amazons virtuella maskintjänst och S3, ett lagringssystem från Amazon. Den är så stor och närvarande i datorvärlden att den nu är minst tio gånger större än sin närmaste konkurrent och är värd för populära webbplatser som Netflix och Instagram.

.

AWS är uppdelat i 12 globala regioner världen över, som alla har flera tillgänglighetszoner där dess servrar finns.Dessa servade regioner är uppdelade för att tillåta användare att ställa in geografiska gränser för sina tjänster, men också för att tillhandahålla säkerhet genom att diversifiera de fysiska platser där data lagras.



Varför Big Data i AWS?

Forskare, utvecklare och andra teknikentusiaster från många olika domäner utnyttjar AWS för att utföra stora dataanalyser och möta de kritiska utmaningarna med den ökande V: n för digital information. AWS erbjuder dig en portfölj av molntjänster för att hantera stora data genom att avsevärt minska kostnaderna, skalas för att möta efterfrågan och öka innovationshastigheten.

Amazon Web Services tillhandahåller en helt integrerad portfölj av molntjänster. Dessutom hjälper det dig att bygga, säkra och distribuera dina stora dataprogram. Med AWS behöver du inte heller hårdvara för att skaffa och infrastruktur för att underhålla och skala. På grund av detta kan du fokusera dina resurser på att avslöja nya insikter.Eftersom nya funktioner läggs till ständigt kommer du alltid att kunna utnyttja den senaste tekniken utan att behöva göra långsiktiga investeringsåtaganden.

Hur AWS kan lösa Big Data-utmaningar?

AWS-lösningar för Big Data

AWS har många lösningar för alla utvecklings- och implementeringsändamål. Inom området Data Science och Big Data har AWS också kommit med den senaste utvecklingen inom olika aspekter av Big Data-hantering. Innan vi hoppar till verktyg, låt oss förstå olika aspekter av Big Data som AWS kan erbjuda lösningar för.

  1. Förtäring av data
    Att samla rådata - transaktioner, loggar, mobila enheter och mer - är den första utmaningen som många organisationer står inför när de hanterar big data. En bra stor dataplattform gör det här steget enklare, vilket gör det möjligt för utvecklare att ta in en mängd olika data - från strukturerad till ostrukturerad - i vilken hastighet som helst - från realtid till batch.

  2. Lagring av data
    Varje stor dataplattform behöver ett säkert, skalbart och hållbart förvar för att lagra data före eller till och med efter bearbetningsuppgifter. Beroende på dina specifika krav kan du också behöva tillfälliga butiker för data under transport.

  3. Databehandling
    Detta är steget där datatransformation sker från dess råa tillstånd till ett förbrukningsformat - vanligtvis genom att sortera, aggregera, gå med och till och med utföra mer avancerade funktioner och algoritmer. De resulterande datamängderna lagras för vidare bearbetning eller görs tillgängliga för konsumtion via affärsinformation och datavisualiseringsverktyg.

  4. Visualisering

    Big data handlar om att få värdefulla insikter från dina datatillgångar. Idealt är data tillgängliga för intressenter genom självbetjäningsaffärsinformation och agila datavisualiseringsverktyg som möjliggör snabb och enkel utforskning av datamängder.

AWS-verktyg för stora data

I föregående avsnitt tittade vi på fälten i Big Data där AWS kan erbjuda lösningar. Dessutom har AWS flera verktyg och tjänster i sin arsenal för att göra det möjligt för kunder med Big Data.

Låt oss titta på de olika lösningarna som tillhandahålls av AWS för hantering av olika steg involverade i hantering av Big Data

Förtäring

  1. Kinesis

    Amazon Kinesis Firehose är en fullständigt hanterad tjänst för att leverera direktuppspelad data direkt till Amazon S3. Kinesis Firehose skalas automatiskt för att matcha volymen och genomströmningen av strömmande data och kräver ingen pågående administration. Du kan konfigurera Kinesis Firehose för att omvandla strömmande data innan du lagrar den i Amazon S3.

  2. Snöboll
    Du kan använda AWS snöboll för att säkert och effektivt migrera bulkdata från lokala lagringsplattformar och Hadoop-kluster till S3-hinkar. När du har skapat ett jobb i AWS Management Console får du automatiskt en Snowball-enhet. När en Snowball anländer ansluter du den till ditt lokala nätverk, installerar Snowball-klienten på din lokala datakälla och använder sedan Snowball-klienten för att välja och överföra filkatalogerna till Snowball-enheten.

Lagring

  1. Amazon S3

Amazon S3 är en säker, mycket skalbar, hållbar objektlagring med millisekunders latens för dataåtkomst. S3 kan lagra vilken typ av data som helst - webbplatser och mobilappar, företagsapplikationer och data från IoT-sensorer eller enheter. Det kan också lagra och hämta vilken mängd data som helst, med oöverträffad tillgänglighet och byggd från grunden för att ge 99,999999999% (11 nines) hållbarhet.

2. AWS-lim

Lim är en helt hanterad tjänst som tillhandahåller en datakatalog för att göra data i datasjön upptäckbara. Dessutom har den förmågan att göra extrahera, transformera och ladda (ETL) för att förbereda data för analys. Den inbyggda datakatalogen är också som en ihållande metadatalager för alla datatillgångar, vilket gör all information sökbar och kan ifrågasättas i en enda vy.

Bearbetning

  1. EMR
    För stor databehandling med Spark och Hadoop, Amazon EMR tillhandahåller en hanterad tjänst som gör det enkelt, snabbt och kostnadseffektivt att bearbeta stora mängder data. Dessutom stöder EMR 19 olika projekt med öppen källkod inklusive Hadoop , Gnista och Den levereras också med hanterade EMR-anteckningsböcker för datateknik, utveckling av datavetenskap och samarbete.

  2. Rödförskjutning
    För datalager, Amazon Redshift ger möjlighet att köra komplexa, analytiska frågor mot petabyte med strukturerad data. Det inkluderar också Redshift Spectrum som kör SQL-frågor direkt mot Exabytes av strukturerad eller ostrukturerad data i S3 utan att det behövs onödig dataförflyttning.

Visualiseringar

  1. Amazon QuickSight

    För instrumentpaneler och visualiseringar erbjuder Amazon Quicksight dig snabb, molnstyrd affärsanalystjänst. Det gör det enkelt att bygga fantastiska visualiseringar och rika instrumentpaneler. Dessutom kan du komma åt dem från vilken webbläsare eller mobil enhet som helst.

Demo - Analysera data om hotade arter av växter och djur i Australien.

I den här demonstrationen kommer vi att använda provdata om hotade växt- och djurarter från Australiens stater och territorier. Här skapar vi ett EMR-kluster och konfigurerar det för att köra Apache Hive-jobb i flera steg. EMR-klustret har Apache Hive installerat i sig. Detta kluster använder EMRFS som filsystem, så att dess dataingångs- och utdataplatser mappas till en S3-hink. Klustret kommer också att använda samma S3-hink för att lagra loggfiler.

Vi kommer nu att skapa ett antal EMR-steg i klustret för att bearbeta en datauppsättning. Här kör vart och ett av dessa steg ett Hive-skript, och den slutliga utdata sparas i S3-skopan. Dessa steg genererar MapReduce-loggar och det beror på att Hive-kommandon översätts till MapReduce-jobb vid körning. Loggfilerna för varje steg sammanställs från behållarna som det skapar.

Stickprov

Exempeldatauppsättningen för detta användningsfall är offentligt tillgänglig från Australiens regerings webbplats för öppna data . Denna datamängd handlar om hotade djur- och växtarter från olika stater och territorier i Australien. En beskrivning av fälten i den här datauppsättningen och CSV-filen kan ses och laddas ner här .

Bearbetningssteg

Det första EMR-jobbsteget här innebär att du skapar en Hive-tabell som ett schema för den underliggande källfilen i S3. I det andra jobbsteget kommer vi nu att köra en framgångsrik fråga mot data. På samma sätt kör vi en tredje och fjärde fråga.

Vi kommer att upprepa dessa fyra steg några gånger på en timme och simulera successiva körningar av ett flerstegssatsjobb. I ett verkligt scenario kan tidsskillnaden mellan varje batchkörning normalt vara mycket högre. Det lilla tidsgapet mellan på varandra följande körningar är avsett att påskynda våra tester.

S3 Skopa och mappar

Innan vi skapade vårt EMR-kluster, var vi tvungna att skapa en S3-hink för att vara värd för dess filer. I vårt exempel heter vi den här skopan 'arvind1-bucket' Mapparna under denna skopa visas nedan i AWS-konsolen för S3:

  • Inmatningsmappen innehåller exempeldata

  • Skriptmappen innehåller Hive-skriptfilerna för EMR-jobbsteg

  • Utdatamappen kommer uppenbarligen att innehålla Hive-programutgången

  • EMR-klustret använder loggmappen för att spara sina loggfiler.

Hive-skript för EMR-jobbsteg

1. Detta jobbsteg kör ett Hive-skriptför att skapa en extern Hive-tabell. Den här tabellen beskriver tabellschemat för den underliggande CSV-datafilen. Manuset för detta är som följer:

SKAPA EXTERN TABELL `hotad_art` (` vetenskapligt namn` sträng, `gemensamt namn` sträng,` aktuellt vetenskapligt namn` sträng, `hotad status` sträng,` agera` sträng, `nsw` sträng,` nt` sträng, `qld` sträng, `sa` sträng,` tas` sträng, `vic` sträng,` wa` sträng, `aci` sträng,` cki` sträng, `ci` sträng,` csi` sträng, `jbt` sträng,` nfi` sträng, `hmi` sträng,` aat` sträng, `cma` sträng,` listad sprot taxonid` bigint, `aktuell sprut taxonid` bigint,` kingdom` sträng, `class` sträng,` profil` sträng, `extraherat datum` sträng, `nsl namn` sträng,` familj` sträng, `släkt` sträng,` art` sträng, `infraspecifik rang` sträng,` infraspecies` sträng, `art författare` sträng,` infraspecies författare` sträng) RADFORMAT DELIMITED FELT AVSLUTAD AV ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /

2. Detta jobbsteg kör en fråga för att beräkna de fem främsta hotade arterna i delstaten New South Wales (NSW). Namnet på Hive-frågan är endangeredSpeciesNSW.q och det visas nedan:

VÄLJ art, COUNT (nsw) AS-nummer_of_hotade_species FRÅN hotade_species WHERE (nsw = 'Yes' ELLER nsw = 'Endangered') OCH 'hotad status' = 'Endangered' GRUPP PÅ arter HAR RÄKNANDE (nsw)> 1 BESTÄLLNING PER number_of_endangered_species DESC LIMIT 5

3.Detta jobbsteg kör en fråga för att beräkna det totala antalet hotade växtarter för varje växtfamilj i Australien. Namnet på Hive-frågan ärendangeredPlantSpecies.qoch visas nedan

VÄLJ familj, COUNT (art) AS number_of_endangered_species FRÅ hotade_species2 WHERE kingdom = 'Plantae' OCH 'hotad status' = 'Hotad' GRUPP EFTER familj

4. Detta steg listar de vetenskapliga namnen på utrotade djurarter i Australiens delstat Queensland. Skriptfilen kallas extinctAnimalsQLD.q och visas nedan:

VÄLJ 'vanligt namn', 'vetenskapligt namn' FRÅN hotade_arter WHERE kingdom = 'Animalia' OCH (qld = 'Ja' ELLER qld = 'Utdöd') OCH 'hotad status' = 'Utdödd'

Loggaggregering

Här har vi också laddat upp en JSON-fil som heter logAggregation.json i skriptmappen i S3-skopan. Vi använder den här filen för att aggregera YARN-loggfilerna. Loggaggregering konfigureras i konfigurationsfilen garn-site.xml när klustret startar. Innehållet i filen logAggregation.json är som följer:

[{“Klassificering”: “garnsida”, “Egenskaper”: {“garn.log-aggregeringsaktivering”: “sann”, “garn.log-aggregering.retain-sekunder”: “-1”, “garn .nodemanager.remote-app-log-dir ”:“ s3: // arvind1-bucket / logs ”}}]

När du har skapat S3-skopan och kopierat data- och skriptfilerna till deras respektive mappar är det nu dags att skapa ett EMR-kluster. Följande ögonblicksbilder beskriver processen när vi skapar klustret med mestadels standardinställningar.

EMR-klusterinställning

I den första bilden, för att konfigurera klustret i AWS-konsolen, har vi behållit alla applikationer som rekommenderas av EMR, inklusive Hive. Vi behöver inte använda AWS-lim för att lagra Hive-metadata, och vi lägger inte heller till något jobbsteg just nu. Vi måste dock lägga till en programvaruinställning för Hive. Här måste du noga observera hur vi anger sökvägen till JSON-fil för loggaggregering i det här fältet.

omfångsupplösningsoperatör i c ++

I nästa steg har vi behållit alla standardinställningar. För vårt tests skull kommer klustret att ha en huvudnod och två kärnnoder. Varje nod här är en m3.xlarge-instans och har 10 GB rotvolym. Vi namnge klustret arvind1-kluster i nästa steg och specificera den anpassade s3-platsen för dess loggfiler.

Slutligen specificerade vi ett EC2-nyckelpar i syfte att komma åt klustrets huvudnod. Det finns ingen förändring i standard IAM-roller för EMR-, EC2-instansprofil och alternativ för automatisk skalning. Huvudnoder och kärnnoder använder som standard tillgängliga säkerhetsgrupper. Normalt är detta en standardinställning för ett EMR-kluster. När allt är klart är klustret i 'väntande' status som visas nedan:

Skicka in Hive Job Steps

Efter detta måste vi tillåta SSH-åtkomst.

  1. Öppna Amazon EMR-konsolen på https://console.aws.amazon.com/elasticmapreduce/ .
  2. Välja Kluster .
  3. Välj den namn av klustret.
  4. Under Säkerhet och åtkomst Välj den Säkerhetsgrupper för Master länk.
  5. Välja ElasticMapReduce-master från listan.
  6. Välja Inkommande , Redigera .
  7. Hitta regeln med följande inställningar och välj x ikon för att radera den:
    • Typ SSH
    • Hamn 22
    • Källa Anpassad 0.0.0.0/0
  8. Bläddra till botten av listan med regler och välj Lägg till regel .
  9. För Typ , Välj SSH Detta kommer automatiskt in TCP för Protokoll och 22 för Hamnområdet .
  10. Välj för källa Min IP .Detta lägger automatiskt till IP-adressen till din klientdator som källadress. Alternativt kan du lägga till en rad Beställnings betrodda klientens IP-adresser och välj att lägg till regeln för att skapa ytterligare regler för andra kunder. I många nätverksmiljöer tilldelar du IP-adresser dynamiskt, så du kan behöva redigera säkerhetsgruppsregler regelbundet för att uppdatera IP-adressen till betrodda klienter.
  11. Välja Spara .
  12. Valfritt kan du välja ElasticMapReduce-slave från listan och upprepa stegen ovan för att tillåta SSH-klientåtkomst till kärn- och aktivitetsnoder från betrodda klienter.

Eftersom EMR-klustret är igång har vi lagt till fyra jobbsteg. Det här är stegen som EMR skulle köra efter varandra. Följande bild visar stegen från AWS EMR-konsolen:

När vi har lagt till de fyra stegen kan vi kontrollera statusen för dessa steg som slutförda. Även om det finns några problem med genomförandet av dessa steg kan det i sådana fall lösas med hjälp av loggfilerna i dessa steg.

Så detta är det från min sida i den här artikeln om Big Data i AWS. Jag hoppas att du har förstått allt jag har förklarat här.

Om du tyckte att denna Big Data i AWS var relevant kan du kolla in Edurekas live- och instruktörsledda kurs , skapades av branschutövare.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i detta Så här distribuerar du Java-webbapplikationen i AWS så återkommer vi till dig.