Разлики между Spark SQL срещу Presto

Presto с прости думи е „SQL Query Engine“, първоначално разработен за Apache Hadoop. Това е SQL заявка за разпространение с отворен код, предназначена за изпълнение на интерактивни аналитични заявки срещу набори от данни от всички размери.

Spark SQL е разпределен механизъм за изчисление в паметта със SQL слой отгоре на структурирани и полуструктурирани набори от данни. След обработката си в паметта, обработката ще бъде бърза в Spark SQL.

Сравнение между главата на Spark SQL срещу Presto (Инфографика)

По-долу са най-добрите 7 сравнение между Spark SQL срещу Presto

Ключови разлики между Spark SQL срещу Presto

По-долу е списъкът, за ключовата разлика между Presto и Spark SQL

  • Apache Spark представя модул за програмиране за обработка на структурирани данни, наречен Spark SQL. Spark SQL включва кодиране абстракция, наречена Data Frame, която може да действа като разпределен SQL механизъм за заявки.
  • Мотивът в началото на Presto беше да се даде възможност за интерактивна анализа и подходи към скоростта на търговските складове с данни с възможност за мащабиране на размера на организациите, отговарящи на Facebook.
  • Докато Spark SQL е компонент отгоре на Spark Core, който въвежда нова абстракция на данни, наречена SchemaRDD (устойчиви разпределени набори от данни), тя осигурява поддръжка на структурирани / полуструктурирани данни.
  • Presto е създаден като алтернатива на инструментите, които питат данни за HDFS, използвайки задания на MapReduce като Hive или Pig, но Presto не се ограничава до HDFS.
  • Spark SQL следва обработка в паметта, което увеличава скоростта на обработка. Spark е предназначен за обработка на широк спектър от натоварвания като партидни заявки, итеративни алгоритми, интерактивни заявки, стрийминг и т.н.
  • Presto е в състояние да изпълнява федеративните заявки. По-долу е примерът на Presto Federated Queries

Нека приемем всяка RDBMS с таблица sample1

И НАДАВАЙТЕ с таблица sample2,

'Testdb' е базата данни в кошера и в MYSQL. С помощта на Presto можем да оценим данните с помощта на една заявка, след като техните конектори са конфигурирани правилно, както е показано по-долу-

presto> hive.Testdb.sample2

Функция (изберете / Групиране по ..etc)> mysql.Testdb.sample1

  • Spark SQL архитектурата се състои от Spark SQL, Schema RDD и Data Frame
    • A Data Frame е съвкупност от данни; данните се организират в именани колони. Технически това е същото като таблици с релационни бази данни.
    • Схема RDD: Spark Core съдържа специална структура на данни, наречена RDD. Spark SQL работи върху схеми, таблици и записи. Следователно, потребителят може да използва схемата RDD като временна таблица. Така че потребителят може да нарече тази схема RDD като рамка от данни
  • Възможности за кадър на данни: Кадърът от данни обработва данните в размер от Килобайт до Petabytes в един клъстер на възел до множество клъстерни възли,
  • Data Frame поддържа различни формати на данни (CSV, elasticsearch, Cassandra и т.н.) и системи за съхранение (HDFS, HIVE таблици, MySQL и т.н.), може да бъде интегриран с всички големи данни / рамки чрез Spark-Core и предоставя API за езици като Програмиране на Python, Java, Scala и R.
  • Докато Presto е разпределен двигател, работи при настройка на клъстери. Presto архитектурата е проста за разбиране и разширяема. Клиентът Presto (CLI) изпраща SQL изявления на главен демон-координатор, който управлява обработката.
  • Компании, използващи Presto: Facebook, Netflix, Airbnd, Dropbox и т.н.
  • Случаите за използване на искри Apache могат да бъдат намерени в индустрии като финанси, търговия на дребно, здравеопазване и пътувания и др. Много уебсайтове за електронна търговия като eBay, Alibaba, Pinterest използват Spark SQL за анализ на стотици петабайта данни в платформата му за електронна търговия.

Сравнения Таблица Spark SQL срещу Presto

По-долу е най-горното сравнение между SQL срещу Presto

Основа за сравнение между SQL срещу Presto престо Spark SQL
Екосистеми / ПлатформиHadoop, обработка на големи данни и т.н.Spark Framework, обработка на големи данни и т.н.
ПредназначениеPresto е предназначен за изпълнение на SQL заявки над големи данни (огромни натоварвания).
Той е проектиран от Facebook за обработка на огромните им натоварвания ..
Spark SQL е един от компонентите на Apache Spark Core.
Spark Core е основен двигател за изпълнение на искра платформата
Настройвам
  • Presto е разпределен SQL механизъм за заявки за обработка на байтове за домашни любимци и работи на клъстер като създаден с набор от машини.
  • Пълната настройка на клъстерите Presto включва координатор (Мениджърски възел) и множество работници. Потребителят изпраща заявките от клиент, който е CLI Presto, на координатора. Координаторът анализира, анализира и планира изпълнението на заявката и след това ще разпространи обработката на заявките на работниците.
  • Настройката на Spark SQL ще бъде изключена, ако инсталирате и конфигурирате Apache Spark Cluster
  • Apache Spark е под-проектът на Hadoop.
  • Apaches Spark е базирана на клъстери технология за обработка на големи данни, предназначена за бързи изчисления.
Възможности / ХарактеристикиPresto позволява запитване на данни за много източници на данни; Например, Данни може да пребивават в хранилища на данни: Hive, Cassandra, RDBMS и някои други собствени хранилища на данни.Spark SQL дава гъвкавост в интеграцията с други източници на данни, използвайки кадрите с данни и JDBC конектори.
Поддръжка за конекториPresto поддържа подвижни конектори. Тези конектори предоставят набори от данни за заявки.

По-долу са представени няколко съществуващи конектора, предлагани в presto, докато Presto предоставя възможност за свързване и с персонализирани конектори.
По-долу са някои от конекторите, които поддържа

  • Hadoop / Hive
  • Касандра
  • Teradata
  • PostgreSQL
  • Oracle и т.н.

Интерфейсът на Data Frame позволява на различни източници на данни да работят върху Spark SQL.
Spark SQL включва сървърен режим със стандартни за индустрията JDBC и ODBC свързаност.
Федерални заявкиPresto поддържа Federated Queries. Presto може да бъде конфигуриран да се свързва с различни БД и веднъж конфигуриран; нейният CLI може да се използва за стартиране на „Федерални заявки“.
В един Presto заявка потребителят може да комбинира данни от множество източници на данни и да изпълни заявката.
Spark SQL идва с вградена функция за свързване с други бази данни с помощта на JDBC, която е „JDBC към други бази данни“, тя помага във функция за федерация.
Spark създава кадрите с данни, използвайки JDBC: функция на базата данни, използвайки скала / python API, но също така работи директно със сървъра Spark SQL Thrift и позволява на потребителите безпроблемно да правят заявки на външни таблици на JDBC като други таблици на кошери / искра.
Кой използва?Анализатори на данни, инженери на данни, учени по данни и дрАнализатори на данни, инженери на данни, учени по данни, разработчици на искри и др

Изводи -Spark SQL срещу Presto

Spark SQL и Presto, и двете са разпределени в SQL двигатели на пазара.

Presto е много полезен, когато става въпрос за BI тип заявки, а Spark SQL води до ефективност при големи аналитични заявки. Когато сравнява по отношение на конфигурацията, Presto настройва по-лесно от Spark SQL. И Spark SQL, и Presto стоят еднакво на пазара и решават различни видове бизнес проблеми.

Препоръчителен член

Това е ръководство за Spark SQL срещу Presto, тяхното значение, сравнение между главата, ключови разлики, таблица за сравнение и заключение. Можете също да разгледате следните статии, за да научите повече -

  1. Apache Spark vs Apache Flink - 8 полезни неща, които трябва да знаете
  2. Apache Hive срещу Apache Spark SQL - 13 невероятни разлики
  3. Най-добри 6 сравнения между Hadoop Vs SQL
  4. Hadoop срещу Teradata -Valuable Differnces