Spark SQL vs Presto - Find ud af den 7 nyttige sammenligning

Indholdsfortegnelse:

Anonim

Forskelle mellem til Spark SQL vs Presto

Presto på enkle vilkår er 'SQL Query Engine', oprindeligt udviklet til Apache Hadoop. Det er en open source distribueret SQL-forespørgselsmotor designet til at køre interaktive analytiske forespørgsler mod datasæt i alle størrelser.

Spark SQL er en distribueret computermotor i hukommelsen med et SQL-lag på toppen af ​​strukturerede og semistrukturerede datasæt. Da dens in-memory-behandling er behandlingen hurtig i Spark SQL.

Sammenligning fra head to head mellem Spark SQL vs Presto (Infographics)

Nedenfor er Top 7 sammenligningen mellem Spark SQL vs Presto

Vigtige forskelle mellem Spark SQL vs Presto

Nedenfor er listen over nøgleforskellen mellem Presto og Spark SQL

  • Apache Spark introducerer et programmeringsmodul til behandling af strukturerede data kaldet Spark SQL. Spark SQL inkluderer en kodningsabstraktion kaldet Data Frame, som kan fungere som en distribueret SQL-forespørgselsmotor.
  • Motivet bag starten af ​​Presto var at muliggøre interaktiv analyse og tilgange til hastigheden af ​​kommercielle datalager med magt til at skalere størrelsen på organisationer, der matcher Facebook.
  • Mens Spark SQL er en komponent oven på Spark Core, der introducerer en ny dataabstraktion kaldet SchemaRDD (Resilient Distribuerede Datasæt), giver den support til strukturerede / semistrukturerede data.
  • Presto blev designet som et alternativ til værktøjer, der forespørger HDFS-data ved hjælp af MapReduce-job såsom Hive eller Pig, men Presto er ikke begrænset til HDFS.
  • Spark SQL følger behandling i hukommelsen, hvilket øger behandlingshastigheden. Spark er designet til at behandle en lang række arbejdsbelastninger såsom batch-forespørgsler, iterative algoritmer, interaktive forespørgsler, streaming osv.
  • Presto er i stand til at udføre de føderative forespørgsler. Nedenfor er eksemplet med Presto Federated Queries

Lad os antage enhver RDBMS med tabeleksempel1

Og HIVE med tabeleksempel2,

'Testdb' er databasen i både hive og MYSQL. Ved hjælp af Presto kan vi evaluere data ved hjælp af en enkelt forespørgsel, når deres stik er konfigureret korrekt som vist nedenfor-

presto> hive.Testdb.sample2

Funktion (vælg / Gruppér efter ..etc)> mysql.Testdb.sample1

  • Spark SQL-arkitektur består af Spark SQL, Schema RDD og Data Frame
    • En dataramme er en samling af data; dataene er organiseret i navngivne kolonner. Teknisk set er det det samme som relationelle databasetabeller.
    • Skema RDD: Spark Core indeholder speciel datastruktur kaldet RDD. Spark SQL fungerer på skemaer, tabeller og poster. Derfor kan en bruger bruge Schema RDD som en midlertidig tabel. Så denne bruger kan kalde dette skema RDD som dataramme
  • Dataramme kapaciteter: Dataramme behandler dataene i størrelsen Kilobytes til Petabytes i en enkelt knudepunktklynge til flere knudepunkter,
  • Dataramme understøtter forskellige dataformater (CSV, elasticsearch, Cassandra osv.) Og lagringssystemer (HDFS, HIVE-tabeller, MySQL osv.). Det kan integreres med alle Big Data-værktøjer / rammer via Spark-Core og giver API til sprog som f.eks. Python, Java, Scala og R-programmering.
  • Mens Presto er en distribueret motor, fungerer ved en klyngeopsætning. Presto-arkitektur er enkel at forstå og udvides. Presto-klient (CLI) sender SQL-udsagn til en master daemon-koordinator, der administrerer behandlingen.
  • Virksomheder, der bruger Presto: Facebook, Netflix, Airbnd, Dropbox osv.
  • Tilfælde til brug af Apache-gnister kan findes i brancher som økonomi, detailhandel, sundhedspleje og rejser osv. Mange e-handelswebsteder som eBay, Alibaba, Pinterest bruger Spark SQL til at analysere hundreder af petabytes data på sin e-handelsplatform.

Sammenligninger Table Spark SQL vs Presto

Nedenfor er den øverste sammenligning mellem SQL vs Presto

Grundlag for sammenligning mellem SQL vs Presto Presto Gnist SQL
Økosystemer / platformeHadoop, Big Data Processing osvGnistramme, Big Data-behandling osv
FormålPresto er designet til at køre SQL-forespørgsler over Big Data (kæmpe arbejdsbelastninger).
Det blev designet af Facebook til at behandle deres enorme arbejdsbelastning ..
Spark SQL er en af ​​komponenterne i Apache Spark Core.
Spark Core er den grundlæggende udførelsesmotor til gnistplatform
Opsætning
  • Presto er en distribueret SQL-forespørgselsmotor til behandling af kæledyrsbyte af data, og den kører på en klynge som opsat med et sæt maskiner.
  • En komplet Presto-klyngeopsætning inkluderer en koordinator (Manager Node) og flere arbejdstagere. Bruger sender spørgsmålene fra en klient, der er Presto CLI, til koordinatoren. Koordinatoren analyserer, analyserer og planlægger udførelsen af ​​forespørgslen, og derefter distribuerer den behandlingen af ​​forespørgslen til arbejderne.
  • Spark SQL-opsætning vil være ude af boksen, hvis du installerer og konfigurerer Apache Spark Cluster
  • Apache Spark er Hadoops delprojekt.
  • Apaches Spark er en klyngebaseret Big Data-behandlingsteknologi designet til hurtig beregning.
Kapaciteter / EgenskaberPresto tillader dataforespørgsel over mange datakilder; For eksempel kan data være bosiddende i datalagre: Hive, Cassandra, RDBMS og nogle andre proprietære datalagre.Spark SQL giver fleksibilitet i integration med andre datakilder ved hjælp af datarammer og JDBC-stik.
Support til stikPresto understøtter stikbare stik. Disse stik leverer datasæt til forespørgsler.

Nedenfor er flere allerede eksisterende stik, der er tilgængelige i Presto, mens Presto også giver mulighed for at oprette forbindelse til brugerdefinerede stik.
Nedenfor er nogle af de stik, det understøtter

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

En dataramme-interface gør det muligt for forskellige datakilder at arbejde med Spark SQL.
Spark SQL inkluderer en servertilstand med branchestandard JDBC og ODBC-forbindelse.
Federated QueriesPresto støtter Federated Queries. Presto kan konfigureres til at oprette forbindelse til forskellige DB'er og en gang være konfigureret; dens CLI kan bruges til at starte 'Federated Queries'.
I en Presto-forespørgsel kan bruger kombinere data fra flere datakilder og køre forespørgslen.
Spark SQL leveres med en indbygget funktion til at oprette forbindelse til andre databaser ved hjælp af JDBC, der er "JDBC til andre databaser", det hjælper med føderationsfunktionen.
Spark opretter datarammerne ved hjælp af JDBC: databasefunktionen ved at udnytte scala / python API, men det fungerer også direkte med Spark SQL Thrift-server og gør det muligt for brugere at forespørge eksterne JDBC-tabeller ubesværet som andre hive / gnistborde.
Hvem bruger?Dataanalytikere, Dataingeniører, Datavidenskabsmænd osvDataanalytikere, Dataingeniører, Datavidenskabsmænd, gnistudvikler osv

Konklusioner -Spark SQL vs Presto

Spark SQL og Presto, begge er SQL-distribuerede motorer, der er tilgængelige på markedet.

Presto er meget nyttigt, når det kommer til BI-type forespørgsler, og Spark SQL fører præstationsmæssigt i store analytiske forespørgsler. Når man sammenligner med hensyn til konfiguration, konfigurerede Presto let end Spark SQL. Både Spark SQL og Presto står lige på et marked og løser en anden slags forretningsproblemer.

Anbefalet artikel

Dette har været en guide til Spark SQL vs Presto, deres betydning, sammenligning mellem hoved og hoved, nøgleforskelle, sammenligningstabel og konklusion. Du kan også se på de følgende artikler for at lære mere -

  1. Apache Spark vs Apache Flink - 8 nyttige ting, du skal vide
  2. Apache Hive vs Apache Spark SQL - 13 fantastiske forskelle
  3. Bedste 6 sammenligninger mellem Hadoop Vs SQL
  4. Hadoop vs Teradata - Værdifulde forskelle