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. |