Integrowanie zapytań LLAP platformy Apache Spark i programu Hive

Ukończone

W poprzedniej lekcji przyjrzeliśmy się dwóm sposobom wykonywania zapytań dotyczących danych statycznych przechowywanych w klastrze interaktywnych zapytań — Data Analytics Studio i notesie Zeppelin. Ale co zrobić, jeśli chcesz przesyłać strumieniowo świeże dane nieruchomości do klastrów przy użyciu platformy Spark, a następnie wysyłać do nich zapytania przy użyciu programu Hive? Ponieważ usługi Hive i Spark mają dwa różne magazyny metadanych, wymagają łącznika do mostka między nimi — a łącznikiem magazynu Apache Hive (HWC) jest ten most. Biblioteka łącznika magazynu Hive umożliwia łatwiejsze pracę z platformami Apache Spark i Apache Hive dzięki obsłudze zadań, takich jak przenoszenie danych między ramkami danych platformy Spark i tabelami Hive, a także kierowanie danych przesyłanych strumieniowo platformy Spark do tabel programu Hive. Nie skonfigurujemy łącznika w naszym scenariuszu, ale ważne jest, aby wiedzieć, że opcja istnieje.

Platforma Apache Spark ma interfejs API przesyłania strumieniowego ze strukturą, który zapewnia możliwości przesyłania strumieniowego niedostępne w usłudze Apache Hive. Począwszy od usługi HDInsight 4.0, platformy Apache Spark 2.3.1 i Apache Hive 3.1.0 mają oddzielne magazyny metadanych, co utrudniało współdziałanie. Łącznik magazynu Hive ułatwia jednoczesne używanie platformy Spark i programu Hive. Biblioteka łącznika magazynu Hive ładuje dane z demonów LLAP do funkcji wykonawczych platformy Spark równolegle, dzięki czemu jest ona wydajniejsza i skalowalna niż użycie standardowego połączenia JDBC z platformy Spark do programu Hive.

Łącznik usługi Apache Hive Warehouse

Niektóre operacje obsługiwane przez łącznik magazynu Hive to:

  • Opisywanie tabeli
  • Tworzenie tabeli dla zoptymalizowanych danych kolumnowych wierszy (ORC) sformatowanych
  • Wybieranie danych programu Hive i pobieranie ramki danych
  • Zapisywanie ramki danych w usłudze Hive w partii
  • Wykonywanie instrukcji aktualizacji programu Hive
  • Odczytywanie danych tabeli z programu Hive, przekształcanie ich na platformie Spark i zapisywanie ich w nowej tabeli Programu Hive
  • Zapisywanie ramki danych lub strumienia Spark w usłudze Hive przy użyciu technologii HiveStreaming

Po wdrożeniu klastra Spark i klastra zapytań interakcyjnych skonfigurujesz ustawienia klastra Spark w narzędziu Ambari, które jest narzędziem internetowym uwzględnionym we wszystkich klastrach usługi HDInsight. Aby otworzyć aplikację Ambari, przejdź do https:// servername.azurehdinsight.net w przeglądarce internetowej, w której nazwa _serwera to nazwa klastra interakcyjnego zapytań.

Następnie, aby zapisać dane przesyłane strumieniowo platformy Spark do tabel, należy utworzyć tabelę programu Hive i rozpocząć zapisywanie w niej danych. Następnie uruchom zapytania dotyczące danych przesyłanych strumieniowo, możesz użyć dowolnego z następujących elementów:

  • spark-shell
  • PySpark
  • spark-submit
  • Zeppelin
  • Livy