W grudniu 2012 r., gdy Cloudera Impala wciąż znajdowała się w fazie beta, udostępniliśmy plan działania dotyczący planowanej funkcjonalności w wersji produkcyjnej. W tym samym duchu, aby dobrze informować użytkowników, klientów i entuzjastów Impali, ten post zawiera zaktualizowaną mapę drogową dla nadchodzących wydań jeszcze w tym roku i na początku 2014 roku.
Ale najpierw dziękuję:od pierwszego wydania beta otrzymaliśmy ogromną ilość opinii i walidacji na temat Impali — zarówno pod względem jakości, jak i ilości. Do tej pory co najmniej jedna osoba z około 4500 unikalnych organizacji na całym świecie pobrała plik binarny Impala. I nawet po zaledwie kilku miesiącach GA, widzieliśmy klientów Cloudera Enterprise z wielu branż wdrażających Impala 1.x w środowiskach o znaczeniu krytycznym dla biznesu ze wsparciem poprzez subskrypcję Cloudera RTQ (Real-Time Query) — w tym wiodące organizacje ubezpieczeniowe, bankowość, handel detaliczny, opieka zdrowotna, gry, rząd, telekomunikacja i reklama.
Co więcej, w oparciu o reakcje innych dostawców w obszarze zarządzania danymi, niewielu obserwatorów zakwestionowałoby pogląd, że Impala uczyniła interaktywne zapytania SQL o niskich opóźnieniach dla Hadoop tak ważnym wymaganiem klientów, jak zapytania SQL o dużym opóźnieniu zorientowane na partie. włączone przez Apache Hive. To świetny rozwój dla użytkowników Hadoop na całym świecie!
Co zostało dostarczone w Impali 1.0/1.1
Zacznijmy od karty raportu na temat opublikowanej wcześniej mapy drogowej Impala 1.0/1.1. Oto lista funkcji pogrupowana według stanu dostawy:
Dostarczono:
| Przełożone na podstawie opinii klientów:
|
Co więcej, dzięki dodaniu modułu Apache Sentry (inkubacja), Impala 1.1 i nowsze zapewniają teraz również granularną autoryzację opartą na rolach, zapewniając, że właściwi użytkownicy i aplikacje mają dostęp do właściwych danych. (Dzięki niedawnemu wkładowi Sentry do Apache Incubator i HiveServer2 do Hive firmy Cloudera, Hive 0.11 i nowsze również mają tę funkcjonalność.)
Wykonano dużo pracy, ale wciąż jest dużo do zrobienia. Teraz przejdźmy do fali Impala 2.0.
Plan krótkoterminowy
Następujące nowe funkcje Impala będą stopniowo udostępniane w niedalekich przyszłych wydaniach, zaczynając od Impala 1.2 pod koniec 2013 r., a kończąc na Impali 2.0 w pierwszej trzeciej części 2014 r. Ponadto zobaczysz większy wzrost wydajności i ulepszenia funkcjonalności SQL w każdej wersji – w celu zwiększenia przewagi Impala w zakresie wydajności w stosunku do alternatywnych metod SQL-on-Hadoop starszych dostawców relacyjnych baz danych, a także dostawców dystrybucji Hadoop.
Należy pamiętać, jak zawsze w przypadku map drogowych, że terminy i funkcje zawsze mogą ulec zmianie. Jednak to, co widzisz poniżej, odzwierciedla nasz aktualny plan nagrywania.
Impala 1.2
- UDF i rozszerzalność – umożliwia użytkownikom dodawanie własnych, niestandardowych funkcjonalności; Impala będzie wspierać istniejące Hive Java UDF, a także wysokowydajne natywne UDF i UDAF
- Automatyczne odświeżanie metadanych – umożliwia bezproblemowe udostępnianie nowych tabel i danych dla zapytań Impala w miarę ich dodawania bez konieczności ręcznego odświeżania na każdym węźle Impala
- Buforowanie HDFS w pamięci – umożliwia dostęp do często używanych danych Hadoop z szybkością w pamięci
- Optymalizacja kolejności dołączania na podstawie kosztów – uwalnia użytkownika od konieczności odgadywania prawidłowej kolejności dołączania
- Podgląd menedżera zasobów zintegrowanego z YARN — umożliwia ustalanie priorytetów obciążeń z większą szczegółowością niż izolacja na poziomie usług obecnie zapewniana w Cloudera Manager
Impala 2.0
Poniższa lista zawiera tylko większe, najczęściej poszukiwane funkcje; to w żadnym wypadku nie jest kompletne.
- Funkcje okna analitycznego zgodne z SQL 2003 (agregacja OVER PARTITION) – aby zapewnić bardziej zaawansowane możliwości analityczne SQL
- Dodatkowe mechanizmy uwierzytelniania – w tym możliwość określenia nazwy użytkownika/hasła oprócz już obsługiwanego uwierzytelniania Kerberos
- UDTF (funkcje tabelowe zdefiniowane przez użytkownika) – dla bardziej zaawansowanych funkcji użytkownika i rozszerzalności
- Zrównoleglone agregacje i łączenia wewnątrz węzła – aby zapewnić jeszcze szybsze łączenie i agregacje oprócz wzrostu wydajności Impala
- Dane zagnieżdżone – umożliwia zapytania dotyczące złożonych struktur zagnieżdżonych, w tym map, struktur i tablic
- Ulepszony, gotowy do produkcji menedżer zasobów zintegrowany z YARN
- Ulepszenia parkietu – ciągły wzrost wydajności, w tym strony indeksowe
- Dodatkowe typy danych – w tym typy Date i Decimal
- ORDER BY bez klauzul LIMIT
Poza Impalą 2.0
Poniższa lista funkcji to te, które obecnie przewidujemy, że będą dostępne w wersji 2.1 lub wydaniu wkrótce potem:
- Dodatkowa funkcja analityczna SQL — ROLLUP, CUBE i GROUPING SET
- Apache HBase CRUD – umożliwia korzystanie z Impali do wstawiania i aktualizacji do HBase
- Złącza zewnętrzne przy użyciu dysku – umożliwia rozlanie złączeń między tabelami na dysk w przypadku złączeń, które wymagają tabel złączeń większych niż zagregowany rozmiar pamięci
- Podzapytania wewnątrz klauzul WHERE
Gdy dowiemy się więcej o wymaganiach klientów i partnerów, ta lista będzie się rozszerzać.
Wniosek
Jak widać, Impala znacznie się rozwinęła od czasu wydania wersji beta i będzie ewoluować w miarę zbierania informacji od użytkowników, klientów i partnerów.
Ostatecznie uważamy, że firma Impala zrealizowała już nasz ogólny cel polegający na umożliwieniu użytkownikom przechowywania wszystkich danych w natywnych formatach plików Hadoop i jednoczesnego uruchamiania wszystkich zadań wsadowych, uczenia maszynowego, interaktywnego SQL/BI, matematyki, wyszukiwania i innych obciążeń na tych danych w miejscu. Od tego momentu wystarczy kontynuować budowanie na tych bardzo solidnych podstawach z bogatszą funkcjonalnością i lepszą wydajnością.
Justin Erickson jest dyrektorem ds. zarządzania produktami w Cloudera.