Big Data in AWS: soluzione intelligente per Big Data



Questo articolo ti aiuta a capire come AWS gestisce in modo intelligente i Big Data. Mostra anche come AWS può risolvere facilmente le sfide dei Big Data.

L'idea di Big Data semplicemente non è nuova, è ovunque. L'effetto dei Big Data è ovunque, dal business alla scienza, dal governo alle arti e così via. Non c'è compagno migliore di elaborare e analizzare i Big Data. In questo articolo, mostrerò come AWS affronta le sfide dei Big Data e i suggerimenti che tratterò sono i seguenti:

Cosa sono i Big Data?

caratteristiche dei big data





Puoi considerare i Big data come risorse di informazioni ad alto volume, ad alta velocità e / o ad alta varietà che richiedono forme di elaborazione delle informazioni convenienti e innovative che consentono una migliore comprensione, processo decisionale e automazione dei processi.

I Big Data comprendono 5 importanti V che definiscono le caratteristiche dei Big Data. Parliamo di questi prima di passare ad AWS.



Cos'è AWS?

comprende molti prodotti e servizi di cloud computing diversi. La redditizia divisione Amazon fornisce server, archiviazione, rete, elaborazione remota, posta elettronica, sviluppo mobile e sicurezza. Inoltre. AWS è costituito da due prodotti principali: EC2, il servizio di macchina virtuale di Amazon, e S3, un sistema di archiviazione di Amazon. È così grande e presente nel mondo dei computer che ora è almeno 10 volte più grande del suo concorrente più vicino e ospita siti Web popolari come Netflix e Instagram.

.

AWS è suddiviso in 12 regioni globali in tutto il mondo, ognuna delle quali ha più zone di disponibilità in cui si trovano i suoi server.Queste regioni servite sono suddivise per consentire agli utenti di impostare limiti geografici sui loro servizi, ma anche per fornire sicurezza diversificando le posizioni fisiche in cui sono conservati i dati.



Perché i Big Data in AWS?

Scienziati, sviluppatori e altri appassionati di tecnologia provenienti da molti domini diversi stanno sfruttando AWS per eseguire analisi dei big data e affrontare le sfide critiche della crescente V delle informazioni digitali. AWS ti offre un portafoglio di servizi di cloud computing per aiutarti a gestire i big data riducendo significativamente i costi, scalando per soddisfare la domanda e aumentando la velocità dell'innovazione.

iniziare con Visual Studio

Amazon Web Services fornisce un file portafoglio completamente integrato dei servizi di cloud computing. Inoltre, ti aiuta a creare, proteggere e distribuire le tue applicazioni Big Data. Inoltre, con AWS, non hai bisogno di hardware da acquistare e infrastruttura da mantenere e scalare. Per questo motivo, puoi concentrare le tue risorse sulla scoperta di nuove intuizioni.Poiché vengono aggiunte costantemente nuove funzionalità, sarai sempre in grado di sfruttare le tecnologie più recenti senza dover assumere impegni di investimento a lungo termine.

In che modo AWS può risolvere le sfide dei Big Data?

Soluzioni AWS per Big Data

AWS offre numerose soluzioni per tutti gli scopi di sviluppo e distribuzione. Inoltre, nel campo della scienza dei dati e dei Big Data, AWS ha sviluppato recenti sviluppi in diversi aspetti della gestione dei Big Data. Prima di passare agli strumenti, comprendiamo i diversi aspetti dei Big Data per i quali AWS può fornire soluzioni.

  1. Ingestione dei dati
    La raccolta dei dati grezzi (transazioni, registri, dispositivi mobili e altro) è la prima sfida che molte organizzazioni devono affrontare quando si occupano di big data. Una buona piattaforma per big data semplifica questo passaggio, consentendo agli sviluppatori di inserire un'ampia varietà di dati, da quelli strutturati a quelli non strutturati, a qualsiasi velocità, dal tempo reale al batch.

  2. Conservazione dei dati
    Qualsiasi piattaforma per Big Data necessita di un repository sicuro, scalabile e durevole per archiviare i dati prima o anche dopo le attività di elaborazione. A seconda delle tue esigenze specifiche, potresti anche aver bisogno di archivi temporanei per i dati in transito.

  3. Elaborazione dati
    Questo è il passaggio in cui avviene la trasformazione dei dati dal loro stato grezzo in un formato consumabile, solitamente mediante ordinamento, aggregazione, unione e persino esecuzione di funzioni e algoritmi più avanzati. I set di dati risultanti vengono archiviati per ulteriori elaborazioni o resi disponibili per il consumo tramite strumenti di business intelligence e visualizzazione dei dati.

  4. Visualizzazione

    I big data si basano sull'ottenere informazioni strategiche di alto valore dalle risorse di dati. Idealmente, i dati sono disponibili per le parti interessate tramite business intelligence self-service e strumenti di visualizzazione dei dati agili che consentono un'esplorazione rapida e semplice dei set di dati.

Strumenti AWS per Big Data

Nelle sezioni precedenti, abbiamo esaminato i campi in Big Data in cui AWS può fornire soluzioni. Inoltre, AWS dispone di più strumenti e servizi nel suo arsenale per abilitare i clienti con le funzionalità dei Big Data.

Esaminiamo le varie soluzioni fornite da AWS per la gestione delle diverse fasi coinvolte nella gestione dei Big Data

Ingestione

  1. Kinesis

    Amazon Kinesis Firehose è un servizio completamente gestito per la distribuzione di dati in streaming in tempo reale direttamente su Amazon S3. Kinesis Firehose si ridimensiona automaticamente per adattarsi al volume e alla velocità effettiva dei dati in streaming e non richiede un'amministrazione continua. Puoi configurare Kinesis Firehose per trasformare i dati di streaming prima di archiviarli in Amazon S3.

  2. Palla di neve
    Puoi usare AWS Snowball per migrare in modo sicuro ed efficiente i dati in blocco dalle piattaforme di storage locali e dai cluster Hadoop ai bucket S3. Dopo aver creato un lavoro nella Console di gestione AWS, ottieni automaticamente un'appliance Snowball. Dopo l'arrivo di Snowball, collegalo alla rete locale, installa il client Snowball sulla tua origine dati locale, quindi utilizza il client Snowball per selezionare e trasferire le directory dei file sul dispositivo Snowball.

Conservazione

  1. Amazon S3

Amazon S3 è uno storage di oggetti sicuro, altamente scalabile e durevole con una latenza di millisecondi per l'accesso ai dati. S3 può archiviare qualsiasi tipo di dati da qualsiasi luogo: siti Web e app mobili, applicazioni aziendali e dati da sensori o dispositivi IoT. Può anche archiviare e recuperare qualsiasi quantità di dati, con una disponibilità impareggiabile e costruito da zero per fornire il 99,999999999% (11 nove) di durata.

2. Colla AWS

Glue è un servizio completamente gestito che fornisce un catalogo di dati per rendere rilevabili i dati nel data lake. Inoltre, ha la capacità di estrarre, trasformare e caricare (ETL) per preparare i dati per l'analisi. Inoltre, il catalogo dati integrato è come un archivio di metadati persistente per tutte le risorse di dati, rendendo tutti i dati ricercabili e interrogabili in un'unica visualizzazione.

in lavorazione

  1. EMR
    Per l'elaborazione di big data utilizzando Spark e Hadoop, Amazon EMR fornisce un servizio gestito che rende facile, veloce e conveniente elaborare grandi quantità di dati. Inoltre, EMR supporta 19 diversi progetti open source tra cui Hadoop , Scintilla , e Inoltre viene fornito con notebook EMR gestiti per l'ingegneria dei dati, lo sviluppo della scienza dei dati e la collaborazione.

  2. Redshift
    Per il data warehousing, Amazon Redshift offre la possibilità di eseguire query analitiche complesse su petabyte di dati strutturati. Inoltre, include Spettro Redshift che esegue query SQL direttamente su Exabyte di dati strutturati o non strutturati in S3 senza la necessità di spostamenti non necessari dei dati.

Visualizzazioni

  1. Amazon QuickSight

    Per dashboard e visualizzazioni, Amazon Quicksight offre un servizio di analisi aziendale veloce e basato sul cloud. Semplifica la creazione di visualizzazioni straordinarie e dashboard ricchi. Inoltre, puoi accedervi da qualsiasi browser o dispositivo mobile.

Demo - Analisi dei dati delle specie di piante e animali minacciate di estinzione in Australia.

In questa demo, utilizzeremo dati campione di specie animali e vegetali in via di estinzione provenienti dagli stati e dai territori dell'Australia. Qui creeremo un cluster EMR e lo configureremo per eseguire processi Apache Hive in più passaggi. Il cluster EMR avrà Apache Hive installato al suo interno. Questo cluster utilizzerà EMRFS come file system, in modo che i suoi percorsi di input e output dei dati vengano mappati a un bucket S3. Il cluster utilizzerà anche lo stesso bucket S3 per l'archiviazione dei file di registro.

Creeremo ora una serie di passaggi EMR nel cluster per elaborare un insieme di dati campione. Qui ognuno di questi passaggi eseguirà uno script Hive e l'output finale verrà salvato nel bucket S3. Questi passaggi genereranno i log di MapReduce e questo perché i comandi Hive vengono tradotti in processi MapReduce in fase di esecuzione. I file di registro per ogni passaggio vengono aggregati dai contenitori che genera.

Dati di esempio

Il set di dati di esempio per questo caso d'uso è disponibile pubblicamente dal Sito web sui dati aperti del governo australiano . Questo set di dati riguarda specie animali e vegetali minacciate da diversi stati e territori in Australia. È possibile visualizzare e scaricare una descrizione dei campi di questo set di dati e del file CSV Qui .

Fasi di elaborazione

Il primo passaggio del processo EMR qui prevede la creazione di una tabella Hive come schema per il file di origine sottostante in S3. Nella seconda fase del lavoro, eseguiremo ora una query corretta sui dati. Allo stesso modo, eseguiremo quindi una terza e una quarta query.

Ripeteremo questi quattro passaggi alcune volte in un'ora, simulando le esecuzioni successive di un lavoro batch a più passaggi. Tuttavia, in uno scenario di vita reale, la differenza di tempo tra ogni esecuzione batch normalmente potrebbe essere molto più alta. Il piccolo intervallo di tempo tra le esecuzioni successive ha lo scopo di accelerare i nostri test.

Benna e cartelle S3

Prima di creare il nostro cluster EMR, qui dovevamo creare un bucket S3 per ospitare i suoi file. Nel nostro esempio, chiamiamo questo bucket 'arvind1-bucket'. Le cartelle in questo bucket sono mostrate di seguito nella Console AWS per S3:

cos'è un carattere in java

  • La cartella di input contiene i dati di esempio

  • La cartella degli script contiene i file di script Hive per le fasi del processo EMR

  • La cartella di output conterrà ovviamente l'output del programma Hive

  • Il cluster EMR utilizza la cartella dei registri per salvare i propri file di registro.

Script Hive per fasi di lavoro EMR

1. Questa fase di lavoro esegue uno script Hiveper creare una tabella Hive esterna. Questa tabella descrive lo schema tabulare del file di dati CSV sottostante. Lo script per questo è il seguente:

CREA TABELLA ESTERNA `specie_minacciata` (stringa` nome scientifico`, stringa `nome comune`, stringa` nome scientifico corrente`, stringa `stato minacciato`, stringa` act`, stringa `nsw`, stringa` nt`, `qld` stringa, stringa `sa`, stringa` tas`, stringa `vic`, stringa` wa`, stringa `aci`, stringa` cki`, stringa `ci`, stringa` csi`, stringa `jbt`,` nfi` stringa, `hmi` stringa,` aat` stringa, `cma` stringa,` tassonid dello spratto elencato` bigint, `tassonid dello spratto corrente` bigint, stringa` kingdom`, stringa `class`, stringa` profile`, `data estratta` stringa, `nsl name` string,` family` string, `genus` string,` species` string, `infraspecific rank` string,` infraspecies` string, `species author` string,` infraspecies author` string) FORMATO RIGA CAMPI DELIMITATI TERMINATO DA ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3: // arvind1-bucket / script /'

2. Questa fase di lavoro esegue una query per calcolare le prime cinque specie a rischio di estinzione nello stato del New South Wales (NSW). Il nome del file di query di Hive è specie minacciate di estinzione NSW.q ed è mostrato di seguito:

SELEZIONA specie, COUNT (nsw) AS number_of_endangered_species FROM threatened_species WHERE (nsw = 'Yes' OR nsw = 'Endangered') AND 'threatened status' = 'Endangered' GROUP BY specie HAVING COUNT (nsw)> 1 ORDER BY number_of_endangered_species DESC LIMIT 5

3.Questa fase del lavoro esegue una query per calcolare il numero totale di specie di piante a rischio di estinzione per ciascuna famiglia di piante in Australia. Il nome del file di query di Hive èendangeredPlantSpecies.qed è mostrato di seguito

SELEZIONA famiglia, COUNT (specie) AS number_of_endangered_species FROM threatened_species2 WHERE kingdom = 'Plantae' AND 'threatened status' = 'Endangered' GROUP BY family

4. Questo passaggio elenca i nomi scientifici delle specie animali estinte nello stato australiano del Queensland. Il file di script viene chiamato extinctAnimalsQLD.q ed è mostrato di seguito:

SELEZIONA 'nome comune', 'nome scientifico' DA specie_minacciate DOVE regno = 'Animalia' E (qld = 'Sì' O qld = 'Estinto') E 'stato minacciato' = 'Estinto'

Log Aggregation

Qui abbiamo anche caricato un file JSON chiamato logAggregation.json nella cartella degli script del bucket S3. Utilizziamo questo file per aggregare i file di registro YARN. L'aggregazione dei registri viene configurata nel file di configurazione filato-site.xml all'avvio del cluster. I contenuti del file logAggregation.json sono i seguenti:

[{'Classificazione': 'filato-sito', 'Proprietà': {'filato.log-aggregazione-abilita': 'true', 'filato.log-aggregation.retain-secondi': '-1', 'filato .nodemanager.remote-app-log-dir ':' s3: // arvind1-bucket / logs '}}]

Dopo aver creato il bucket S3 e copiato i file di dati e di script nelle rispettive cartelle, è ora il momento di configurare un cluster EMR. Le seguenti istantanee descrivono il processo durante la creazione del cluster con le impostazioni per lo più predefinite.

Configurazione del cluster EMR

Nella prima immagine, per configurare il cluster nella console AWS, abbiamo mantenuto tutte le applicazioni consigliate da EMR, compreso Hive. Non è necessario utilizzare AWS Glue per archiviare i metadati di Hive, né stiamo aggiungendo alcuna fase di lavoro in questo momento. Tuttavia, è necessario aggiungere un'impostazione software per Hive. Qui devi osservare attentamente come stiamo specificando il percorso del file JSON di aggregazione dei log in questo campo.

Nel passaggio successivo, abbiamo mantenuto tutte le impostazioni predefinite. Per il bene del nostro test, il cluster avrà un nodo master e due nodi core. Ogni nodo qui è un'istanza m3.xlarge e ha un volume di root di 10 GB. Stiamo denominando il cluster arvind1-cluster nel passaggio successivo e specificando la posizione s3 personalizzata per i suoi file di registro.

Infine, abbiamo specificato una coppia di chiavi EC2 allo scopo di accedere al nodo master del cluster. Non sono state apportate modifiche ai ruoli IAM predefiniti per EMR, profilo istanza EC2 e opzioni di scalabilità automatica. Inoltre, i nodi master e core utilizzano per impostazione predefinita i gruppi di sicurezza disponibili. Normalmente, questa è una configurazione predefinita per un cluster EMR. Una volta che tutto è pronto, il cluster si trova in uno stato di 'attesa' come mostrato di seguito:

Invia passaggi di lavoro Hive

Dopodiché, dobbiamo consentire l'accesso SSH.

  1. Apri la console Amazon EMR su https://console.aws.amazon.com/elasticmapreduce/ .
  2. Scegliere Cluster .
  3. Scegli il Nome del cluster.
  4. Sotto Sicurezza e accesso scegli il Gruppi di sicurezza per Master collegamento.
  5. Scegliere ElasticMapReduce-master dall'elenco.
  6. Scegliere In entrata , modificare .
  7. Trova la regola con le seguenti impostazioni e scegli il file X icona per eliminarlo:
    • genere SSH
    • Porta 22
    • fonte Personalizzato 0.0.0.0/0
  8. Scorri fino in fondo all'elenco delle regole e scegli Aggiungi regola .
  9. Per genere , Selezionare SSH .Questo entra automaticamente TCP per Protocollo e 22 per Port Range .
  10. Per la fonte, seleziona Il mio IP Questo aggiunge automaticamente l'indirizzo IP del computer client come indirizzo di origine. In alternativa, puoi aggiungere un intervallo di Personalizzato indirizzi IP di client affidabili e scegliere di aggiungi la regola per creare regole aggiuntive per altri client. In molti ambienti di rete, gli indirizzi IP vengono allocati in modo dinamico, quindi potrebbe essere necessario modificare periodicamente le regole del gruppo di sicurezza per aggiornare l'indirizzo IP dei client affidabili.
  11. Scegliere Salva .
  12. Facoltativamente, scegli ElasticMapReduce-slave dall'elenco e ripetere i passaggi precedenti per consentire al client SSH di accedere ai nodi core e ai nodi di attività da client attendibili.

Poiché il cluster EMR è attivo e in esecuzione, abbiamo aggiunto quattro fasi di lavoro. Questi sono i passaggi che EMR eseguirà uno dopo l'altro. L'immagine seguente mostra i passaggi dalla console AWS EMR:

come convertire un double in un java int

Dopo aver aggiunto i quattro passaggi, possiamo verificare lo stato di questi passaggi come completati. Anche se c'è qualche problema con l'esecuzione di questi passaggi, in questi casi può essere risolto utilizzando i file di registro di questi passaggi.

Quindi questo è da parte mia in questo articolo sui Big Data in AWS. Spero che tu abbia capito tutto quello che ho spiegato qui.

Se hai trovato rilevanti questi Big Data in AWS, puoi dare un'occhiata al corso dal vivo e con istruttore di Edureka su , co-creato da professionisti del settore.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo How to Deploy Java Web Application in AWS e ti risponderemo.