A dicembre 2012, mentre Cloudera Impala era ancora nella sua fase beta, abbiamo fornito una roadmap per la funzionalità pianificata nella versione di produzione. Nello stesso spirito di tenere ben informati gli utenti, i clienti e gli appassionati di Impala, questo post fornisce una tabella di marcia aggiornata per le prossime versioni entro la fine dell'anno e all'inizio del 2014.
Ma prima, un ringraziamento:dalla versione beta iniziale, abbiamo ricevuto un'enorme quantità di feedback e convalide su Impala, abbondanti in termini di qualità e quantità. Almeno una persona in circa 4.500 organizzazioni uniche in tutto il mondo ha scaricato il binario Impala, fino ad oggi. E anche dopo solo pochi mesi di GA, abbiamo visto clienti Cloudera Enterprise di più settori implementare Impala 1.x in ambienti business-critical con supporto tramite un abbonamento Cloudera RTQ (Real-Time Query), comprese organizzazioni leader nel settore assicurativo, banche, vendita al dettaglio, assistenza sanitaria, giochi, governo, telecomunicazioni e pubblicità.
Inoltre, sulla base della reazione di altri fornitori nello spazio di gestione dei dati, pochi osservatori contesterebbero l'idea che Impala abbia reso le query SQL interattive a bassa latenza per Hadoop un requisito importante del cliente quanto le query SQL orientate ai batch ad alta latenza abilitato da Apache Hive. Questo è un grande sviluppo per gli utenti Hadoop ovunque!
Cosa è stato fornito in Impala 1.0/1.1
Cominciamo con una pagella sulla roadmap Impala 1.0/1.1 precedentemente pubblicata. Ecco l'elenco delle funzionalità, raggruppato per stato di consegna:
Consegnato:
| Rinvio in base al feedback dei clienti:
|
Inoltre, grazie all'aggiunta del modulo Apache Sentry (incubazione), Impala 1.1 e versioni successive ora forniscono anche un'autorizzazione granulare basata sui ruoli, garantendo che gli utenti e le applicazioni giusti abbiano accesso ai dati corretti. (Con il recente contributo di Sentry all'Apache Incubator e di HiveServer2 a Hive di Cloudera, anche Hive 0.11 e versioni successive hanno questa funzionalità.)
È stato fatto molto lavoro, ma c'è ancora molto lavoro da fare. Ora, verso l'onda Impala 2.0.
Tabella di marcia a breve termine
La seguente nuova funzionalità Impala verrà rilasciata in modo incrementale nelle versioni future a breve termine, a partire da Impala 1.2 alla fine del 2013 e termina con Impala 2.0 nel primo terzo del 2014. Inoltre, vedrai più miglioramenti delle prestazioni e miglioramenti della funzionalità SQL in ogni versione, con l'obiettivo di espandere il vantaggio delle prestazioni di Impala rispetto agli approcci alternativi SQL-on-Hadoop dei fornitori di database relazionali legacy e dei fornitori di distro Hadoop.
Tieni presente, come sempre con le tabelle di marcia, che le tempistiche e le funzionalità sono sempre soggette a modifiche. Quello che vedi di seguito, tuttavia, cattura il nostro attuale piano di registrazione.
Impala 1.2
- UDF ed estensibilità:consente agli utenti di aggiungere le proprie funzionalità personalizzate; Impala supporterà gli UDF Java Hive esistenti, nonché gli UDF e UDAF nativi ad alte prestazioni
- Aggiornamento automatico dei metadati:consente di disporre senza problemi di nuove tabelle e dati per le query Impala man mano che vengono aggiunte senza dover eseguire un aggiornamento manuale su ciascun nodo Impala
- Caching HDFS in memoria:consente l'accesso ai dati Hadoop a cui si accede di frequente a velocità in memoria
- Ottimizzazione dell'ordine di unione basata sui costi:libera l'utente dal dover indovinare l'ordine di unione corretto
- Anteprima del gestore risorse integrato con YARN:consente di assegnare priorità ai carichi di lavoro con una granularità più fine rispetto all'isolamento del livello di servizio attualmente fornito in Cloudera Manager
Impala 2.0
L'elenco seguente cattura solo le funzionalità più grandi e richieste più frequentemente; non è affatto completo.
- Funzioni della finestra analitica conformi a SQL 2003 (aggregazione OVER PARTITION) – per fornire funzionalità analitiche SQL più avanzate
- Meccanismi di autenticazione aggiuntivi, inclusa la possibilità di specificare nome utente/password oltre all'autenticazione Kerberos già supportata
- UDTF (funzioni tabella definite dall'utente) – per funzioni utente più avanzate ed estensibilità
- Aggregazioni e join parallelizzati intra-nodo:per fornire join e aggregazioni ancora più veloci oltre ai guadagni in termini di prestazioni di Impala
- Dati nidificati:abilita query su strutture nidificate complesse tra cui mappe, struct e array
- Gestione risorse avanzato, pronto per la produzione e integrato con YARN
- Miglioramenti del parquet:continui miglioramenti delle prestazioni comprese le pagine indice
- Tipi di dati aggiuntivi, inclusi i tipi Data e Decimale
- ORDINA PER senza clausole LIMIT
Oltre Impala 2.0
Il seguente elenco di funzionalità sono quelle che attualmente prevediamo saranno presenti nella versione 2.1 o in una versione subito dopo:
- Funzionalità SQL analitica aggiuntiva:ROLLUP, CUBE e GROUPING SET
- Apache HBase CRUD:consente l'uso di Impala per inserimenti e aggiornamenti in HBase
- Join esterni tramite disco:abilita i join tra tabelle a riversarsi su disco per i join che richiedono tabelle di join più grandi della dimensione della memoria aggregata
- Subquery all'interno delle clausole WHERE
Man mano che impariamo di più sui requisiti di clienti e partner, questo elenco si espanderà.
Conclusione
Come puoi vedere, Impala si è evoluta considerevolmente dalla sua versione beta e continuerà ad evolversi man mano che raccogliamo più feedback da utenti, clienti e partner.
In definitiva, riteniamo che Impala abbia già consentito il nostro obiettivo generale di consentire agli utenti di archiviare tutti i propri dati in formati di file Hadoop nativi ed eseguire simultaneamente tutti i batch, l'apprendimento automatico, SQL/BI interattivo, matematica, ricerca e altri carichi di lavoro su tali dati a posto. Da qui, si tratta solo di continuare a costruire su quella base molto solida con funzionalità più ricche e prestazioni migliorate.
Justin Erickson è un direttore della gestione dei prodotti di Cloudera.