S.No | Transformações e significado |
---|---|
1 | map(func) Retorna um novo conjunto de dados distribuído, formado pela passagem de cada elemento da fonte por meio de uma função func. |
2 | filter(func) Retorna um novo conjunto de dados formado selecionando os elementos da fonte em que func retorna verdadeiro. |
3 | flatMap(func) Semelhante ao map, mas cada item de entrada pode ser mapeado para 0 ou mais itens de saída (portanto, func deve retornar um Seq em vez de um único item). |
4 | mapPartitions(func) Semelhante ao map, mas é executado separadamente em cada partição (bloco) do RDD, então func deve ser do tipo Iterator <T> ⇒ Iterator <U> quando executado em um RDD do tipo T. |
5 | mapPartitionsWithIndex(func) Semelhante às partições de mapas, mas também fornece func com um valor inteiro representando o índice da partição, então func deve ser do tipo (Int, Iterator <T>) ⇒ Iterator <U> ao executar em um RDD do tipo T. |
6 | sample(withReplacement, fraction, seed) Experimente um fraction dos dados, com ou sem substituição, usando uma determinada semente do gerador de número aleatório. |
7 | union(otherDataset) Retorna um novo conjunto de dados que contém a união dos elementos no conjunto de dados de origem e o argumento. |
8 | intersection(otherDataset) Retorna um novo RDD que contém a interseção de elementos no conjunto de dados de origem e o argumento. |
9 | distinct([numTasks]) Retorna um novo conjunto de dados que contém os elementos distintos do conjunto de dados de origem. |
10 | groupByKey([numTasks]) Quando chamado em um conjunto de dados de pares (K, V), retorna um conjunto de dados de pares (K, Iteráveis <V>). Note - Se você estiver agrupando para realizar uma agregação (como uma soma ou média) em cada chave, o uso de reduceByKey ou aggregateByKey resultará em um desempenho muito melhor. |
11 | reduceByKey(func, [numTasks]) Quando chamado em um conjunto de dados de pares (K, V), retorna um conjunto de dados de pares (K, V) onde os valores de cada chave são agregados usando a função de redução fornecida func , que deve ser do tipo (V, V) ⇒ V Como em groupByKey, o número de tarefas de redução é configurável por meio de um segundo argumento opcional. |
12 | aggregateByKey(zeroValue)(seqOp, combOp, [numTasks]) Quando chamado em um conjunto de dados de pares (K, V), retorna um conjunto de dados de pares (K, U) onde os valores de cada chave são agregados usando as funções de combinação fornecidas e um valor neutro "zero". Permite um tipo de valor agregado diferente do tipo de valor de entrada, evitando alocações desnecessárias. Como em groupByKey, o número de tarefas de redução é configurável por meio de um segundo argumento opcional. |
13 | sortByKey([ascending], [numTasks]) Quando chamado em um conjunto de dados de pares (K, V) onde K implementa Ordered, retorna um conjunto de dados de pares (K, V) classificados por chaves em ordem crescente ou decrescente, conforme especificado no argumento ascendente booleano. |
14 | join(otherDataset, [numTasks]) Quando chamado em conjuntos de dados do tipo (K, V) e (K, W), retorna um conjunto de dados de pares (K, (V, W)) com todos os pares de elementos para cada chave. As junções externas são suportadas por leftOuterJoin, rightOuterJoin e fullOuterJoin. |
15 | cogroup(otherDataset, [numTasks]) Quando chamado em conjuntos de dados do tipo (K, V) e (K, W), retorna um conjunto de dados de tuplas (K, (Iterable <V>, Iterable <W>)). Esta operação também é chamada de grupo com. |
16 | cartesian(otherDataset) Quando chamado em conjuntos de dados dos tipos T e U, retorna um conjunto de dados de pares (T, U) (todos os pares de elementos). |
17 | pipe(command, [envVars]) Canalize cada partição do RDD por meio de um comando shell, por exemplo, um script Perl ou bash. Os elementos RDD são gravados no stdin do processo e as linhas de saída do stdout são retornadas como um RDD de strings. |
18 | coalesce(numPartitions) Diminua o número de partições no RDD para numPartitions. Útil para executar operações com mais eficiência após filtrar um grande conjunto de dados. |
19 | repartition(numPartitions) Reorganize os dados no RDD aleatoriamente para criar mais ou menos partições e equilibrá-los entre elas. Isso sempre embaralha todos os dados pela rede. |
20 | repartitionAndSortWithinPartitions(partitioner) Reparticione o RDD de acordo com o particionador fornecido e, dentro de cada partição resultante, classifique os registros por suas chaves. Isso é mais eficiente do que chamar a repartição e, em seguida, classificar dentro de cada partição, porque pode empurrar a classificação para o mecanismo de embaralhamento. |
S.No | Ação e Significado |
---|---|
1 | reduce(func) Agregue os elementos do conjunto de dados usando uma função func(que recebe dois argumentos e retorna um). A função deve ser comutativa e associativa para que possa ser calculada corretamente em paralelo. |
2 | collect() Retorna todos os elementos do conjunto de dados como uma matriz no programa de driver. Isso geralmente é útil após um filtro ou outra operação que retorna um subconjunto suficientemente pequeno de dados. |
3 | count() Retorna o número de elementos no conjunto de dados. |
4 | first() Retorna o primeiro elemento do conjunto de dados (semelhante a take (1)). |
5 | take(n) Retorna uma matriz com o primeiro n elementos do conjunto de dados. |
6 | takeSample (withReplacement,num, [seed]) Retorna uma matriz com uma amostra aleatória de num elementos do conjunto de dados, com ou sem substituição, opcionalmente pré-especificando uma semente do gerador de número aleatório. |
7 | takeOrdered(n, [ordering]) Retorna o primeiro n elementos do RDD usando sua ordem natural ou um comparador personalizado. |
8 | saveAsTextFile(path) Grava os elementos do conjunto de dados como um arquivo de texto (ou conjunto de arquivos de texto) em um determinado diretório no sistema de arquivos local, HDFS ou qualquer outro sistema de arquivos compatível com Hadoop. Spark chama toString em cada elemento para convertê-lo em uma linha de texto no arquivo. |
9 | saveAsSequenceFile(path) (Java and Scala) Grava os elementos do conjunto de dados como um Hadoop SequenceFile em um determinado caminho no sistema de arquivos local, HDFS ou qualquer outro sistema de arquivos compatível com Hadoop. Isso está disponível em RDDs de pares chave-valor que implementam a interface gravável do Hadoop. No Scala, ele também está disponível em tipos que são implicitamente conversíveis em graváveis (o Spark inclui conversões para tipos básicos como Int, Double, String, etc.). |
10 | saveAsObjectFile(path) (Java and Scala) Grava os elementos do conjunto de dados em um formato simples usando serialização Java, que pode então ser carregado usando SparkContext.objectFile (). |
11 | countByKey() Disponível apenas em RDDs do tipo (K, V). Retorna um hashmap de pares (K, Int) com a contagem de cada chave. |
12 | foreach(func) Executa uma função funcem cada elemento do conjunto de dados. Isso geralmente é feito para efeitos colaterais, como atualizar um acumulador ou interagir com sistemas de armazenamento externo. Note- modificar variáveis diferentes de Accumulators fora de foreach () pode resultar em comportamento indefinido. Consulte Noções básicas sobre fechamentos para obter mais detalhes. |
S.No | Opção | Descrição |
---|---|---|
1 | --mestre | spark: // host: port, mesos: // host: port, yarn ou local. |
2 | --deploy-mode | Se deve iniciar o programa de driver localmente ("cliente") ou em uma das máquinas de trabalho dentro do cluster ("cluster") (Padrão: cliente). |
3 | --classe | A classe principal do seu aplicativo (para aplicativos Java / Scala). |
4 | --nome | Um nome de seu aplicativo. |
5 | --jars | Lista separada por vírgulas de jars locais para incluir nos caminhos de classe do driver e do executor. |
6 | - pacotes | Lista separada por vírgulas de coordenadas maven de jars para incluir nos caminhos de classe do driver e do executor. |
7 | --repositórios | Lista separada por vírgulas de repositórios remotos adicionais para pesquisar as coordenadas maven fornecidas com --packages. |
8 | --py-files | Lista separada por vírgulas de arquivos .zip, .egg ou .py para colocar no PYTHON PATH para aplicativos Python. |
9 | --arquivos | Lista separada por vírgulas de arquivos a serem colocados no diretório de trabalho de cada executor. |
10 | --conf (prop = val) | Propriedade de configuração arbitrária do Spark. |
11 | --properties-file | Caminho para um arquivo do qual carregar propriedades extras. Se não for especificado, ele procurará conf / spark-defaults. |
12 | --driver-memory | Memória para driver (por exemplo, 1000M, 2G) (Padrão: 512M). |
13 | --driver-java-options | Opções extras de Java para passar para o driver. |
14 | --driver-library-path | Entradas de caminho de biblioteca extras para passar para o driver. |
15 | --driver-class-path | Entradas de caminho de classe extras para passar ao motorista. Observe que os jars adicionados com --jars são incluídos automaticamente no caminho de classe. |
16 | --executor-memory | Memória por executor (por exemplo, 1000M, 2G) (Padrão: 1G). |
17 | --proxy-user | Usuário para personificar ao enviar o aplicativo. |
18 | --help, -h | Mostre esta mensagem de ajuda e saia. |
19 | --verbose, -v | Imprime saída de depuração adicional. |
20 | --versão | Imprima a versão do Spark atual. |
21 | --driver-cores NUM | Cores para driver (Padrão: 1). |
22 | --supervisionar | Se fornecido, reinicia o driver em caso de falha. |
23 | --matar | Se fornecido, mata o driver especificado. |
24 | --status | Se fornecido, solicita o status do driver especificado. |
25 | --total-executor-cores | Total de núcleos para todos os executores. |
26 | --executor-cores | Número de núcleos por executor. (Padrão: 1 no modo YARN ou todos os núcleos disponíveis no trabalhador no modo autônomo). |
S.No | Métodos e Significado |
---|---|
1 | count() Número de elementos do RDD. |
2 | Mean() Média dos elementos do RDD. |
3 | Sum() Valor total dos elementos do RDD. |
4 | Max() Valor máximo entre todos os elementos do RDD. |
5 | Min() Valor mínimo entre todos os elementos do RDD. |
6 | Variance() Variância dos elementos. |
7 | Stdev() Desvio padrão. |