Interaktivní dotazy HDInsight
Interaktivní dotazy se obvykle implementují ve scénáři studené cesty, kde máte data v tabulkovém formátu a chcete rychle pokládat otázky a získat interaktivní odpověď pomocí syntaxe SQL. Následující diagram znázorňuje architekturu řešení pro všechna studená cesta HDInsight a řešení s horkou cestou a uvádí, jak se interaktivní dotazy zpracovávají prostřednictvím Hive LLAP v obslužné vrstvě. Data se dají ingestovat prostřednictvím Hivu, interaktivní dotazy se zpracovávají prostřednictvím Hive LLAP a výstupní put se dají obsloužit do podřízených aplikací, jako je Power BI.
Architektura interaktivních dotazů
Teď se pojďme ponořit do architektury Interactive Query.
Uživatelé interaktivních dotazů si můžou vybrat z různých klientů ODBC nebo JDBC a spouštět dotazy na obchodní data, jako jsou Data Analytics Studio, Poznámkové bloky Zeppelin a Visual Studio Code. Jakmile klient odešle dotaz HiveQL, dorazí na HiveServer, který zodpovídá za plánování dotazů, optimalizaci a oříznutí zabezpečení. Hive funguje tak, že rozdělí analytické úlohy mezi distribuované uzly v clusteru. Dotazy jsou rozdělené do dílčích úkolů a odesílají se do uzlů, které zpracovávají jednotlivé dílčí úkoly, a tyto dílčí úkoly se rozdělí ještě dále a každý z těchto úkolů čte data z podkladové vrstvy úložiště obchodních dat. Architektura je optimalizovaná z důvodu použití démonů LLAP alwayson, které se vyhýbají časům spuštění, a sdílené mezipaměti v paměti, která ukládá data načtená z úložiště a sdílí data napříč všemi uzly.
Jednotky SSD (Solid-State Drive) využívané clustery Interactive Query kombinují paměť RAM i SSD do obřího fondu paměti, který mezipaměť používá. Díky této kombinaci prostředků může typický profil serveru ukládat do mezipaměti 4x více dat, takže můžete zpracovávat větší datové sady a podporovat více uživatelů. Mezipaměť Interactive Query ví o změnách podkladových dat ve vzdáleném úložišti (Azure Storage), takže pokud podkladová data změní a uživatel vydá dotaz, aktualizovaná data se načtou do paměti bez nutnosti dalších kroků uživatele.