7 strumenti per domare i big data con Hadoop

Le inondazioni che hanno devastato l'industria degli hard disk in Thailandia sono ormai vecchie di sei mesi ei prezzi per terabyte stanno finalmente scendendo di nuovo. Ciò significa che i dati inizieranno ad accumularsi e le persone in ufficio si chiederanno cosa si può fare con essi. Forse ci sono alcuni approfondimenti in quei file di registro? Forse un po 'di analisi statistica troverà alcune pepite d'oro sepolte in tutto quel rumore? Forse riusciamo a trovare abbastanza spiccioli sepolti nei cuscini del divano di queste cartelle per darci un aumento?

L'industria ora ha una parola d'ordine, "big data", per come faremo qualcosa con l'enorme quantità di informazioni che si accumulano. "Big data" sta sostituendo "business intelligence", che ha riassunto "reporting", che ha messo una patina più bella sui "fogli di calcolo", che hanno battuto le "stampe" vecchio stile. I manager che molto tempo fa hanno studiato le stampe ora stanno assumendo matematici che affermano di essere specialisti dei big data per aiutarli a risolvere lo stesso vecchio problema: cosa vende e perché?

[Anche su: Enterprise Hadoop: elaborazione dei Big Data resa più semplice | Esplora le tendenze e le soluzioni attuali in BI con la Business Intelligence iGuide interattiva. | Scopri le novità nelle applicazioni aziendali con la newsletter di Technology: Applications. ]

Non è giusto suggerire che queste parole d'ordine siano semplici sostituzioni l'una dell'altra. I big data sono un mondo più complicato perché la scala è molto più ampia. Le informazioni sono solitamente distribuite su più server e il lavoro di compilazione dei dati deve essere coordinato tra di loro. In passato, il lavoro era in gran parte delegato al software del database, che utilizzava il suo magico meccanismo JOIN per compilare tabelle, quindi sommava le colonne prima di passare il rettangolo di dati al software di reporting che lo impaginava. Questo era spesso più difficile di quanto sembri. I programmatori di database possono raccontarti storie di complicati comandi JOIN che avrebbero bloccato il loro database per ore mentre cercava di produrre un rapporto per il capo che voleva le sue colonne proprio così.

Il gioco è molto diverso ora. Hadoop è uno strumento popolare per organizzare i rack e i rack dei server e i database NoSQL sono strumenti popolari per l'archiviazione dei dati su questi rack. Questi meccanismi possono essere molto più potenti della vecchia macchina singola, ma sono lungi dall'essere raffinati come i vecchi server di database. Sebbene SQL possa essere complicato, scrivere la query JOIN per i database SQL era spesso molto più semplice che raccogliere informazioni da dozzine di macchine e compilarle in una risposta coerente. I lavori Hadoop sono scritti in Java e ciò richiede un altro livello di sofisticazione. Gli strumenti per affrontare i big data stanno appena iniziando a confezionare questa potenza di elaborazione distribuita in un modo un po 'più facile da usare.

Molti degli strumenti per big data funzionano anche con archivi dati NoSQL. Questi sono più flessibili dei database relazionali tradizionali, ma la flessibilità non si discosta dal passato quanto Hadoop. Le query NoSQL possono essere più semplici perché il design del database scoraggia la complicata struttura tabulare che guida la complessità del lavoro con SQL. La preoccupazione principale è che il software deve prevedere la possibilità che non tutte le righe dispongano di dati per ogni colonna.

La sfida più grande potrebbe essere affrontare le aspettative costruite dal film principale "Moneyball". Tutti i boss l'hanno visto e hanno assorbito il messaggio che alcune statistiche intelligenti possono trasformare una squadra con un budget limitato in un vincitore della World Series. Non importa che gli Oakland Athletics non abbiano mai vinto le World Series durante l'era del "Moneyball". Questa è la magia della prosa di Michael Lewis. Tutti i boss pensano: "Forse se riesco a ottenere delle buone statistiche, Hollywood assumerà Brad Pitt per interpretare me nella versione cinematografica".

Nessuno dei software di questa raccolta si avvicinerà ad attirare Brad Pitt a chiedere al suo agente una copia della sceneggiatura per la versione cinematografica del tuo lavoro Hadoop. Deve venire da te o dagli altri umani che lavorano al progetto. Capire i dati e trovare la domanda giusta da porre è spesso molto più complicato che far eseguire rapidamente il tuo lavoro Hadoop. Questo sta davvero dicendo qualcosa perché questi strumenti sono solo metà del lavoro.

Per ottenere un controllo per la promessa del campo, ho scaricato alcuni strumenti per big data, mescolati nei dati, quindi ho fissato le risposte per una visione di livello Einstein. Le informazioni provenivano dai file di registro al sito Web che vende alcuni dei miei libri (wayner.org) e stavo cercando un'idea di cosa vendesse e perché. Quindi ho decompresso il software e ho posto le domande.

 

Strumenti per big data: Jaspersoft BI Suite

Il pacchetto Jaspersoft è uno dei leader open source per la produzione di report dalle colonne del database. Il software è ben rifinito e già installato in molte aziende trasformando le tabelle SQL in PDF che tutti possono esaminare durante le riunioni.

L'azienda sta saltando sul treno dei big data e questo significa aggiungere un livello software per connettere il proprio software di generazione di report ai luoghi in cui vengono archiviati i big data. JasperReports Server ora offre software per aspirare dati da molte delle principali piattaforme di archiviazione, tra cui MongoDB, Cassandra, Redis, Riak, CouchDB e Neo4j. Hadoop è anche ben rappresentato, con JasperReports che fornisce un connettore Hive per raggiungere l'interno di HBase.

Questo sforzo sembra che stia ancora iniziando: molte pagine del wiki della documentazione sono vuote e gli strumenti non sono completamente integrati. Il visual query designer, ad esempio, non funziona ancora con il CQL di Cassandra. Puoi digitare queste query a mano.

Una volta ottenuti i dati da queste fonti, il server di Jaspersoft li ridurrà a tabelle e grafici interattivi. I report possono essere strumenti interattivi piuttosto sofisticati che consentono di eseguire il drill down in vari angoli. Puoi chiedere sempre maggiori dettagli se ne hai bisogno.

Questo è un angolo ben sviluppato del mondo del software e Jaspersoft si sta espandendo rendendo più semplice l'utilizzo di questi report sofisticati con le nuove fonti di dati. Jaspersoft non offre modi particolarmente nuovi per esaminare i dati, ma solo modi più sofisticati per accedere ai dati archiviati in nuove posizioni. L'ho trovato sorprendentemente utile. L'aggregazione dei miei dati è stata sufficiente per dare un senso di base a chi stava visitando il sito Web e quando ci stavano andando.

 

Strumenti per big data: Pentaho Business Analytics

Pentaho è un'altra piattaforma software nata come motore di generazione di report; , come JasperSoft, si ramifica nei big data rendendo più facile assorbire le informazioni dalle nuove fonti. Puoi collegare lo strumento di Pentaho a molti dei database NoSQL più popolari come MongoDB e Cassandra. Una volta collegati i database, è possibile trascinare e rilasciare le colonne nelle visualizzazioni e nei report come se le informazioni provenissero da database SQL.

Ho trovato le classiche tabelle di ordinamento e vagliatura estremamente utili per capire chi stava trascorrendo la maggior parte del tempo sul mio sito web. Semplicemente l'ordinamento per indirizzo IP nei file di registro ha rivelato cosa stavano facendo gli utenti pesanti.

Pentaho fornisce anche un software per disegnare dati di file HDFS e dati HBase da cluster Hadoop. Uno degli strumenti più interessanti è l'interfaccia di programmazione grafica nota come Kettle o Pentaho Data Integration. Ha un sacco di moduli integrati che puoi trascinare e rilasciare su un'immagine, quindi collegarli. Pentaho ha completamente integrato Hadoop e le altre fonti in questo, quindi puoi scrivere il tuo codice e inviarlo per l'esecuzione sul cluster.

 

Strumenti per big data: Karmasphere Studio e Analyst

Molti degli strumenti per i big data non sono nati come strumenti di reporting. Karmasphere Studio, ad esempio, è un set di plug-in costruito su Eclipse. È un IDE specializzato che semplifica la creazione e l'esecuzione di lavori Hadoop.

Ho provato una rara sensazione di gioia quando ho iniziato a configurare un lavoro Hadoop con questo strumento di sviluppo. Ci sono una serie di fasi nella vita di un lavoro Hadoop e gli strumenti di Karmasphere ti guidano attraverso ogni passaggio, mostrando i risultati parziali lungo il percorso. Immagino che i debugger ci abbiano sempre reso possibile esaminare il meccanismo mentre fa il suo lavoro, ma Karmasphere Studio fa qualcosa di un po 'meglio: mentre imposti il ​​flusso di lavoro, gli strumenti visualizzano lo stato dei dati di test ad ogni passaggio. Puoi vedere come appariranno i dati temporanei quando vengono tagliati, analizzati e quindi ridotti.

Karmasphere distribuisce anche uno strumento chiamato Karmasphere Analyst, progettato per semplificare il processo di analisi di tutti i dati in un cluster Hadoop. Viene fornito con molti elementi costitutivi utili per programmare un buon lavoro Hadoop, come le subroutine per la decompressione dei file di registro compressi. Quindi li mette insieme e parametrizza le chiamate Hive per produrre una tabella di output da esaminare.

 

Strumenti per big data: Talend Open Studio

Talend offre anche un IDE basato su Eclipse per mettere insieme i lavori di elaborazione dati con Hadoop. I suoi strumenti sono progettati per aiutare con l'integrazione dei dati, la qualità dei dati e la gestione dei dati, il tutto con subroutine ottimizzate per questi lavori.

Talend Studio ti consente di costruire i tuoi lavori trascinando e rilasciando piccole icone su una tela. Se si desidera ottenere un feed RSS, il componente di Talend recupererà l'RSS e aggiungerà il proxy se necessario. Ci sono dozzine di componenti per la raccolta di informazioni e altre dozzine per fare cose come una "corrispondenza sfocata". Quindi puoi produrre i risultati.

Mettere insieme i blocchi visivamente può essere semplice dopo aver avuto un'idea di ciò che i componenti fanno e non fanno. Questo è stato più facile per me capire quando ho iniziato a guardare il codice sorgente assemblato dietro la tela. Talend te lo fa vedere e penso che sia un compromesso ideale. La programmazione visiva può sembrare un obiettivo elevato, ma ho scoperto che le icone non possono mai rappresentare i meccanismi con abbastanza dettagli da rendere possibile capire cosa sta succedendo. Ho bisogno del codice sorgente.

Talend mantiene anche TalendForge, una raccolta di estensioni open source che semplificano il lavoro con i prodotti dell'azienda. La maggior parte degli strumenti sembra essere filtri o librerie che collegano il software di Talend ad altri prodotti importanti come Salesforce.com e SugarCRM. Puoi assorbire le informazioni da questi sistemi nei tuoi progetti, semplificando l'integrazione.

 

Strumenti per big data: Skytree Server

Non tutti gli strumenti sono progettati per semplificare la combinazione di codice con meccanismi visivi. Skytree offre un pacchetto che esegue molti degli algoritmi di apprendimento automatico più sofisticati. Tutto ciò che serve è digitare il comando giusto in una riga di comando.

Skytree è più concentrato sul coraggio che sulla brillante GUI. Skytree Server è ottimizzato per eseguire una serie di classici algoritmi di apprendimento automatico sui tuoi dati utilizzando un'implementazione che secondo l'azienda può essere 10.000 volte più veloce di altri pacchetti. Può cercare tra i dati alla ricerca di gruppi di elementi matematicamente simili, quindi invertirli per identificare valori anomali che potrebbero essere problemi, opportunità o entrambi. Gli algoritmi possono essere più precisi degli umani e possono cercare tra grandi quantità di dati alla ricerca di voci un po 'fuori dal comune. Potrebbe trattarsi di una frode o di un cliente particolarmente buono che spende e spende.

La versione gratuita del software offre gli stessi algoritmi della versione proprietaria, ma è limitata a set di dati di 100.000 righe. Questo dovrebbe essere sufficiente per stabilire se il software è un buon abbinamento.

 

Strumenti per big data: Tableau Desktop e Server

Tableau Desktop è uno strumento di visualizzazione che semplifica la visualizzazione dei dati in modi nuovi, quindi suddividerli e guardarli in un modo diverso. Puoi persino mescolare i dati con altri dati ed esaminarli sotto un'altra luce. Lo strumento è ottimizzato per darti tutte le colonne per i dati e consentirti di combinarle prima di inserirle in una delle dozzine di modelli grafici forniti.

Tableau Software ha iniziato ad adottare Hadoop diverse versioni fa e ora puoi trattare Hadoop "proprio come faresti con qualsiasi connessione dati". Tableau si affida a Hive per strutturare le query, quindi fa del suo meglio per memorizzare nella cache quante più informazioni in memoria per consentire allo strumento di essere interattivo. Sebbene molti degli altri strumenti di reporting si basino sulla tradizione di generare i report offline, Tableau vuole offrire un meccanismo interattivo in modo che tu possa suddividere i tuoi dati ancora e ancora. La memorizzazione nella cache aiuta a gestire parte della latenza di un cluster Hadoop.

Il software è ben rifinito ed esteticamente gradevole. Spesso mi sono ritrovato a ridimensionare i dati solo per vederli in un altro grafico, anche se non c'era molto di nuovo da imparare passando da un grafico a torta a un grafico a barre e oltre. Il team del software comprende chiaramente un certo numero di persone con un certo talento artistico.

 

Strumenti per big data: Splunk

Splunk è leggermente diverso dalle altre opzioni. Non è esattamente uno strumento per la generazione di rapporti o una raccolta di routine di intelligenza artificiale, sebbene durante il percorso riesca a realizzare gran parte di ciò. Crea un indice dei tuoi dati come se i tuoi dati fossero un libro o un blocco di testo. Sì, i database creano anche indici, ma l'approccio di Splunk è molto più vicino a un processo di ricerca di testo.

Questa indicizzazione è sorprendentemente flessibile. Splunk è già sintonizzato sulla mia particolare applicazione, dando un senso ai file di registro e li ha risucchiati. Viene anche venduto in una serie di pacchetti di soluzioni differenti, incluso uno per il monitoraggio di un server Microsoft Exchange e un altro per il rilevamento degli attacchi Web. L'indice aiuta a correlare i dati in questi e in molti altri scenari comuni lato server.