Integrace dotazů Apache Spark a Hive LLAP

Dokončeno

V předchozí lekci jsme se podívali na dva způsoby dotazování statických dat uložených v clusteru Interactive Query – Data Analytics Studio a poznámkového bloku Zeppelin. Ale co když chcete streamovat čerstvá data o nemovitostech do clusterů pomocí Sparku a pak je dotazovat pomocí Hivu? Protože Hive a Spark mají dva různé metastory, vyžadují konektor pro přemostit mezi nimi – a Apache Hive Warehouse Připojení or (HWC) je tento most. Knihovna Připojení or služby Hive Warehouse umožňuje snadněji pracovat s Apache Sparkem a Apache Hivem tím, že podporuje úlohy, jako je přesun dat mezi tabulkami Spark DataFrames a Hive, a také směrování streamovaných dat Sparku do tabulek Hive. V našem scénáři konektor nenastavíme, ale je důležité vědět, že tato možnost existuje.

Apache Spark má rozhraní API strukturovaného streamování, které poskytuje možnosti streamování, které nejsou dostupné v Apache Hivu. Od VERZE HDInsight 4.0 mají Apache Spark 2.3.1 a Apache Hive 3.1.0 samostatné metastory, které ztěžovaly interoperabilitu. Sklad Hive Připojení or usnadňuje společné použití Sparku a Hivu. Knihovna Hive Warehouse Připojení or načítá data z démon LLAP do exekutorů Sparku paralelně, takže je efektivnější a škálovatelná než použití standardního připojení JDBC ze Sparku do Hivu.

Připojení or apache Hive Warehouse

Mezi operace podporované Připojení orem Hive Warehouse patří:

  • Popis tabulky
  • Vytvoření tabulky pro optimalizovaná sloupcová data ve sloupci řádků (ORC)
  • Výběr dat Hive a načtení datového rámce
  • Zápis datového rámce do Hivu v dávce
  • Spuštění příkazu aktualizace Hive
  • Čtení dat tabulky z Hivu, jejich transformace ve Sparku a zápis do nové tabulky Hive
  • Zápis datového rámce nebo streamu Sparku do Hivu pomocí HiveStreamingu

Jakmile máte cluster Spark a nasadíte cluster Interactive Query, nakonfigurujete nastavení clusteru Spark v Ambari, což je webový nástroj zahrnutý ve všech clusterech HDInsight. Pokud chcete otevřít Ambari, přejděte do https:// servername.azurehdinsight.net v internetovém prohlížeči, kde název serveru je název vašeho clusteru Interactive Query.

Potom pro zápis streamovaných dat Sparku do tabulek vytvoříte tabulku Hive a začnete do ní zapisovat data. Pak spusťte dotazy na streamovaná data, můžete použít některou z následujících možností:

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