Spark SQL vs Presto - Poiščite 7 koristnih primerjav

Kazalo:

Anonim

Razlike med Spark SQL in Presto

Presto poenostavljeno je "SQL Query Engine", prvotno razvit za Apache Hadoop. Gre za odprtokodni mehanizem za poizvedbe SQL, zasnovan za izvajanje interaktivnih analitičnih poizvedb proti naborom podatkov vseh velikosti.

Spark SQL je porazdeljen računalniški mehanizem v pomnilniku s slojem SQL na vrhu strukturiranih in polstrukturiranih naborov podatkov. Po obdelavi v pomnilniku bo obdelava v Spark SQL hitra.

Primerjava med proizvajalci Spark SQL in Presto (Infographics)

Spodaj je primerjava najboljših 7 med Spark SQL in Presto

Ključne razlike med Spark SQL in Presto

Spodaj je seznam ključne razlike med Presto in Spark SQL

  • Apache Spark uvaja programski modul za obdelavo strukturiranih podatkov, imenovan Spark SQL. Spark SQL vključuje abstrakcijo kodiranja, imenovano Data Frame, ki lahko deluje kot porazdeljeni mehanizem za poizvedbe SQL.
  • Motiv za začetek Prestoja je bil, da omogočimo interaktivno analitiko in pristope do hitrosti komercialnih skladišč podatkov, ki omogočajo spreminjanje velikosti organizacij, ki ustrezajo Facebooku.
  • Medtem ko je Spark SQL komponenta na vrhu Spark Core, ki uvaja novo odvzem podatkov, imenovano SchemaRDD (Resilient Distributed Nets), zagotavlja podporo za strukturirane / polstrukturirane podatke.
  • Presto je bil zasnovan kot alternativa orodjem, ki poizvedujejo po HDFS podatkih z uporabo opravil MapReduce, kot sta Hive ali Pig, vendar Presto ni omejeno na HDFS.
  • Spark SQL sledi obdelavi v pomnilniku, kar poveča hitrost obdelave. Spark je zasnovan za obdelavo najrazličnejših delovnih obremenitev, kot so paketne poizvedbe, iterativni algoritmi, interaktivne poizvedbe, pretakanje itd.
  • Presto lahko izvaja federativne poizvedbe. Spodaj je primer Presto Federated Queries

Predpostavimo, da je kateri koli RDBMS s vzorcem tabele1

In HIVE s tabelo sample2,

'Testdb' je baza podatkov tako v panju kot v MYSQL. Z uporabo programa Presto lahko podatke ocenimo v eni poizvedbi, ko so njihovi priključki pravilno konfigurirani, kot je prikazano spodaj-

presto> hive.Testdb.sample2

Funkcija (izberite / Združi po ..etc)> mysql.Testdb.sample1

  • Spark SQL arhitektura je sestavljena iz Spark SQL, Schema RDD in Data Frame
    • Podatkovni okvir je zbirka podatkov; podatki so organizirani v imenovane stolpce. Tehnično je enako tabelam relacijskih baz podatkov.
    • Shema RDD: Spark Core vsebuje posebno podatkovno strukturo, imenovano RDD. Spark SQL deluje na shemah, tabelah in zapisih. Uporabnik lahko zato uporabi shemo RDD kot začasno tabelo. Tako lahko uporabnik kliče ta RDD sheme kot okvir podatkov
  • Zmogljivosti podatkovnega okvirja: Podatkovni okvir obdela podatke v velikosti Kilobajtov do Petabajtov na enem samem vozlišču v več grozdov vozlišč,
  • Podatkovni okvir podpira različne formate podatkov (CSV, elastično iskanje, Cassandra itd) in sisteme za shranjevanje (HDFS, tabele HIVE, MySQL itd.), Lahko ga integriramo z vsemi velikimi podatkovnimi orodji / okviri prek Spark-Coreja in ponuja API za jezike, kot so Programiranje Python, Java, Scala in R.
  • Medtem ko je Presto distribucijski motor, deluje pri nastavitvi grozda. Arhitektura Presto je preprosta za razumevanje in razširljiva. Naročnik Presto (CLI) predloži izjave SQL glavnemu koordinatorju demona, ki upravlja obdelavo.
  • Podjetja, ki uporabljajo Presto: Facebook, Netflix, Airbnd, Dropbox itd.
  • Primeri uporabe Apache Spark lahko najdemo v panogah, kot so finance, trgovina na drobno, zdravstveno varstvo in potovanja itd. Mnoga spletna mesta za e-trgovino, kot so eBay, Alibaba, Pinterest, uporabljajo Spark SQL za analizo na stotine petabajtov podatkov na njegovi platformi za e-trgovino.

Primerjave Tabela Spark SQL vs Presto

Spodaj je zgornja primerjava med SQL in Presto

Osnove primerjave med SQL in Presto Presto Spark SQL
Ekosistemi / platformeHadoop, velika obdelava podatkov itdSpark Framework, velika obdelava podatkov itd
NamenPresto je zasnovan za izvajanje poizvedb SQL po velikih podatkih (ogromne delovne obremenitve).
Facebook je bil zasnovan za obdelavo njihovih velikih delovnih obremenitev.
Spark SQL je ena izmed komponent Apache Spark Core.
Spark Core je temeljni motor za platformo iskre
Nastaviti
  • Presto je porazdeljen poizvedovalnik SQL za obdelavo bajtov podatkov za hišne ljubljenčke in deluje na gruči, kot je nastavljena z naborom strojev.
  • Popolna namestitev grozda Presto vključuje koordinatorja (upraviteljsko vozlišče) in več delavcev. Uporabnik posreduje poizvedbe od stranke, ki je CL Presto, koordinatorju. Koordinator razčleni, analizira in načrtuje izvedbo poizvedb in nato razdeli obdelavo poizvedb delavcem.
  • Če namestite in konfigurirate Apache Spark Cluster, namestitev iskre SQL ne bo v redu
  • Apache Spark je Hadoopov podprojekt.
  • Apaches Spark je tehnologija za obdelavo podatkov Big Big, zasnovana v grozdu, zasnovana za hitro računanje.
Zmožnosti / funkcijePresto omogoča poizvedovanje po podatkih po številnih virih podatkov; Podatki so lahko na primer v zbirkah podatkov: Pive, Cassandra, RDBMS in nekaterih drugih lastniških shrambah podatkov.Spark SQL omogoča prilagodljivost pri integraciji z drugimi viri podatkov z uporabo podatkovnih okvirjev in priključkov JDBC.
Podpora za konektorjePresto podpira vtične konektorje. Ti priključki zagotavljajo naloge podatkov za poizvedbe.

Spodaj je na voljo več obstoječih konektorjev v presto, medtem ko Presto ponuja tudi možnost povezovanja s prilagojenimi konektorji.
Spodaj je nekaj priključkov, ki jih podpira

  • Hadoop / panj
  • Cassandra
  • Teradata
  • PostgreSQL
  • Oracle itd

Vmesnik Data Frame omogoča, da različni viri podatkov delujejo na Spark SQL.
Spark SQL vključuje strežniški način s standardno povezljivostjo JDBC in ODBC.
Zvezna poizvedbaPresto podpira združene poizvedbe. Presto je mogoče konfigurirati za povezavo z različnimi DB-ji in enkrat konfiguriran; njegov CLI se lahko uporablja za zagon „Zveznih poizvedb“.
V eni Presto poizvedbi lahko uporabnik združi podatke iz več virov in izvede poizvedbo.
Spark SQL ima vgrajeno funkcijo za povezovanje z drugimi bazami podatkov z uporabo JDBC, ki je "JDBC v druge baze podatkov", saj pomaga pri funkciji federacije.
Spark ustvarja podatkovne okvire z uporabo baze podatkov JDBC: baza podatkov z uporabo API-ja skala / python, vendar deluje tudi neposredno s strežnikom Spark SQL Thrift in uporabnikom omogoča enostavno poizvedovanje po zunanjih tabelah JDBC kot pri drugih tabel pive / iskre.
Kdo uporablja?Analizatorji podatkov, Inženirji podatkov, Znanstveniki podatkov itdAnalizatorji podatkov, Inženirji podatkov, Znanstveniki podatkov, Razvijalec Spark itd

Zaključki -Park SQL vs Presto

Spark SQL in Presto, oba sta distribuirana SQL na trgu.

Presto je zelo koristen, ko gre za poizvedbe tipa BI, Spark SQL pa vodi uspešnost pri velikih poizvedbah analitike. V primerjavi s konfiguracijo je Presto nastavil enostavno kot Spark SQL. Tako Spark SQL kot Presto sta enakovredno na trgu in rešujeta drugačne poslovne težave.

Priporočeni članek

To je vodnik za Spark SQL vs Presto, njihov pomen, primerjava med seboj, ključne razlike, primerjalno tabelo in sklep. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Apache Spark vs Apache Flink - 8 koristnih stvari, ki jih morate vedeti
  2. Apache Hive vs Apache Spark SQL - 13 neverjetnih razlik
  3. Najboljših 6 primerjav med Hadoop Vs SQL
  4. Hadoop proti Teradata-Vredno razlike