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 / platformok | Hadoop, nagy adatfeldolgozás stb | Spark Framework, nagy adatfeldolgozás stb |
Célja | A 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 |
|
|
Képességek / jellemzők | A 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ása | A 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 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ések | A 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 stb | Adatelemző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 -
- Apache Spark vs Apache Flink - 8 hasznos dolog, amit tudnod kell
- Apache Hive vs Apache Spark SQL - 13 lenyűgöző különbség
- A 6 legjobb összehasonlítás a Hadoop Vs SQL között
- Hadoop vs Teradata -értékelt különbségek