Casa Finanza personale Hadoop Integrazione con R - dummies

Hadoop Integrazione con R - dummies

Sommario:

Video: Introduzione al corso Big Data streaming analytics 2025

Video: Introduzione al corso Big Data streaming analytics 2025
Anonim

All'inizio, i big data e R non erano amici naturali. La programmazione R richiede che tutti gli oggetti vengano caricati nella memoria principale di una singola macchina. I limiti di questa architettura si realizzano rapidamente quando i big data diventano parte dell'equazione.

Al contrario, i file system distribuiti come Hadoop mancano di solide tecniche statistiche ma sono ideali per ridimensionare operazioni e attività complesse. Le soluzioni di ridimensionamento verticale - che richiedono investimenti in costosi hardware di supercalcolo - spesso non possono competere con il ritorno del valore di costo offerto da cluster hardware distribuiti e di commodity.

Per conformarsi alle limitazioni in-memory, single-machine del linguaggio R, gli scienziati dei dati spesso dovevano limitare l'analisi solo a un sottoinsieme dei dati di esempio disponibili. Prima di approfondire l'integrazione con Hadoop, i programmatori di linguaggio R hanno offerto una strategia di scalabilità per superare le sfide in memoria poste da insiemi di dati di grandi dimensioni su singole macchine.

Ciò è stato ottenuto utilizzando sistemi di trasmissione di messaggi e paging. Questa tecnica è in grado di facilitare il lavoro su set di dati troppo grandi per essere archiviati nella memoria principale contemporaneamente; tuttavia, il suo approccio di programmazione di basso livello presenta una curva di apprendimento ripida per coloro che non hanno familiarità con i paradigmi di programmazione parallela.

Gli approcci alternativi cercano di integrare le capacità statistiche di R con i cluster distribuiti di Hadoop in due modi: interfaccia con i linguaggi di query SQL e integrazione con Hadoop Streaming. Con il primo, l'obiettivo è sfruttare le piattaforme di data warehousing SQL esistenti come Hive e Pig. Questi schemi semplificano la programmazione del lavoro Hadoop utilizzando istruzioni in stile SQL per fornire una programmazione di alto livello per la conduzione di lavori statistici su dati Hadoop.

Per i programmatori che desiderano programmare i lavori MapReduce in lingue (inclusa la R) diversa da Java, una seconda opzione consiste nell'utilizzare l'API di streaming di Hadoop. I lavori MapReduce inviati dall'utente subiscono trasformazioni di dati con l'ausilio di flussi e serializzazioni standard UNIX, garantendo l'input conforme a Java per Hadoop, indipendentemente dalla lingua originariamente immessa dal programmatore.

Gli sviluppatori continuano a esplorare varie strategie per sfruttare la capacità di calcolo distribuita di MapReduce e la capacità di archiviazione quasi illimitata di HDFS in modi che possono essere sfruttati da R.

L'integrazione di Hadoop con R è in corso, con offerte disponibili da IBM (Big R come parte di BigInsights) e Revolution Analytics (Revolution R Enterprise). Sono inoltre disponibili bridging di soluzioni che integrano la programmazione di alto livello e l'interrogazione dei linguaggi con Hadoop, come RHive e RHadoop.

Fondamentalmente, ogni sistema mira a fornire le capacità analitiche profonde del linguaggio R a gruppi di dati molto più grandi.

RHive

L'infrastruttura RHive funge da ponte tra il linguaggio R e Hive. RHive fornisce le ricche librerie e algoritmi statistici di R ai dati archiviati in Hadoop estendendo il linguaggio di query SQL-like di Hive (HiveQL) con funzioni specifiche di R. Attraverso le funzioni RHive, è possibile utilizzare HiveQL per applicare i modelli statistici R ai dati nel cluster Hadoop che sono stati catalogati utilizzando Hive.

RHadoop

Un altro framework open source disponibile per i programmatori R è RHadoop, una raccolta di pacchetti pensati per aiutare a gestire la distribuzione e l'analisi dei dati con Hadoop. Tre pacchetti di note - rmr2, rhdfs e rhbase - forniscono la maggior parte delle funzionalità di RHadoop:

  • rmr2: Il pacchetto rmr2 supporta la traduzione del linguaggio R in lavori MapReduce conformi a Hadoop (producendo codice MapReduce efficiente e di basso livello dal codice R di livello superiore).

  • rhdf: Il pacchetto rhdfs fornisce un'API del linguaggio R per la gestione dei file sugli archivi HDFS. Usando i rhdf, gli utenti possono leggere dagli archivi HDFS a un frame di dati R (matrice), e allo stesso modo scrivere i dati da queste matrici R nello storage HDFS.

  • rhbase: i pacchetti rhbase forniscono anche un'API del linguaggio R, ma il loro obiettivo nella vita è gestire la gestione del database per gli archivi HBase, piuttosto che i file HDFS.

Revolution R

Revolution R (di Revolution Analytics) è un'offerta R commerciale con supporto per l'integrazione R su sistemi distribuiti Hadoop. Revolution R promette di offrire prestazioni, funzionalità e usabilità migliorate per R su Hadoop. Per fornire analisi approfondite simili a R, Revolution R utilizza la libreria ScaleR dell'azienda: una raccolta di algoritmi di analisi statistica sviluppati appositamente per le raccolte di dati di grandi dimensioni su scala aziendale.

ScaleR mira a fornire una rapida esecuzione del codice del programma R su cluster Hadoop, consentendo allo sviluppatore R di concentrarsi esclusivamente sui propri algoritmi statistici e non su MapReduce. Inoltre, gestisce numerosi compiti di analisi, come preparazione dei dati, visualizzazione e test statistici.

IBM BigInsights Big R

Big R offre integrazione end-to-end tra R e l'offerta Hadoop di IBM, BigInsights, consentendo agli sviluppatori R di analizzare i dati Hadoop. L'obiettivo è quello di sfruttare i paradigmi di programmazione e codifica della programmazione di R, garantendo al tempo stesso che i dati operati rimangano in HDFS. I tipi di dati R fungono da proxy verso questi archivi dati, il che significa che gli sviluppatori R non hanno bisogno di pensare a costrutti MapReduce di basso livello oa qualsiasi linguaggio di scripting specifico di Hadoop (come Pig).

La tecnologia BigInsights Big R supporta più origini dati, inclusi file flat, HBase e formati di archiviazione Hive, fornendo al contempo l'esecuzione parallela e partizionata del codice R attraverso il cluster Hadoop. Nasconde molte delle complessità nei framework HDFS e MapReduce sottostanti, consentendo alle funzioni Big R di eseguire analisi complete dei dati, sia su dati strutturati che non strutturati.

Infine, la scalabilità del motore statistico di Big R consente agli sviluppatori R di utilizzare sia tecniche statistiche predefinite, sia di creare autonomamente nuovi algoritmi.

Hadoop Integrazione con R - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...