Panoramica
- Comprendi la differenza tra le API 3 scintille: RDD, frame di dati e set di dati
- Vedremo come creare RDD, frame di dati e set di dati.
introduzione
Aver superato 11 anni da quando Apache Spark cominciò ad esistere e, impressionante e continuo, è diventata la prima scelta degli sviluppatori di big data. Gli sviluppatori hanno sempre amato fornire API semplici e potenti in grado di eseguire qualsiasi tipo di analisi dei big data..
Inizialmente, Su 2011 ha inventato il concetto di RDD, dopo in 2013 con Dataframes e successivamente in 2015 con il concetto di Dataset. Nessuno di loro si è deprezzato, possiamo ancora usarli tutti. In questo post, capiremo e vedremo la differenza tra i tre.
Sommario
- Cosa sono gli RDD?
- Quando usare RDD?
- Cosa sono i frame di dati??
- Cosa sono i set di dati??
- RDD vs frame di dati vs set di dati?
Cosa sono gli RDD?
RDD o set di dati distribuiti resilienti sono la struttura dati fondamentale di Spark. È l'insieme di oggetti in grado di memorizzare i dati partizionati nei molteplici nodi del grappoloUn cluster è un insieme di aziende e organizzazioni interconnesse che operano nello stesso settore o area geografica, e che collaborano per migliorare la loro competitività. Questi raggruppamenti consentono la condivisione delle risorse, Conoscenze e tecnologie, promuovere l'innovazione e la crescita economica. I cluster possono coprire una varietà di settori, Dalla tecnologia all'agricoltura, e sono fondamentali per lo sviluppo regionale e la creazione di posti di lavoro.... e consente loro anche di fare il Elaborazione parallelaL'elaborazione parallela è una tecnica che consente di eseguire più operazioni contemporaneamente, Suddivisione di attività complesse in sottoattività più piccole. Questa metodologia ottimizza l'uso delle risorse computazionali e riduce i tempi di elaborazione, particolarmente utile in applicazioni come l'analisi di grandi volumi di dati, Simulazioni e rendering grafici. La sua implementazione è diventata essenziale nei sistemi ad alte prestazioni e nell'informatica moderna.....
È tollerante agli errori se si eseguono più trasformazioni sull'RDD e poi, per qualsiasi circostanza, Fallisce alcuni nodoNodo è una piattaforma digitale che facilita la connessione tra professionisti e aziende alla ricerca di talenti. Attraverso un sistema intuitivo, Consente agli utenti di creare profili, condividere esperienze e accedere a opportunità di lavoro. La sua attenzione alla collaborazione e al networking rende Nodo uno strumento prezioso per chi vuole ampliare la propria rete professionale e trovare progetti in linea con le proprie competenze e obiettivi..... El RDD, poi, è in grado di recuperare automaticamente.
Ci sono 3 alternative per creare un ASD:
- Parallelamente a una raccolta dati esistente
- Riferimento al file di dati esterno memorizzato
- Creazione di RDD da un RDD esistente
Quando usare RDD?
Possiamo usare RDD nelle seguenti situazioni:
- Quando vogliamo eseguire trasformazioni di basso livello sul set di dati. Maggiori informazioni sulle trasformazioni RDD: PySpark per eseguire trasformazioni
- Non deduce automaticamente lo schema dai dati importati, dobbiamo specificare lo schema di ogni singolo set di dati quando creiamo un RDD. Scopri come dedurre lo schema RDD qui: Costruire pipeline di machine learning con PySpark
Cosa sono i frame di dati??
È stato introdotto per la prima volta nella versione Spark 1.3 per superare i limiti di Spark RDD. Spark Dataframes sono la raccolta distribuita di punti dati, ma qui, i dati sono organizzati in colonne con nome. Consenti agli sviluppatori di eseguire il debug del codice durante il runtime, cosa non era consentito con gli RDD.
I frame di dati possono leggere e scrivere i dati in vari formati come CSV, JSONJSON, o Notazione degli oggetti JavaScript, Si tratta di un formato di scambio dati leggero e facile da leggere e scrivere per gli esseri umani, e facile da analizzare e generare per le macchine. Viene comunemente utilizzato nelle applicazioni Web per inviare e ricevere informazioni tra un server e un client. La sua struttura si basa su coppie chiave-valore, rendendolo versatile e ampiamente adottato nello sviluppo di software.., EURO, HDFSHDFS, o File system distribuito Hadoop, Si tratta di un'infrastruttura chiave per l'archiviazione di grandi volumi di dati. Progettato per funzionare su hardware comune, HDFS consente la distribuzione dei dati su più nodi, garantire un'elevata disponibilità e tolleranza ai guasti. La sua architettura si basa su un modello master-slave, dove un nodo master gestisce il sistema e i nodi slave memorizzano i dati, facilitare l'elaborazione efficiente delle informazioni.. e tavoli ALVEAREHive è una piattaforma di social media decentralizzata che consente ai suoi utenti di condividere contenuti e connettersi con gli altri senza l'intervento di un'autorità centrale. Utilizza la tecnologia blockchain per garantire la sicurezza e la proprietà dei dati. A differenza di altri social network, Hive consente agli utenti di monetizzare i propri contenuti attraverso ricompense in criptovalute, che incoraggia la creazione e lo scambio attivo di informazioni..... È già ottimizzato per elaborare grandi set di dati per la maggior parte delle attività di pre-elaborazione, quindi non abbiamo bisogno di scrivere funzioni complesse da soli.
Utilizza un ottimizzatore del catalizzatore per scopi di ottimizzazione. Se vuoi saperne di più sull'ottimizzatore del catalizzatore, Consiglio vivamente di leggere questo post: Tutorial pratico per l'analisi dei dati utilizzando Spark SQL
Vediamo come creare un frame di dati usando PySpark.
Cosa sono i set di dati??
Spark Datasets è un'estensione dell'API Data Frames con i vantaggi di RDD e Dataset. È veloce e fornisce un'interfaccia type-safe. La sicurezza dei tipi significa che il compilatore convaliderà i tipi di dati di tutte le colonne nel set di dati solo durante la compilazione e genererà un errore in caso di discrepanza nei tipi di dati.
Gli utenti RDD lo troveranno qualcosa di simile al codice, ma è più veloce di RDD. Può elaborare in modo efficiente dati strutturati e non strutturati.
Non possiamo ancora creare set di dati Spark in Python. L'API Dataset è abilitata solo in Scala e Java.
RDD vs. frame di dati vs. set di dati
RDD | Frame di dati | Set di dati | |
Rappresentazione dei dati | RDD è una raccolta distribuita di elementi di dati senza alcuno schema. | È anche la raccolta distribuita organizzata nelle colonne nominate. | È un'estensione di Dataframes con più funzionalità come la sicurezza dei tipi e l'interfaccia orientata agli oggetti. |
Miglioramento | Nessun motore di ottimizzazione integrato per RDD. Gli sviluppatori devono scrivere da soli il codice ottimizzato. | Utilizza un ottimizzatore del catalizzatore per l'ottimizzazione. | Utilizza anche un ottimizzatore del catalizzatore per scopi di ottimizzazione. |
Proiezione contorno | Qui, dobbiamo impostare lo schema manualmente. | Scoprirà automaticamente lo schema del set di dati. | Inoltre, troverà automaticamente lo schema del set di dati tramite il motore SQL. |
Operazione di aggregazione | RDD è più lento dei frame di dati e dei set di dati per eseguire operazioni semplici come il raggruppamento di dati. | Fornisce una semplice API per eseguire operazioni di aggregazione. Esegue l'aggregazione più velocemente di RDD e set di dati. | Il set di dati è più veloce degli RDD ma leggermente più lento dei Dataframes. |
Note finali
In questo post, Abbiamo visto la differenza tra le tre API principali di Apache SparkApache Spark è un motore di elaborazione dati open source che consente l'analisi di grandi volumi di informazioni in modo rapido ed efficiente. Il suo design si basa sulla memoria, che ottimizza le prestazioni rispetto ad altri strumenti di elaborazione batch. Spark è ampiamente utilizzato nelle applicazioni di big data, Apprendimento automatico e analisi in tempo reale, grazie alla sua facilità d'uso e.... Quindi, completare, se vuoi una semantica ricca, astrazioni di alto livello, sicurezza di tipo, elija Dataframes o Datasets. Se hai bisogno di un maggiore controllo sulla parte di pre-elaborazione, puoi sempre usare gli RDD.
Consiglio vivamente di dare un'occhiata a queste risorse aggiuntive su Apache Spark per aumentare le tue conoscenze.:
Se hai trovato questo post informativo, Condividi con i tuoi amici, e anche se vuoi dare qualche suggerimento su cosa dovrebbe essere coperto, sentiti libero di lasciarli nelle note qui sotto.