Recensione Qubole: analisi self-service dei big data

Presentata come piattaforma dati nativa del cloud per analisi, intelligenza artificiale e apprendimento automatico, Qubole offre soluzioni per il coinvolgimento dei clienti, la trasformazione digitale, prodotti basati sui dati, marketing digitale, modernizzazione e intelligence sulla sicurezza. Afferma un rapido time-to-value, supporto multi-cloud, produttività dell'amministratore 10 volte superiore, un rapporto operatore-utente di 1: 200 e costi cloud inferiori.

Ciò che Qubole fa effettivamente, sulla base della mia breve esperienza con la piattaforma, è integrare una serie di strumenti open source e alcuni strumenti proprietari, per creare un'esperienza di big data self-service basata su cloud per analisti di dati e ingegneri di dati e data scientist.

Qubole ti porta dall'ETL all'analisi esplorativa dei dati e alla creazione di modelli fino alla distribuzione di modelli su scala di produzione. Lungo il percorso, automatizza una serie di operazioni cloud, come il provisioning e il ridimensionamento delle risorse, che altrimenti potrebbero richiedere una notevole quantità di tempo da parte dell'amministratore. Non è chiaro se tale automazione consentirà effettivamente un aumento 10 volte della produttività degli amministratori o un rapporto operatore / utente di 1: 200 per un'azienda o caso d'uso specifico.

Qubole tende a martellare il concetto di "dati attivi". Fondamentalmente, la maggior parte dei data lake, che sono essenzialmente archivi di file pieni di dati provenienti da molte fonti, tutti in un unico punto ma non in un database, hanno una bassa percentuale di dati che viene utilizzata attivamente per l'analisi. Qubole stima che la maggior parte dei data lake siano attivi al 10% e inattivi al 90% e prevede di poter invertire tale rapporto.

I concorrenti di Qubole includono Databricks, AWS e Cloudera. Esistono numerosi altri prodotti che competono solo con alcune delle funzioni di Qubole.

Databricks crea notebook, dashboard e processi su un gestore cluster e Spark; L'ho trovato una piattaforma utile per i data scientist quando l'ho esaminato nel 2016. Databricks ha recentemente reso open source il suo prodotto Delta Lake, che fornisce transazioni ACID, gestione scalabile dei metadati e streaming unificato e elaborazione dei dati in batch ai data lake per renderli più affidabili e per aiutarli ad alimentare l'analisi Spark.

AWS offre un'ampia gamma di prodotti di dati e in effetti Qubole supporta l'integrazione con molti di essi. Cloudera, che ora include Hortonworks, fornisce servizi di data warehouse e machine learning, nonché un servizio di data hub. Qubole afferma che sia Databricks che Cloudera mancano di governance finanziaria, ma puoi implementare la governance da solo a livello di cloud singolo o utilizzando un prodotto di gestione multi-cloud.

Come funziona Qubole

Qubole integra tutti i suoi strumenti all'interno di un ambiente basato su cloud e su browser. Discuterò i pezzi dell'ambiente nella prossima sezione di questo articolo; in questa sezione mi concentrerò sugli strumenti.

Qubole realizza il controllo dei costi come parte della sua gestione del cluster. Puoi specificare che i cluster utilizzino una combinazione specifica di tipi di istanza, comprese le istanze spot, se disponibili, e il numero minimo e massimo di nodi per la scalabilità automatica. È inoltre possibile specificare la durata di esecuzione di un cluster in assenza di carico, per evitare istanze "zombie".

Scintilla

Nel suo articolo di agosto, "Come Qubole affronta le sfide di Apache Spark", il CEO di Qubole Ashish Thusoo discute i vantaggi e le insidie ​​di Spark e come Qubole risolve le difficoltà come la configurazione, le prestazioni, i costi e la gestione delle risorse. Spark è un componente chiave di Qubole per i data scientist, che consente una trasformazione dei dati semplice e veloce e l'apprendimento automatico.

Presto

Presto è un motore di query SQL distribuito open source per l'esecuzione di query analitiche interattive su origini dati di tutte le dimensioni, da gigabyte a petabyte. Le query Presto vengono eseguite molto più velocemente delle query Hive. Allo stesso tempo, Presto può visualizzare e utilizzare i metadati e gli schemi di dati di Hive.

Alveare

Apache Hive è un popolare progetto open source nell'ecosistema Hadoop che facilita la lettura, la scrittura e la gestione di grandi set di dati che risiedono nello storage distribuito utilizzando SQL. La struttura può essere proiettata su dati già archiviati. L'esecuzione di query Hive viene eseguita tramite Apache Tez, Apache Spark o MapReduce. Hive su Qubole può eseguire la scalabilità automatica in base al carico di lavoro e le scritture dirette; Hive open source non dispone di queste ottimizzazioni orientate al cloud.

I fondatori di Qubole erano anche i creatori di Apache Hive. Hanno avviato Hive su Facebook e l'hanno reso open source nel 2008.

Quantum

Quantum è il motore di query SQL interattivo, a scalabilità automatica e serverless di Qubole che supporta sia Hive DDL che Presto SQL. Quantum è un servizio con pagamento in base al consumo che è conveniente per schemi di query sporadici che si estendono su lunghi periodi e dispone di una modalità rigorosa per prevenire spese impreviste. Quantum utilizza Presto e integra i cluster di server Presto. Le query quantistiche sono limitate a 45 minuti di autonomia.

Flusso d'aria

Airflow è una piattaforma basata su Python per creare, pianificare e monitorare in modo programmatico i flussi di lavoro. I flussi di lavoro sono grafici aciclici diretti (DAG) di attività. Puoi configurare i DAG scrivendo pipeline in codice Python. Qubole offre Airflow come uno dei suoi servizi; è spesso usato per ETL.

Il nuovo QuboleOperator può essere utilizzato proprio come qualsiasi altro operatore Airflow esistente. Durante l'esecuzione dell'operatore nel flusso di lavoro, invierà un comando a Qubole Data Service e attenderà fino al termine del comando. Qubole supporta sensori di file e tabelle Hive che Airflow può utilizzare per monitorare in modo programmatico i flussi di lavoro.

Per vedere l'interfaccia utente di Airflow, devi prima avviare un cluster Airflow, quindi aprire la pagina del cluster per vedere il sito web di Airflow.

RubiX

RubiX è il framework di cache dei dati leggero di Qubole che può essere utilizzato da un sistema di big data che utilizza un'interfaccia del file system Hadoop. RubiX è progettato per funzionare con sistemi di archiviazione cloud come Amazon S3 e Azure Blob Storage e per memorizzare nella cache i file remoti su un disco locale. Qubole ha rilasciato RubiX per l'open source. Abilitare RubiX in Qubole è una questione di selezionare una casella.

Cosa fa Qubole?

Qubole fornisce una piattaforma end-to-end per l'analisi e la scienza dei dati. La funzionalità è distribuita su una dozzina di moduli.

Il modulo Esplora consente di visualizzare le tabelle di dati, aggiungere archivi di dati e impostare lo scambio di dati. In AWS, puoi visualizzare le tue connessioni dati, i tuoi bucket S3 e i tuoi archivi dati Qubole Hive.

I moduli Analizza e Workbench consentono di eseguire query ad hoc sui set di dati. Analizza è la vecchia interfaccia e Workbench è la nuova interfaccia, che era ancora in versione beta quando l'ho provata. Entrambe le interfacce consentono di trascinare e rilasciare i campi dati nelle query SQL e di scegliere il motore da utilizzare per eseguire le operazioni: Quantum, Hive, Presto, Spark, un database, una shell o Hadoop.

Smart Query è un generatore di query SQL basato su form per Hive e Presto. I modelli consentono di riutilizzare le query SQL parametrizzate.

I notebook sono Zeppelin basati su Spark o (in versione beta) notebook Jupyter per la scienza dei dati. I dashboard forniscono un'interfaccia per condividere le tue esplorazioni, senza consentire l'accesso ai tuoi taccuini.

Scheduler consente di eseguire query, flussi di lavoro, importazioni ed esportazioni di dati e comandi automaticamente a intervalli. Ciò completa le query ad-hoc che puoi eseguire nei moduli Analizza e Workbench.

Il modulo Clusters ti consente di gestire i tuoi cluster di server Hadoop / Hive, Spark, Presto, Airflow e deep learning (beta). L'utilizzo consente di monitorare l'utilizzo del cluster e delle query. Il pannello di controllo ti consente di configurare la piattaforma, per te stesso o per altri se disponi delle autorizzazioni di amministrazione del sistema.

Procedura dettagliata di Qubole

Ho esaminato l'importazione di un database, la creazione di uno schema Hive e l'analisi del risultato con Hive e Presto e separatamente in un notebook Spark. Ho anche esaminato un DAG Airflow per lo stesso processo e un notebook per eseguire l'apprendimento automatico con Spark su un set di dati non correlato.

Apprendimento profondo in Qubole

Abbiamo visto la scienza dei dati in Qubole fino al livello del classico machine learning, ma per quanto riguarda il deep learning? Un modo per realizzare il deep learning in Qubole è inserire passaggi Python nei tuoi notebook che importano framework di deep learning come TensorFlow e utilizzarli nei set di dati già progettati con Spark. Un altro è chiamare Amazon SageMaker da notebook o Airflow, assumendo che l'installazione di Qubole venga eseguita su AWS.

La maggior parte di ciò che fai in Qubole non richiede l'esecuzione su GPU, ma il deep learning spesso necessita di GPU per consentire il completamento della formazione in un ragionevole lasso di tempo. Amazon SageMaker si occupa di questo eseguendo le fasi di deep learning in cluster separati, che puoi configurare con tutti i nodi e le GPU necessari. Qubole offre anche cluster di Machine Learning (in beta); su AWS consentono nodi di lavoro accelerati di tipo g e p con GPU Nvidia e su Google Cloud Platform e Microsoft Azure consentono nodi di lavoro accelerati equivalenti.

Toolkit per big data nel cloud

Qubole, una piattaforma di dati nativa del cloud per l'analisi e l'apprendimento automatico, ti aiuta a importare set di dati in un data lake, creare schemi con Hive ed eseguire query sui dati con Hive, Presto, Quantum e Spark. Utilizza sia notebook che Airflow per creare flussi di lavoro. Può anche chiamare altri servizi e utilizzare altre librerie, ad esempio il servizio Amazon SageMaker e la libreria TensorFlow Python per il deep learning.

Qubole ti aiuta a gestire la spesa per il cloud controllando il mix di istanze in un cluster, avviando e scalando automaticamente i cluster su richiesta e spegnendo i cluster automaticamente quando non sono in uso. Funziona su AWS, Microsoft Azure, Google Cloud Platform e Oracle Cloud.

Nel complesso, Qubole è un ottimo modo per sfruttare (o "attivare") il tuo data lake, database isolati e big data. Puoi testare Qubole gratuitamente per 14 giorni su AWS, Azure o GCP a tua scelta con dati di esempio. Puoi anche organizzare una prova gratuita completa per un massimo di cinque utenti e un mese, utilizzando il tuo account di infrastruttura cloud ei tuoi dati.

-

Costo: test e account di prova, gratuiti. Piattaforma aziendale, $ 0,14 per QCU (Qubole Compute Unit) all'ora. 

Piattaforma: Amazon Web Services, Google Cloud Platform, Microsoft Azure, Oracle Cloud.