S.No Trasformazioni e significato
1

map(func)

Restituisce un nuovo set di dati distribuito, formato passando ogni elemento della sorgente attraverso una funzione func.

2

filter(func)

Restituisce un nuovo dataset formato selezionando quegli elementi della sorgente su cui func restituisce true.

3

flatMap(func)

Simile a map, ma ogni elemento di input può essere mappato a 0 o più elementi di output (quindi func dovrebbe restituire un Seq piuttosto che un singolo elemento).

4

mapPartitions(func)

Simile a map, ma viene eseguito separatamente su ogni partizione (blocco) dell'RDD, quindi func deve essere di tipo Iterator <T> ⇒ Iterator <U> quando viene eseguito su un RDD di tipo T.

5

mapPartitionsWithIndex(func)

Simile alla mappa delle partizioni, ma fornisce anche func con un valore intero che rappresenta l'indice della partizione, quindi func deve essere di tipo (Int, Iterator <T>) ⇒ Iterator <U> quando si esegue su un RDD di tipo T.

6

sample(withReplacement, fraction, seed)

Campione a fraction dei dati, con o senza sostituzione, utilizzando un determinato seme del generatore di numeri casuali.

7

union(otherDataset)

Restituisce un nuovo set di dati che contiene l'unione degli elementi nel set di dati di origine e l'argomento.

8

intersection(otherDataset)

Restituisce un nuovo RDD che contiene l'intersezione di elementi nel set di dati di origine e l'argomento.

9

distinct([numTasks])

Restituisce un nuovo set di dati che contiene gli elementi distinti del set di dati di origine.

10

groupByKey([numTasks])

Quando viene chiamato su un set di dati di coppie (K, V), restituisce un set di dati di coppie (K, Iterable <V>).

Note - Se stai raggruppando per eseguire un'aggregazione (come una somma o una media) su ciascuna chiave, l'utilizzo di reduceByKey o aggregateByKey produrrà prestazioni molto migliori.

11

reduceByKey(func, [numTasks])

Quando viene chiamato su un set di dati di (K, V) coppie, restituisce un set di dati di (K, V) coppie in cui i valori per ogni chiave vengono aggregati utilizzando la data ridurre la funzione func , che deve essere di tipo (V, V) ⇒ V Come in groupByKey, il numero di attività di riduzione è configurabile tramite un secondo argomento opzionale.

12

aggregateByKey(zeroValue)(seqOp, combOp, [numTasks])

Quando viene richiamato su un set di dati di coppie (K, V), restituisce un set di dati di coppie (K, U) in cui i valori di ciascuna chiave vengono aggregati utilizzando le funzioni di combinazione fornite e un valore "zero" neutro. Consente un tipo di valore aggregato diverso dal tipo di valore di input, evitando allocazioni non necessarie. Come in groupByKey, il numero di attività di riduzione è configurabile tramite un secondo argomento opzionale.

13

sortByKey([ascending], [numTasks])

Quando viene richiamato su un set di dati di coppie (K, V) in cui K implementa Ordered, restituisce un set di dati di coppie (K, V) ordinate per chiavi in ​​ordine crescente o decrescente, come specificato nell'argomento booleano ascendente.

14

join(otherDataset, [numTasks])

Quando viene richiamato su set di dati di tipo (K, V) e (K, W), restituisce un set di dati di coppie (K, (V, W)) con tutte le coppie di elementi per ciascuna chiave. I join esterni sono supportati tramite leftOuterJoin, rightOuterJoin e fullOuterJoin.

15

cogroup(otherDataset, [numTasks])

Quando viene chiamato su set di dati di tipo (K, V) e (K, W), restituisce un set di dati di tuple (K, (Iterable <V>, Iterable <W>)). Questa operazione è anche chiamata gruppo con.

16

cartesian(otherDataset)

Quando viene richiamato su set di dati di tipo T e U, restituisce un set di dati di coppie (T, U) (tutte le coppie di elementi).

17

pipe(command, [envVars])

Pipe ogni partizione dell'RDD attraverso un comando shell, ad esempio uno script Perl o bash. Gli elementi RDD vengono scritti nello stdin del processo e le righe in uscita nel suo stdout vengono restituite come un RDD di stringhe.

18

coalesce(numPartitions)

Riduci il numero di partizioni nell'RDD a numPartitions. Utile per eseguire le operazioni in modo più efficiente dopo aver filtrato un set di dati di grandi dimensioni.

19

repartition(numPartitions)

Rimescola i dati nell'RDD in modo casuale per creare più o meno partizioni e bilanciarle tra loro. Questo rimescola sempre tutti i dati sulla rete.

20

repartitionAndSortWithinPartitions(partitioner)

Ripartiziona l'RDD in base al partizionatore specificato e, all'interno di ciascuna partizione risultante, ordina i record in base alle loro chiavi. Questo è più efficiente della chiamata alla ripartizione e quindi dell'ordinamento all'interno di ogni partizione perché può spingere l'ordinamento verso il basso nel meccanismo di riproduzione casuale.

S.No Azione e significato
1

reduce(func)

Aggrega gli elementi del set di dati utilizzando una funzione func(che accetta due argomenti e ne restituisce uno). La funzione dovrebbe essere commutativa e associativa in modo che possa essere calcolata correttamente in parallelo.

2

collect()

Restituisce tutti gli elementi del set di dati come array nel programma del driver. Ciò è solitamente utile dopo un filtro o un'altra operazione che restituisce un sottoinsieme di dati sufficientemente piccolo.

3

count()

Restituisce il numero di elementi nel set di dati.

4

first()

Restituisce il primo elemento del set di dati (simile a take (1)).

5

take(n)

Restituisce un array con il primo n elementi del set di dati.

6

takeSample (withReplacement,num, [seed])

Restituisce un array con un campione casuale di num elementi del set di dati, con o senza sostituzione, eventualmente pre-specificando un seme del generatore di numeri casuali.

7

takeOrdered(n, [ordering])

Restituisce il primo n elementi dell'RDD utilizzando il loro ordine naturale o un comparatore personalizzato.

8

saveAsTextFile(path)

Scrive gli elementi del set di dati come file di testo (o insieme di file di testo) in una determinata directory nel file system locale, HDFS o qualsiasi altro file system supportato da Hadoop. Spark chiama toString su ogni elemento per convertirlo in una riga di testo nel file.

9

saveAsSequenceFile(path) (Java and Scala)

Scrive gli elementi del set di dati come Hadoop SequenceFile in un determinato percorso nel file system locale, HDFS o qualsiasi altro file system supportato da Hadoop. Questo è disponibile su RDD di coppie chiave-valore che implementano l'interfaccia scrivibile di Hadoop. In Scala, è anche disponibile sui tipi convertibili in modo implicito in Writable (Spark include conversioni per tipi di base come Int, Double, String, ecc.).

10

saveAsObjectFile(path) (Java and Scala)

Scrive gli elementi del set di dati in un formato semplice utilizzando la serializzazione Java, che può quindi essere caricato utilizzando SparkContext.objectFile ().

11

countByKey()

Disponibile solo su RDD di tipo (K, V). Restituisce una hashmap di (K, Int) coppie con il conteggio di ogni chiave.

12

foreach(func)

Esegue una funzione funcsu ogni elemento del set di dati. Questo di solito viene fatto per effetti collaterali come l'aggiornamento di un accumulatore o l'interazione con sistemi di archiviazione esterni.

Note- la modifica di variabili diverse dagli accumulatori al di fuori di foreach () può comportare un comportamento indefinito. Vedere Comprensione delle chiusure per maggiori dettagli.

S.No Opzione Descrizione
1 --maestro spark: // host: port, mesos: // host: port, filato o local.
2 - modalità di distribuzione Indica se avviare il programma driver localmente ("client") o su una delle macchine worker all'interno del cluster ("cluster") (impostazione predefinita: client).
3 --classe La classe principale della tua applicazione (per app Java / Scala).
4 --nome Un nome della tua applicazione.
5 --barattoli Elenco separato da virgole di file jar locali da includere nei percorsi classe del driver e dell'esecutore.
6 --pacchi Elenco separato da virgole di coordinate Maven di jar da includere nei percorsi classi del driver e dell'esecutore.
7 - repository Elenco separato da virgole di repository remoti aggiuntivi per cercare le coordinate Maven fornite con --packages.
8 --py-files Elenco separato da virgole di file .zip, .egg o .py da inserire nel PERCORSO PYTHON per le app Python.
9 --File Elenco di file separato da virgole da inserire nella directory di lavoro di ciascun esecutore.
10 --conf (prop = val) Proprietà di configurazione Spark arbitraria.
11 --properties-file Percorso di un file da cui caricare proprietà aggiuntive. Se non specificato, cercherà conf / spark-defaults.
12 --driver-memory Memoria per il driver (es. 1000M, 2G) (impostazione predefinita: 512M).
13 --driver-java-opzioni Opzioni Java aggiuntive da passare al driver.
14 --driver-library-path Voci del percorso della libreria extra da passare al driver.
15 --driver-class-path

Voci del percorso di classe extra da passare al driver.

Nota che i jar aggiunti con --jars vengono automaticamente inclusi nel classpath.

16 --executor-memory Memoria per esecutore (es. 1000M, 2G) (impostazione predefinita: 1G).
17 --proxy-user Utente da impersonare durante l'invio della domanda.
18 --help, -h Mostra questo messaggio di aiuto ed esci.
19 --verbose, -v Stampa l'output di debug aggiuntivo.
20 --versione Stampa la versione dell'attuale Spark.
21 --driver-core NUM Core per il driver (predefinito: 1).
22 --sorvegliare Se fornito, riavvia il driver in caso di errore.
23 --uccidere Se dato, uccide il conducente specificato.
24 --stato Se fornito, richiede lo stato del driver specificato.
25 --total-executor-core Core totali per tutti gli esecutori.
26 --executor-core Numero di core per esecutore. (Predefinito: 1 in modalità YARN o tutti i core disponibili sul worker in modalità standalone).
S.No Metodi e significato
1

count()

Numero di elementi nell'RDD.

2

Mean()

Media degli elementi nella RDD.

3

Sum()

Valore totale degli elementi nella RDD.

4

Max()

Valore massimo tra tutti gli elementi nell'RDD.

5

Min()

Valore minimo tra tutti gli elementi nell'RDD.

6

Variance()

Varianza degli elementi.

7

Stdev()

Deviazione standard.