Skillnader mellan till Spark SQL vs Presto

Presto i enkla termer är 'SQL Query Engine', ursprungligen utvecklad för Apache Hadoop. Det är en öppen källkodad distribuerad SQL-frågemotor som är utformad för att köra interaktiva analytiska frågor mot datasatser i alla storlekar.

Spark SQL är en distribuerad beräkningsmotor i minnet med ett SQL-lager ovanpå strukturerade och halvstrukturerade datamängder. Sedan bearbetningen i minnet kommer behandlingen att ske snabbt i Spark SQL.

Head-to-head jämförelse mellan Spark SQL vs Presto (Infographics)

Nedan visas Top 7-jämförelsen mellan Spark SQL vs Presto

Viktiga skillnader mellan Spark SQL vs Presto

Nedan är listan, om nyckelskillnaden mellan Presto och Spark SQL

  • Apache Spark introducerar en programmeringsmodul för bearbetning av strukturerade data som heter Spark SQL. Spark SQL innehåller en kodningsabstraktion som kallas Data Frame som kan fungera som en distribuerad SQL-frågestyrmotor.
  • Motivet bakom början av Presto var att möjliggöra interaktiv analys och tillvägagångssätt för hastigheten på kommersiella datalager med kraft att skala storlek på organisationer som matchar Facebook.
  • Medan Spark SQL är en komponent ovanpå Spark Core som introducerar en ny dataabstraktion som kallas SchemaRDD (Resilient Distribuerade databaser), ger den stöd för strukturerade / semistrukturerade data.
  • Presto designades som ett alternativ till verktyg som frågar HDFS-data med MapReduce-jobb som Hive eller Pig, men Presto är inte begränsat till HDFS.
  • Spark SQL följer behandling i minnet, vilket ökar bearbetningshastigheten. Spark är designad för att behandla ett brett utbud av arbetsbelastningar som batchfrågor, iterativa algoritmer, interaktiva frågor, streaming etc.
  • Presto kan utföra de federala frågorna. Nedan är exemplet med Presto Federated Queries

Låt oss anta alla RDBMS med tabellprov1

Och HIVE med tabellprov2,

'Testdb' är databasen i både bikupan och MYSQL. Med Presto kan vi utvärdera data med hjälp av en enda fråga när deras anslutningar är korrekt konfigurerade som visas nedan-

presto> hive.Testdb.sample2

Funktion (välj / Gruppera efter ..etc)> mysql.Testdb.sample1

  • Spark SQL-arkitektur består av Spark SQL, Schema RDD och Data Frame
    • En dataram är en insamling av data; data organiseras i namngivna kolumner. Tekniskt sett är det samma som relationsdatabasstabeller.
    • Schema RDD: Spark Core innehåller speciell datastruktur som kallas RDD. Spark SQL fungerar på scheman, tabeller och poster. Därför kan en användare använda Schema RDD som en tillfällig tabell. Så att användaren kan kalla detta schema RDD som dataram
  • Dataramfunktioner: Dataram bearbetar data i storleken Kilobytes till Petabytes i ett enda nodkluster till flera nodkluster,
  • Dataram stöder olika dataformat (CSV, elasticsearch, Cassandra etc) och lagringssystem (HDFS, HIVE-tabeller, MySQL, etc). Det kan integreras med alla Big Data-verktyg / ramar via Spark-Core och ger API för språk som t.ex. Python, Java, Scala och R-programmering.
  • Presto är en distribuerad motor och fungerar på en klusterinstallation. Presto-arkitekturen är enkel att förstå och utdragbar. Presto-klienten (CLI) skickar SQL-uttalanden till en master daemon-samordnare som hanterar behandlingen.
  • Företag som använder Presto: Facebook, Netflix, Airbnd, Dropbox etc.
  • Apache Spark Use Cases finns i branscher som finans, detaljhandel, sjukvård och resor etc. Många e-handelswebbplatser som eBay, Alibaba, Pinterest använder Spark SQL för att analysera hundratals petabytes data på sin e-handelsplattform.

Jämförelser Tabell Spark SQL vs Presto

Nedan är den bästa jämförelsen mellan SQL vs Presto

Grund för jämförelse mellan SQL vs Presto Presto Spark SQL
Ekosystem / plattformarHadoop, Big Data Processing etc.Gnistram, Big Data Processing etc.
ÄndamålPresto är designad för att köra SQL-frågor över Big Data (stora arbetsbelastningar).
Det designades av Facebook för att bearbeta deras enorma arbetsbelastning …
Spark SQL är en av komponenterna i Apache Spark Core.
Spark Core är den grundläggande exekveringsmotorn för gnistplattform
Uppstart
  • Presto är en distribuerad SQL-frågeställningsmotor för bearbetning av husdelsbyte med data och den körs på ett kluster som konfigurerat med en uppsättning maskiner.
  • En fullständig Presto-klusteruppsättning inkluderar en koordinator (Manager Node) och flera arbetare. Användaren skickar frågor från en klient som är Presto CLI till samordnaren. Koordinatorn analyserar, analyserar och planerar frågeställningen och sedan distribuerar hanteringen av frågan till arbetarna.
  • Spark SQL-inställningen kommer att gå ur rutan om du installerar och konfigurerar Apache Spark Cluster
  • Apache Spark är Hadoops delprojekt.
  • Apaches Spark är en klusterbaserad Big Data-behandlingsteknik, designad för snabb beräkning.
Kapacitet / FeaturesPresto tillåter datafråga över många datakällor; Till exempel kan data vara bosatta i datalager: Hive, Cassandra, RDBMS och vissa andra egna datalagrar.Spark SQL ger flexibilitet i integration med andra datakällor med hjälp av dataramar och JDBC-anslutningar.
Support för kontakterPresto stöder pluggbara kontakter. Dessa anslutningar ger datauppsättningar för frågor.

Nedan finns flera redan existerande kontakter tillgängliga i Presto, medan Presto ger möjlighet att ansluta med anpassade kontakter också.
Nedan är några av de anslutningar som den stöder

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

Ett dataramgränssnitt tillåter olika datakällor att arbeta med Spark SQL.
Spark SQL innehåller ett serverläge med JDBC- och ODBC-anslutningsstandard.
Federated QueriesPresto stöder Federated Queries. Presto kan konfigureras för att ansluta till olika DB: er och konfigureras en gång. dess CLI kan användas för att starta "Federated Queries".
I en Presto-fråga kan användaren kombinera data från flera datakällor och köra frågan.
Spark SQL kommer med en inbyggd funktion för att ansluta till andra databaser med JDBC som är "JDBC till andra databaser", det hjälper till i federationsfunktionen.
Spark skapar dataramar med hjälp av JDBC: databasfunktionen genom att utnyttja scala / python API, men det fungerar också direkt med Spark SQL Thrift-servern och gör det möjligt för användare att fråga externa JDBC-tabeller enkelt som andra hive / gnisttabeller.
Vem använder?Dataanalytiker, dataingenjörer, datavetare osvDataanalytiker, dataingenjörer, datavetare, gnistutvecklare etc.

Slutsatser -Spark SQL vs Presto

Spark SQL och Presto, båda är SQL-distribuerade motorer tillgängliga på marknaden.

Presto är till stor hjälp när det gäller BI-typfrågor, och Spark SQL leder prestandamässigt i stora analysfrågor. Vid jämförelse med avseende på konfiguration, konfigurerade Presto enkelt än Spark SQL. Både Spark SQL och Presto står lika på en marknad och löser en annan typ av affärsproblem.

Rekommenderad artikel

Detta har varit en guide till Spark SQL vs Presto, deras betydelse, jämförelse mellan huvud och huvud, viktiga skillnader, jämförelsetabell och slutsats. Du kan också titta på följande artiklar för att lära dig mer -

  1. Apache Spark vs Apache Flink - 8 användbara saker du behöver veta
  2. Apache Hive vs Apache Spark SQL - 13 fantastiska skillnader
  3. Bästa 6 jämförelser mellan Hadoop Vs SQL
  4. Hadoop vs Teradata - värderbara skillnader

Kategori: