Differenze tra Spark SQL e Presto
Presto in termini semplici è "SQL Query Engine", inizialmente sviluppato per Apache Hadoop. È un motore di query SQL distribuito open source progettato per l'esecuzione di query analitiche interattive su set di dati di tutte le dimensioni.
Spark SQL è un motore di calcolo distribuito in memoria con un livello SQL in cima a set di dati strutturati e semi-strutturati. Dalla sua elaborazione in memoria, l'elaborazione sarà veloce in Spark SQL.
Confronto testa a testa tra Spark SQL vs Presto (infografica)
Di seguito sono riportati i primi 7 confronti tra Spark SQL e Presto
Differenze chiave tra Spark SQL e Presto
Di seguito è riportato l'elenco, sulla differenza chiave tra Presto e Spark SQL
- Apache Spark introduce un modulo di programmazione per l'elaborazione di dati strutturati chiamato Spark SQL. Spark SQL include un'astrazione di codifica denominata Data Frame che può fungere da motore di query SQL distribuito.
- Il motivo dietro l'inizio di Presto era quello di consentire analisi interattive e approcci alla velocità dei data warehouse commerciali con il potere di ridimensionare le dimensioni delle organizzazioni corrispondenti a Facebook.
- Considerando che Spark SQL è un componente di Spark Core che introduce una nuova astrazione di dati chiamata SchemaRDD (Resilient Distributed Dataset), fornisce supporto per dati strutturati / semi-strutturati.
- Presto è stato progettato come alternativa agli strumenti che interrogano i dati HDFS utilizzando lavori MapReduce come Hive o Pig, ma Presto non è limitato a HDFS.
- Spark SQL segue l'elaborazione in memoria, che aumenta la velocità di elaborazione. Spark è progettato per elaborare un'ampia gamma di carichi di lavoro come query batch, algoritmi iterativi, query interattive, streaming ecc.
- Presto è in grado di eseguire le query federative. Di seguito è riportato l'esempio delle query federate Presto
Supponiamo qualsiasi RDBMS con la tabella sample1
E HIVE con tabella sample2,
'Testdb' è il database sia in hive che in MYSQL. Usando Presto possiamo valutare i dati usando in una singola query una volta che i loro connettori sono configurati correttamente come mostrato di seguito-
presto> hive.Testdb.sample2
Funzione (selezionare / Raggruppa per ..etc)> mysql.Testdb.sample1
- L'architettura Spark SQL è composta da Spark SQL, Schema RDD e Data Frame
- Una cornice dati è una raccolta di dati; i dati sono organizzati in colonne denominate. Tecnicamente, è uguale alle tabelle del database relazionale.
- Schema RDD: Spark Core contiene una struttura dati speciale chiamata RDD. Spark SQL funziona su schemi, tabelle e record. Pertanto, un utente può utilizzare lo schema RDD come tabella temporanea. In modo che l'utente possa chiamare questo schema RDD come Data Frame
- Funzionalità del frame di dati: il frame di dati elabora i dati delle dimensioni da Kilobyte a Petabyte su un cluster a nodo singolo in più cluster di nodi,
- Data Frame supporta diversi formati di dati (CSV, elasticsearch, Cassandra ecc.) E sistemi di archiviazione (HDFS, tabelle HIVE, MySQL, ecc.), Può essere integrato con tutti gli strumenti / framework Big Data tramite Spark-Core e fornisce API per linguaggi come Programmazione Python, Java, Scala e R.
- Considerando che Presto è un motore distribuito, funziona su una configurazione di cluster. L'architettura Presto è semplice da comprendere ed estensibile. Il client Presto (CLI) invia le istruzioni SQL a un coordinatore daemon principale che gestisce l'elaborazione.
- Aziende che utilizzano Presto: Facebook, Netflix, Airbnd, Dropbox ecc.
- I casi d'uso Apache Spark si trovano in settori come finanza, vendita al dettaglio, assistenza sanitaria e viaggi ecc. Molti siti Web di e-commerce come eBay, Alibaba, Pinterest utilizzano Spark SQL per analizzare centinaia di petabyte di dati sulla sua piattaforma di e-commerce.
Tabella comparativa Spark SQL vs Presto
Di seguito è riportato il confronto più in alto tra SQL vs Presto
Base di confronto tra SQL vs Presto | Presto | Spark SQL |
Ecosistemi / piattaforme | Hadoop, Big Data Processing ecc | Spark Framework, elaborazione di big data ecc |
Scopo | Presto è progettato per l'esecuzione di query SQL su Big Data (carichi di lavoro enormi). È stato progettato da Facebook per elaborare i loro enormi carichi di lavoro. | Spark SQL è uno dei componenti di Apache Spark Core. Spark Core è il motore di esecuzione fondamentale per la piattaforma Spark |
Impostare |
|
|
Funzionalità / Caratteristiche | Presto consente l'interrogazione dei dati su molte origini dati; Ad esempio, i dati potrebbero risiedere negli archivi dati: Hive, Cassandra, RDBMS e alcuni altri archivi dati proprietari. | Spark SQL offre flessibilità in integrazione con altre origini dati utilizzando i frame di dati e i connettori JDBC. |
Supporto per connettori | Presto supporta connettori collegabili. Questi connettori forniscono set di dati per le query.
Di seguito sono disponibili diversi connettori preesistenti disponibili a breve, mentre Presto offre la possibilità di connettersi anche con connettori personalizzati.
| Un'interfaccia Data Frame consente a diverse origini dati di funzionare su Spark SQL. Spark SQL include una modalità server con connettività JDBC e ODBC standard del settore. |
Query federate | Presto supporta le query federate. Presto può essere configurato per connettersi con diversi DB e una volta configurato; la sua CLI può essere utilizzata per avviare "Federated Query". In una query Presto l'utente può combinare i dati da più origini dati ed eseguire la query. | Spark SQL viene fornito con una funzione integrata per connettersi con altri database tramite JDBC che è "JDBC ad altri database", aiuta nella funzione di federazione. Spark crea i frame di dati utilizzando la funzionalità JDBC: database sfruttando l'API scala / python, ma funziona anche direttamente con il server Spark SQL Thrift e consente agli utenti di eseguire query su tabelle JDBC esterne senza sforzo come altre tabelle hive / spark. |
Chi usa? | Analisti di dati, ingegneri di dati, scienziati di dati ecc | Analisti di dati, ingegneri di dati, data scientist, Spark Developer ecc |
Conclusioni -Spark SQL vs Presto
Spark SQL e Presto, entrambi sono motori distribuiti SQL disponibili sul mercato.
Presto è molto utile quando si tratta di query di tipo BI e Spark SQL è leader in termini di prestazioni in query di analisi di grandi dimensioni. Quando si confronta rispetto alla configurazione, Presto si configura facilmente rispetto a Spark SQL. Sia Spark SQL che Presto si trovano allo stesso modo in un mercato e risolvono un diverso tipo di problemi aziendali.
Articolo raccomandato
Questa è stata una guida a Spark SQL vs Presto, al loro significato, confronto testa a testa, differenze chiave, tabella di confronto e conclusioni. Puoi anche consultare i seguenti articoli per saperne di più -
- Apache Spark vs Apache Flink - 8 cose utili che devi sapere
- Apache Hive vs Apache Spark SQL - 13 Incredibili differenze
- I 6 migliori confronti tra Hadoop Vs SQL
- Hadoop vs Teradata - Differenze preziose