Spark SQL vs Presto - Fedezze fel a 7 hasznos összehasonlítást

Tartalomjegyzék:

Anonim

Különbségek a Spark SQL és a Presto között

A Presto egyszerűen kifejezve az „SQL Query Engine”, amelyet eredetileg az Apache Hadoop számára fejlesztettek ki. Ez egy nyílt forráskódú, elosztott SQL lekérdező rendszer, amely interaktív analitikus lekérdezések futtatására szolgál, bármilyen méretű adatkészlettel szemben.

A Spark SQL egy elosztott memóriában lévő számítási motor, SQL réteggel a strukturált és félig strukturált adatkészletek tetején. A membrán belüli feldolgozása óta a feldolgozás gyors lesz a Spark SQL alkalmazásban.

Összehasonlítás a Spark SQL és a Presto között (Infographics)

Az alábbiakban a Spark SQL és a Presto összehasonlítása a 7 legnépszerűbb elemről

Főbb különbségek a Spark SQL és a Presto között

Az alábbiakban felsoroljuk a Presto és a Spark SQL közötti különbségeket

  • Az Apache Spark bevezet egy Spark SQL nevű programozási modult a strukturált adatok feldolgozására. A Spark SQL tartalmaz egy Data Frame néven kódolt absztrakciót, amely elosztott SQL lekérdezőmotorként működhet.
  • A Presto kezdete mögött az volt a cél, hogy lehetővé tegyék az interaktív elemzést és a kereskedelmi adattárházak sebességének megközelítését a Facebook-hoz igazodó szervezetek méretének növelésével.
  • Míg a Spark SQL egy olyan elem, amely a Spark Core tetején vezet be új adat-absztrakciót, a SchemaRDD (Resilient Distributed Datasets) néven, támogatást nyújt a strukturált / félig strukturált adatokhoz.
  • A Presto programot olyan eszközök alternatívájaként fejlesztették ki, amelyek a HDFS-adatok lekérdezésére szolgálnak MapReduce jobok, például Hive vagy Pig felhasználásával, de a Presto nem korlátozódik a HDFS-re.
  • A Spark SQL követi a memórián belüli feldolgozást, ami növeli a feldolgozási sebességet. A Spark sokféle munkaterhelés feldolgozására szolgál, például kötegelt lekérdezések, iteratív algoritmusok, interaktív lekérdezések, streaming stb.
  • A Presto képes végrehajtani a szövetségi lekérdezéseket. Az alábbiakban bemutatjuk a Presto egyesített lekérdezések példáját

Tegyük fel, hogy az RDBMS az 1. táblázat táblájával rendelkezik

És HIVE az asztali mintával2,

A 'Testdb' az adatbázis mind a kaptárban, mind a MYSQL-ben. A Presto használatával egyetlen lekérdezés alapján kiértékelhetjük az adatokat, miután csatlakozóik helyesen vannak konfigurálva, az alább látható módon -

presto> hive.Testdb.sample2

Funkció (válassza / csoportosítsa az ..etc szerint)> mysql.Testdb.sample1

  • A Spark SQL architektúra Spark SQL-ből, Séma RDD-ből és Adatkeretből áll
    • Az Adatkeret adatgyűjtemény; az adatok megnevezett oszlopokba vannak rendezve. Technikailag ugyanaz, mint a relációs adatbázis táblázatok.
    • RDD séma: A Spark Core speciális adatstruktúrát tartalmaz, RDD néven. A Spark SQL sémákon, táblázatokon és rekordokon működik. Ezért a felhasználó a Séma RDD-t ideiglenes táblázatként használhatja. Így a felhasználó ezt a séma RDD-t adatkeretnek hívhatja
  • Adatkeret-képességek: Az adatkeret egy csomópontfürtön több csomópontfürtön feldolgozza az adatokat kilobájt-petatabáttá,
  • Az Adatkeret támogatja a különféle adatformátumokat (CSV, elasztikus keresés, Cassandra stb.) És tárolórendszereket (HDFS, HIVE táblák, MySQL stb.). Integrálható minden Big Data eszközhöz / keretrendszerbe a Spark-Core segítségével, és API-t biztosít olyan nyelvekhez, mint például Python, Java, Scala és R programozás.
  • Míg a Presto egy elosztott motor, a klaszterbeállításon működik. A Presto architektúra egyszerűen érthető és bővíthető. A Presto kliens (CLI) az SQL utasításokat továbbítja a démon mester koordinátorának, amely kezeli a feldolgozást.
  • A Presto-t használó vállalatok: Facebook, Netflix, Airbnd, Dropbox stb.
  • Az Apache Spark használati esetek olyan iparágakban találhatók, mint a pénzügy, a kiskereskedelem, az egészségügy és az utazás stb. Sok e-kereskedelemmel foglalkozó webhely, például az eBay, az Alibaba, a Pinterest a Spark SQL-t használja az e-kereskedelmi platformon tárolt adatok százas petatabitájának elemzésére.

Összehasonlítási táblázat Spark SQL vs Presto

Az alábbiakban az SQL vs Presto legfelső összehasonlítása található

Az SQL és a Presto összehasonlításának alapjai Gyors Spark SQL
Öko-rendszerek / platformokHadoop, nagy adatfeldolgozás stbSpark Framework, nagy adatfeldolgozás stb
CéljaA Presto az SQL lekérdezések futtatására szolgál a Big Data (Hatalmas munkaterhelések) felett.
A Facebook úgy tervezte, hogy feldolgozza a hatalmas terhelésüket.
A Spark SQL az Apache Spark Core egyik összetevője.
A Spark Core a szikraplatform alapvető végrehajtó motorja
Beállít
  • A Presto egy elosztott SQL lekérdezésű motor, amely kisállat adatbájtot dolgoz fel, és olyan fürtön fut, mint egy gépkészlettel felállítva.
  • A Presto fürt teljes beállításához koordinátor (Manager Node) és több dolgozó tartozik. A felhasználó benyújtja a Presto CLI-től érkező kéréseket a koordinátornak. A koordinátor elemzi, elemzi és megtervezi a lekérdezés végrehajtását, majd elosztja a lekérdezés feldolgozását a munkavállalók számára.
  • A Spark SQL telepítése nem lesz megfelelő, ha telepíti és konfigurálja az Apache Spark Cluster alkalmazást
  • Az Apache Spark a Hadoop alprojektje.
  • Az Apaches Spark egy fürt alapú Big Data feldolgozási technológia, amelyet a gyors számításhoz terveztek.
Képességek / jellemzőkA Presto lehetővé teszi az adatok lekérdezését sok adatforráson keresztül; Például, az adatok az adattárolókban találhatók: Hive, Cassandra, RDBMS és néhány más védett adattárolóban.A Spark SQL rugalmasságot biztosít az egyéb adatforrásokkal való integrációban az adatkeretek és a JDBC csatlakozók segítségével.
A csatlakozók támogatásaA Presto támogatja a dugaszolható csatlakozókat. Ezek a csatlakozók adatkészleteket biztosítanak a lekérdezésekhez.

Az alábbiakban található néhány, a Presto-ban már létező csatlakozó, míg a Presto lehetővé teszi az egyéni csatlakozókkal történő csatlakozást is.
Az alábbiakban bemutatjuk azokat a csatlakozókat, amelyeket támogat

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

Az Adatkeret interfész lehetővé teszi a különféle adatforrások számára a Spark SQL működését.
A Spark SQL kiszolgáló üzemmódot tartalmaz ipari szabványú JDBC és ODBC csatlakozással.
Egyesített lekérdezésekA Presto támogatja az egyesített lekérdezéseket. A Presto konfigurálható úgy, hogy csatlakozzon különféle DB-khez, és egyszer konfigurálható; annak CLI-je felhasználható a 'Federated Queries' elindítására.
Egy Presto lekérdezés során a felhasználó egyesítheti több adatforrás adatait és futtathatja a lekérdezést.
A Spark SQL beépített szolgáltatással rendelkezik, amely a JDBC használatával kapcsolódik más adatbázisokhoz, azaz „JDBC más adatbázisokhoz”. Ez segíti az összevonási funkciót.
A Spark a JDBC: adatbázis funkcióval hozza létre az adatkereteket a scala / python API kihasználásával, de közvetlenül működik a Spark SQL Thrift szerverrel is, és lehetővé teszi a felhasználók számára, hogy külső JDBC táblázatokat könnyedén lekérdezzék, mint más kaptár / szikra táblák.
Ki használ?Adatelemzők, adatmérnökök, adattudósok stbAdatelemzők, adatmérnökök, adattudósok, Spark Developer stb

Következtetések -Spark SQL vs Presto

A Spark SQL és a Presto, mind a piacon elérhető SQL elosztott motorok.

A Presto nagyon hasznos a BI típusú lekérdezéseknél, a Spark SQL pedig a teljesítmény szempontjából vezet nagy elemzési lekérdezéseknél. Ha összehasonlítjuk a konfigurációval, a Presto könnyen beállítható, mint a Spark SQL. A Spark SQL és a Presto egyaránt jelen vannak a piacon, és más típusú üzleti problémákat oldanak meg.

Ajánlott cikk

Ez egy útmutató a Spark SQL vs Presto-hoz, azok jelentéséhez, a fej-fej összehasonlításhoz, a legfontosabb különbségekhez, az összehasonlító táblázathoz és a következtetésekhez. A következő cikkeket is megnézheti további információkért -

  1. Apache Spark vs Apache Flink - 8 hasznos dolog, amit tudnod kell
  2. Apache Hive vs Apache Spark SQL - 13 lenyűgöző különbség
  3. A 6 legjobb összehasonlítás a Hadoop Vs SQL között
  4. Hadoop vs Teradata -értékelt különbségek