come creare un pacchetto java
Contributo di Prithviraj Bose
Le variabili di trasmissione sono utili quando è necessario memorizzare nella cache set di dati di grandi dimensioni negli esecutori. Questo blog spiega come iniziare.
Cosa sono le variabili di trasmissione?
Le variabili di trasmissione in Apache Spark è un meccanismo per la condivisione di variabili tra gli esecutori che devono essere di sola lettura. Senza le variabili di trasmissione, queste variabili verrebbero inviate a ciascun esecutore per ogni trasformazione e azione e ciò può causare un sovraccarico di rete. Tuttavia, con le variabili di trasmissione, vengono fornite una volta a tutti gli esecutori e vengono memorizzate nella cache per riferimento futuro.
Caso d'uso delle variabili di trasmissione
Immagina che durante una trasformazione dobbiamo cercare una grande tabella di codici postali / codici pin. In questo caso, non è possibile inviare ogni volta la grande tabella di ricerca agli esecutori, né interrogare il database ogni volta. La soluzione dovrebbe essere quella di convertire questa tabella di ricerca in una variabile di trasmissione e Spark la memorizzerà nella cache in ogni esecutore per riferimento futuro.
Facciamo un semplice esempio per comprendere i concetti di cui sopra. Abbiamo un file CSV con i nomi dei paesi e le loro capitali. Il file CSV può essere trovato Qui .
Supponendo che stiamo elaborando i dati demografici dei paesi e abbiamo bisogno di ottenere la capitale di quel paese. In questo caso possiamo convertire i dati nel file CSV in una variabile di trasmissione.
Per prima cosa carichiamo il file CSV in una mappa, se il file viene trovato, il metodo ritorna Alcuni paesi) altrimenti ritorna Nessuna .
Dopo aver caricato con successo il file CSV, convertiamo la mappa in una variabile di trasmissione e la utilizziamo nel nostro programma.
Nello snippet di codice sopra, carichiamo il file CSV in una mappa paesi quindi convertiamo quella mappa in una variabile di trasmissione paesiCache . Successivamente, creiamo un RDD dalle chiavi di paesi . Nel searchCountryDetails metodo cerchiamo tutti i paesi che iniziano con una lettera definita dall'utente e il metodo restituisce un RDD dei paesi insieme alle loro capitali. La variabile di trasmissione countrieCache viene utilizzato per cercare le maiuscole.
In questo modo non è necessario inviare tutti i dati CSV ogni volta che è necessario eseguire la ricerca.
Il codice per il searchCountryDetails è mostrato di seguito,
È possibile trovare l'intero codice sorgente Qui .
Hai domande per noi? Menzionali nella sezione commenti e ti risponderemo.
Post correlati: