Spark SQL vs Presto - Ontdek de 7 nuttige vergelijking

Inhoudsopgave:

Anonim

Verschillen tussen Spark SQL versus Presto

Presto in eenvoudige bewoordingen is 'SQL Query Engine', oorspronkelijk ontwikkeld voor Apache Hadoop. Het is een open source gedistribueerde SQL-query-engine die is ontworpen voor het uitvoeren van interactieve analytische query's op gegevenssets van alle groottes.

Spark SQL is een gedistribueerde in-memory rekenmachine met een SQL-laag bovenop gestructureerde en semi-gestructureerde datasets. Sinds de verwerking in het geheugen, zal de verwerking snel zijn in Spark SQL.

Head to Head-vergelijking tussen Spark SQL versus Presto (Infographics)

Hieronder vindt u de Top 7-vergelijking tussen Spark SQL versus Presto

Belangrijkste verschillen tussen Spark SQL versus Presto

Hieronder is de lijst, over het belangrijkste verschil tussen Presto en Spark SQL

  • Apache Spark introduceert een programmeermodule voor het verwerken van gestructureerde gegevens genaamd Spark SQL. Spark SQL bevat een coderingsabstractie genaamd Data Frame die kan fungeren als gedistribueerde SQL-query-engine.
  • Het motief achter het begin van Presto was om interactieve analyses en benaderingen van de snelheid van commerciële datawarehouses mogelijk te maken met de mogelijkheid om de grootte van organisaties die overeenkomen met Facebook te schalen.
  • Terwijl Spark SQL een component bovenop Spark Core is die een nieuwe gegevensabstractie introduceert genaamd SchemaRDD (Resilient Distributed Datasets), biedt het ondersteuning voor gestructureerde / semi-gestructureerde gegevens.
  • Presto is ontworpen als alternatief voor tools die HDFS-gegevens opvragen met MapReduce-taken zoals Hive of Pig, maar Presto is niet beperkt tot HDFS.
  • Spark SQL volgt in-memory-verwerking, die de verwerkingssnelheid verhoogt. Spark is ontworpen om een ​​breed scala aan workloads te verwerken, zoals batchquery's, iteratieve algoritmen, interactieve queries, streaming etc.
  • Presto kan de federatieve query's uitvoeren. Hieronder ziet u het voorbeeld van Presto Federated Queries

Laten we aannemen dat RDBMS met tabel sample1 is

En bijenkorf met tafel sample2,

'Testdb' is de database in zowel Hive als MYSQL. Met Presto kunnen we gegevens evalueren met behulp van een enkele query zodra hun connectoren correct zijn geconfigureerd, zoals hieronder wordt getoond-

presto> hive.Testdb.sample2

Functie (selecteren / Groeperen op … etc)> mysql.Testdb.sample1

  • Spark SQL-architectuur bestaat uit Spark SQL, Schema RDD en Data Frame
    • Een dataframe is een verzameling gegevens; de gegevens zijn georganiseerd in benoemde kolommen. Technisch gezien is het hetzelfde als relationele databasetabellen.
    • Schema RDD: Spark Core bevat een speciale gegevensstructuur die RDD wordt genoemd. Spark SQL werkt op schema's, tabellen en records. Daarom kan een gebruiker de RDD-schema als tijdelijke tabel gebruiken. Zodat de gebruiker dit RDD-schema als gegevensframe kan noemen
  • Dataframe-mogelijkheden: dataframe verwerkt de gegevens in de grootte van Kilobytes tot Petabytes op een enkele knooppuntcluster tot meerdere knooppuntclusters,
  • Data Frame ondersteunt verschillende dataformaten (CSV, elastisch zoeken, Cassandra enz.) En opslagsystemen (HDFS, HIVE-tabellen, MySQL, enz.), Het kan worden geïntegreerd met alle Big Data-tools / frameworks via Spark-Core en biedt API voor talen zoals Python, Java, Scala en R Programming.
  • Terwijl Presto een gedistribueerde engine is, werkt deze op een clusterconfiguratie. Presto-architectuur is eenvoudig te begrijpen en uitbreidbaar. Presto-client (CLI) verzendt SQL-instructies naar een master daemon-coördinator die de verwerking beheert.
  • Bedrijven die Presto gebruiken: Facebook, Netflix, Airbnd, Dropbox etc.
  • Apache Spark Use Cases zijn te vinden in sectoren als Finance, Retail, Healthcare en Travel enz. Veel e-commerce websites zoals eBay, Alibaba, Pinterest gebruiken Spark SQL om honderden petabytes aan gegevens op hun e-commerceplatform te analyseren.

Vergelijkingstabel Spark SQL versus Presto

Hieronder vindt u de bovenste vergelijking tussen SQL en Presto

Vergelijkingsbasis tussen SQL versus Presto Presto Spark SQL
Eco-systemen / platformsHadoop, Big Data Processing enzSpark Framework, Big Data Processing enz
DoelPresto is ontworpen voor het uitvoeren van SQL-query's via Big Data (enorme workloads).
Het is ontworpen door Facebook om hun enorme workloads te verwerken ..
Spark SQL is een van de componenten van Apache Spark Core.
Spark Core is de fundamentele uitvoeringsmotor voor het vonkenplatform
Opgericht
  • Presto is een gedistribueerde SQL-query-engine voor het verwerken van gegevensbytes voor huisdieren en wordt uitgevoerd op een cluster zoals ingesteld met een set machines.
  • Een volledige Presto-clusterconfiguratie omvat een coördinator (Manager Node) en meerdere werknemers. Gebruiker verzendt de vragen van een client die Presto CLI is naar de coördinator. De coördinator ontleedt, analyseert en plant de uitvoering van de query en distribueert de queryverwerking vervolgens naar de werknemers.
  • De installatie van Spark SQL is uit de doos als u Apache Spark Cluster installeert en configureert
  • Apache Spark is het subproject van Hadoop.
  • Apaches Spark is een op een cluster gebaseerde Big Data-verwerkingstechnologie, ontworpen voor snelle berekeningen.
Mogelijkheden / EigenschappenMet Presto kunt u gegevens opvragen bij veel gegevensbronnen; Gegevens kunnen bijvoorbeeld in datastores aanwezig zijn: Hive, Cassandra, RDBMS en enkele andere eigen datastores.Spark SQL biedt flexibiliteit bij de integratie met andere gegevensbronnen met behulp van de gegevensframes en JDBC-connectoren.
Ondersteuning voor connectorenPresto ondersteunt insteekbare connectoren. Deze connectoren bieden gegevenssets voor query's.

Hieronder zijn verschillende reeds bestaande connectoren beschikbaar in Presto, terwijl Presto ook de mogelijkheid biedt om verbinding te maken met aangepaste connectoren.
Hieronder staan ​​enkele connectoren die het ondersteunt

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

Via een Data Frame-interface kunnen verschillende gegevensbronnen op Spark SQL werken.
Spark SQL bevat een servermodus met industriestandaard JDBC- en ODBC-connectiviteit.
Federatieve zoekopdrachtenPresto ondersteunt de Federated Queries. Presto kan worden geconfigureerd om verbinding te maken met verschillende DB's en eenmaal geconfigureerd; de CLI kan worden gebruikt om 'Federated Queries' te starten.
In één Presto-query kan de gebruiker gegevens uit meerdere gegevensbronnen combineren en de query uitvoeren.
Spark SQL wordt geleverd met een ingebouwde functie om verbinding te maken met andere databases met behulp van JDBC dat "JDBC naar andere databases" is, het helpt bij de federatiefunctie.
Spark maakt de dataframes met behulp van de JDBC: database-functie door gebruik te maken van scala / python API, maar het werkt ook rechtstreeks met de Spark SQL Thrift-server en stelt gebruikers in staat moeiteloos externe JDBC-tabellen op te vragen zoals andere bijenkorf- / vonktabellen.
Wie gebruiktData-analisten, Data Engineers, Data Scientists enzData-analisten, Data Engineers, Data Scientists, Spark Developer enz

Conclusies - Park SQL versus Presto

Spark SQL en Presto, beide zijn SQL-gedistribueerde motoren beschikbaar in de markt.

Presto is zeer nuttig als het gaat om BI-type vragen en Spark SQL loopt qua prestaties voorop in grote analyses. In vergelijking met de configuratie is Presto eenvoudiger ingesteld dan Spark SQL. Zowel Spark SQL als Presto staan ​​gelijk in een markt en lossen een ander soort bedrijfsproblemen op.

Aanbevolen artikel

Dit is een handleiding geweest voor Spark SQL vs Presto, hun betekenis, vergelijking van persoon tot persoon, belangrijkste verschillen, vergelijkingstabel en conclusie. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Apache Spark vs Apache Flink - 8 nuttige dingen die u moet weten
  2. Apache Hive vs Apache Spark SQL - 13 verbazingwekkende verschillen
  3. Beste 6 vergelijkingen tussen Hadoop versus SQL
  4. Hadoop versus Teradata - waardevolle verschillen