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 / platformy | Hadoop, zpracování velkých dat atd | Spark Framework, zpracování velkých dat atd |
Účel | Presto 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 |
|
|
Možnosti / funkce | Presto 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 konektory | Presto 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ů.
| 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í dotazy | Presto 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 atd | Data 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 -
- Apache Spark vs Apache Flink - 8 užitečných věcí, které potřebujete vědět
- Apache Hive vs Apache Spark SQL - 13 úžasných rozdílů
- Nejlepší 6 srovnání mezi Hadoop Vs SQL
- Hadoop vs Teradata - cenné rozdíly