Omówienie usługi Azure HDInsight 4.0

Usługa Azure HDInsight jest jedną z najpopularniejszych usług wśród klientów korporacyjnych dla platform Apache Hadoop i Apache Spark. HDInsight 4.0 to dystrybucja w chmurze składników platformy Apache Hadoop. Ten artykuł zawiera informacje o najnowszym wydaniu usługi Azure HDInsight i sposobie jej uaktualniania.

Co nowego w usłudze HDInsight 4.0?

Apache Hive 3.0 i przetwarzanie analityczne o małych opóźnieniach

Usługa Apache Hive — przetwarzanie analityczne o małych opóźnieniach (LLAP) używa trwałych serwerów zapytań i buforowania w pamięci. Ten proces zapewnia szybkie wyniki zapytań SQL dotyczących danych w zdalnym magazynie w chmurze. Hive LLAP używa zestawu trwałych demonów, które wykonują fragmenty zapytań Hive. Wykonywanie zapytań z przetwarzaniem LLAP odbywa się podobnie jak w infrastrukturze Hive bez funkcji LLAP z tą różnicą, że zadania procesów roboczych działają wewnątrz demonów LLAP zamiast w kontenerach.

Przetwarzanie Hive LLAP daje następujące korzyści:

  • Możliwość wykonywania głębokiej analizy SQL bez poświęcania wydajności i dostosowywania. Takie jak złożone sprzężenia, podzapytania, funkcje okien, sortowanie, funkcje zdefiniowane przez użytkownika i złożone agregacje.

  • Możliwość wykonywania interaktywnych zapytań względem danych w tym samym magazynie, w którym dane są przygotowywane, co eliminuje konieczność przenoszenia danych z magazynu do innego aparatu na potrzeby przetwarzania analitycznego.

  • Buforowanie wyników zapytania umożliwia ponowne użycie wcześniej obliczonych wyników zapytania. Ta pamięć podręczna pozwala zaoszczędzić czas i zasoby poświęcane na uruchamianie zadań klastra wymaganych przez zapytanie.

Dynamiczne zmaterializowane widoki Hive

Usługa Hive obsługuje teraz dynamiczne zmaterializowane widoki lub wstępne obliczanie odpowiednich podsumowań. Widoki przyspieszają przetwarzanie zapytań w magazynach danych. Zmaterializowane widoki mogą być przechowywane w sposób natywny w infrastrukturze Hive i mogą bezproblemowo korzystać z przyspieszenia LLAP.

Tabele transakcyjne Hive

HdI 4.0 obejmuje apache Hive 3. Hive 3 wymaga niepodzielności, spójności, izolacji i trwałości dla tabel transakcyjnych, które żyją w magazynie Hive. Tabele zgodne ze standardem ACID oraz przechowywane w nich dane są dostępne i zarządzane za pośrednictwem programu Hive. Dane w tabelach tworzenia, pobierania, aktualizowania i usuwania (CRUD) muszą mieć format pliku ORC (Optimized Row Column). Tabele tylko do wstawiania obsługują wszystkie formaty plików.

Uwaga

Obsługa acid/transakcyjna działa tylko w przypadku tabel zarządzanych, a nie tabel zewnętrznych. Tabele zewnętrzne hive są zaprojektowane tak, aby strony zewnętrzne mogły odczytywać i zapisywać dane tabeli bez perfoming Hive żadnych zmian danych bazowych. W przypadku tabel ACID program Hive może zmieniać dane bazowe za pomocą kompaktowania i transakcji.

Niektóre korzyści z tabel ACID są następujące:

  • Standard ACID w wersji 2 wprowadza ulepszenia wydajności zarówno w formacie magazynu, jak i aparatu wykonywania.

  • Standard ACID jest domyślnie włączony, co umożliwia pełną obsługę aktualizacji danych.

  • Ulepszone funkcje ACID pozwalają na aktualizowanie i usuwanie na poziomie wiersza.

  • Nie występuje negatywny wpływ na wydajność.

  • Nie jest wymagana obsługa zasobników.

  • Platforma Spark może odczytywać i zapisywać dane w tabelach Hive ACID za pośrednictwem łącznika magazynu Hive.

Apache Spark

Platforma Apache Spark pobiera możliwe do zaktualizowania tabele i transakcje ACID za pomocą łącznika magazynu Hive. Łącznik magazynu Hive umożliwia rejestrowanie tabel transakcyjnych Hive jako tabel zewnętrznych na platformie Spark w celu uzyskania dostępu do wszystkich funkcji transakcyjnych. Poprzednie wersje obsługiwały tylko manipulowanie partycjami tabel. Łącznik magazynu Hive obsługuje również przesyłanie strumieniowe ramek danych. Ten proces przesyła strumieniowo odczyty i zapisy do tabel transakcyjnych i przesyłanych strumieniowo hive z platformy Spark.

Funkcje wykonawcze platformy Spark mogą łączyć się bezpośrednio z demonami Hive LLAP na potrzeby pobierania i aktualizowania danych w sposób transakcyjny, co umożliwia zachowanie kontroli nad danymi przez infrastrukturę Hive.

Platforma Apache Spark w usłudze HDInsight 4.0 obsługuje następujące scenariusze:

  • Uruchamianie szkolenia modelu uczenia maszynowego z wykorzystaniem tej samej tabeli transakcyjnej, która jest używana na potrzeby raportowania.
  • Uruchamianie zadania przesyłania strumieniowego platformy Spark podczas zestawiania zmian z tabeli przesyłania strumieniowego Hive.
  • Tworzenie plików ORC bezpośrednio na podstawie zadania przesyłania strumieniowego ze strukturą platformy Spark.

Nie musisz już martwić się o przypadkowe próby uzyskania dostępu do tabel transakcyjnych hive bezpośrednio z platformy Spark. Wynikowe niespójne wyniki, zduplikowane dane lub uszkodzenie danych. W usłudze HDInsight 4.0 tabele platformy Spark i tabele programu Hive są przechowywane w oddzielnych magazynach metadanych. Za pomocą łącznika magazynu danych Hive możesz jawnie zarejestrować tabele transakcyjne programu Hive jako tabele zewnętrzne platformy Spark.

Apache Oozie

Usługa HDI 4.0 zawiera system Apache Oozie 4.3.1 z następującymi zmianami:

  • W systemie Oozie nie można już uruchamiać akcji programu Hive. Usunięto interfejs Hive CLI i zastąpiono go usługą BeeLine.

  • Niepożądane zależności można wykluczyć z biblioteki udziałów, umieszczając wzorzec wykluczania w pliku job.properties.

Jak uaktualnić do usługi HDInsight 4.0

Dokładnie przetestuj składniki przed wdrożeniem najnowszej wersji w środowisku produkcyjnym. Usługa HDInsight 4.0 jest dostępna do rozpoczęcia procesu uaktualniania. Usługa HDInsight 3.6 jest opcją domyślną zapobiegającą przypadkowym wpadom.

Nie ma obsługiwanej ścieżki uaktualnienia z poprzednich wersji usługi HDInsight do usługi HDInsight 4.0. Ponieważ formaty danych magazynu metadanych i obiektów blob uległy zmianie, wersja 4.0 nie jest zgodna z poprzednimi wersjami. Ważne jest, aby nowe środowisko usługi HDInsight 4.0 było oddzielone od bieżącego środowiska produkcyjnego. W przypadku wdrożenia usługi HDInsight 4.0 w bieżącym środowisku magazyn metadanych zostanie trwale uaktualniony.

Ograniczenia

  • Usługa HDInsight 4.0 nie obsługuje systemu Apache Storm.
  • Usługa HDInsight 4.0 nie obsługuje typu klastra usług ML.
  • Interpreter powłoki w systemie Apache Zeppelin nie jest obsługiwany w klastrach Spark i Interactive Query.
  • Apache Pig działa domyślnie na serwerze Tez. Można go jednak zmienić na MapReduce.
  • Integracja platformy Spark SQL Ranger z zabezpieczeniami wierszy i kolumn jest przestarzała.

Następne kroki