Spark SQL vs Presto - Zjistěte 7 užitečného srovnání

Obsah:

Anonim

Rozdíly mezi Spark SQL a Presto

Zjednodušeně řečeno je 'SQL Query Engine', původně vyvinutý pro Apache Hadoop. Jedná se o otevřený zdrojový distribuovaný dotazovací stroj SQL určený pro spouštění interaktivních analytických dotazů proti datovým sadám všech velikostí.

Spark SQL je distribuovaný výpočetní modul v paměti s vrstvou SQL nad strukturovanými a polostrukturovanými datovými sadami. Od jeho zpracování v paměti bude zpracování rychlé ve Spark SQL.

Srovnání Head to Head mezi Spark SQL vs Presto (Infografika)

Níže je uvedeno Top 7 srovnání mezi Spark SQL vs Presto

Klíčové rozdíly mezi Spark SQL vs Presto

Níže je uveden seznam klíčových rozdílů mezi Presto a Spark SQL

  • Apache Spark představuje programovací modul pro zpracování strukturovaných dat zvaný Spark SQL. Spark SQL zahrnuje kódovací abstrakci nazvanou Data Frame, která může fungovat jako distribuovaný dotazovací stroj SQL.
  • Motivem začátku Presto bylo umožnit interaktivní analýzu a přístupy k rychlosti komerčních datových skladů s možností škálovat organizace odpovídající Facebooku.
  • Zatímco Spark SQL je komponentou nad Spark Core, která zavádí novou abstrakci dat nazvanou SchemaRDD (Resilient Distributed Datasets), poskytuje podporu pro strukturovaná / polostrukturovaná data.
  • Presto byl navržen jako alternativa k nástrojům, které dotazují data HDFS pomocí úloh MapReduce, jako jsou Hive nebo Pig, ale Presto není omezeno na HDFS.
  • Spark SQL následuje zpracování v paměti, což zvyšuje rychlost zpracování. Spark je navržen tak, aby zpracovával širokou škálu pracovních zátěží, jako jsou dávkové dotazy, iterační algoritmy, interaktivní dotazy, streamování atd.
  • Presto je schopen provádět federativní dotazy. Níže je uveden příklad federovaných dotazů Presto

Předpokládejme jakýkoli RDBMS s ukázkou tabulky1

A HIVE s ukázkou tabulky2,

'Testdb' je databáze v úlu i MYSQL. Pomocí Presto můžeme vyhodnotit data pomocí jediného dotazu, jakmile jsou jejich konektory správně nakonfigurovány, jak je znázorněno níže -

presto> hive.Testdb.sample2

Funkce (vyberte / Seskupit podle ..etc)> mysql.Testdb.sample1

  • Architektura Spark SQL se skládá z Spark SQL, Schema RDD a Data Frame
    • Datový rámec je soubor dat; data jsou uspořádána do pojmenovaných sloupců. Technicky je to stejné jako relační databázové tabulky.
    • Schéma RDD: Spark Core obsahuje speciální strukturu dat nazvanou RDD. Spark SQL pracuje na schématech, tabulkách a záznamech. Uživatel proto může použít schéma RDD jako dočasnou tabulku. Tento uživatel tak může nazvat toto schéma RDD jako datový rámec
  • Schopnosti datového rámce: Datový rámec zpracovává data ve velikosti kilobajtů do Petabytů v jednom uzlu klastru do více uzlů clusteru,
  • Datový rámec podporuje různé datové formáty (CSV, elasticsearch, Cassandra atd.) A úložné systémy (HDFS, HIVE tabulky, MySQL atd.). Lze jej integrovat do všech nástrojů / rámců Big Data pomocí programu Spark-Core a poskytuje API pro jazyky, jako jsou Python, Java, Scala, a R programování.
  • Zatímco Presto je distribuovaný motor, pracuje na nastavení clusteru. Architektura Presto je snadno pochopitelná a rozšiřitelná. Klient Presto (CLI) odesílá příkazy SQL koordinátorovi hlavního démona, který řídí zpracování.
  • Společnosti používající Presto: Facebook, Netflix, Airbnd, Dropbox atd.
  • Případy použití Apache Spark lze nalézt v průmyslových odvětvích, jako je finance, maloobchod, zdravotnictví a cestování atd. Mnoho webových stránek pro elektronický obchod, jako jsou eBay, Alibaba, Pinterest, používá Spark SQL k analýze stovek petabajtů dat na své platformě pro elektronický obchod.

Porovnání tabulky Spark SQL vs Presto

Níže je nejvyšší srovnání mezi SQL a Presto

Základ pro srovnání mezi SQL a Presto rychle Spark SQL
Ekologické systémy / platformyHadoop, zpracování velkých dat atdSpark Framework, zpracování velkých dat atd
ÚčelPresto je navrženo pro spouštění dotazů SQL nad velkými daty (obrovské pracovní vytížení).
Byl navržen Facebookem ke zpracování jejich obrovského pracovního zatížení.
Spark SQL je jednou ze součástí Apache Spark Core.
Spark Core je základní spouštěcí motor pro jiskrovou platformu
Založit
  • Presto je distribuovaný dotazovací stroj SQL pro zpracování domácích bajtů dat a běží na klastru, jako je sada se sadou počítačů.
  • Kompletní nastavení klastru Presto zahrnuje koordinátora (Manager Node) a více pracovníků. Uživatel odešle dotazy od klienta, který je Presto CLI, koordinátorovi. Koordinátor analyzuje, analyzuje a plánuje provádění dotazu a poté rozdělí zpracování dotazů pracovníkům.
  • Pokud instalujete a konfigurujete Apache Spark Cluster, nastavení Spark SQL nebude k dispozici
  • Apache Spark je Hadoopův podprojekt.
  • Apaches Spark je klastrová technologie zpracování velkých dat, navržená pro rychlý výpočet.
Možnosti / funkcePresto umožňuje dotazování dat na mnoho zdrojů dat; Například Data mohou pobývat v datových úložištích: Hive, Cassandra, RDBMS a v některých dalších proprietárních datových úložištích.Spark SQL poskytuje flexibilitu v integraci s jinými zdroji dat pomocí datových rámců a konektorů JDBC.
Podpora pro konektoryPresto podporuje zásuvné konektory. Tyto konektory poskytují datové sady pro dotazy.

V presto je k dispozici několik již existujících konektorů, zatímco program Presto umožňuje také připojení pomocí vlastních konektorů.
Níže jsou uvedeny některé konektory, které podporuje

  • Hadoop / Hive
  • Cassandra
  • Teradata
  • PostgreSQL
  • Oracle atd

Rozhraní datového rámce umožňuje různým zdrojům dat pracovat na Spark SQL.
Spark SQL zahrnuje režim serveru s průmyslovým standardem JDBC a ODBC.
Federativní dotazyPresto podporuje federované dotazy. Program Presto lze nakonfigurovat tak, aby se připojoval k různým databázím a jakmile je nakonfigurován; jeho CLI lze použít ke spuštění „Federovaných dotazů“.
V jednom dotazu Presto může uživatel kombinovat data z více zdrojů dat a spustit dotaz.
Spark SQL přichází s vestavěnou funkcí pro připojení k jiným databázím pomocí JDBC, což je „JDBC do jiných databází“. Pomáhá ve funkci federace.
Spark vytváří datové rámce pomocí databázové funkce JDBC: využíváním API Scala / Python, ale také pracuje přímo se serverem Spark SQL Thrift a umožňuje uživatelům bez námahy dotazovat externí tabulky JDBC jako jiné tabulky podregistrů.
Kdo používá?Analytici dat, datoví inženýři, vědci v datech atdData Analysts, Data Engineers, Data Scientists, Spark Developer atd

Závěry -Spark SQL vs Presto

Spark SQL a Presto, oba jsou SQL distribuované motory dostupné na trhu.

Presto je velmi užitečný, pokud jde o dotazy typu BI, a Spark SQL vede výkon ve velkých analytických dotazech. Při porovnání s ohledem na konfiguraci bylo nastavení Presto snadné než Spark SQL. Spark SQL i Presto stojí na trhu stejně a řeší různé druhy obchodních problémů.

Doporučený článek

Toto byl průvodce programem Spark SQL vs Presto, jejich význam, srovnání mezi dvěma hlavami, hlavní rozdíly, srovnávací tabulka a závěr. Další informace naleznete také v následujících článcích -

  1. Apache Spark vs Apache Flink - 8 užitečných věcí, které potřebujete vědět
  2. Apache Hive vs Apache Spark SQL - 13 úžasných rozdílů
  3. Nejlepší 6 srovnání mezi Hadoop Vs SQL
  4. Hadoop vs Teradata - cenné rozdíly