Pular para conteúdo

Pratique Pyspark

Funções Importantes

Função Descrição Categoria
.sort() Ordena o DataFrame. Desconhecido
.orderBy() Ordena o DataFrame baseado em colunas. Desconhecido
.desc_null_first() Ordena de forma decrescente tratando NULLs primeiro. Desconhecido
.asc_null_first() Ordena de forma crescente tratando NULLs primeiro. Desconhecido
.desc_null_last() Ordena de forma decrescente colocando NULLs por último. Desconhecido
.asc_null_last() Ordena de forma crescente colocando NULLs por último. Desconhecido
.coalesce() Reduz o número de partições. Narrow
.repartition() Reparticiona o DataFrame em n partições. Wide
.cache() Armazena o DataFrame na memória. Ação
.unpersist() Remove o DataFrame do armazenamento em cache. Ação
.storageLevel() Retorna o nível de armazenamento do DataFrame. Desconhecido
.filter()/.where() Filtra as linhas do DataFrame. Narrow
.select() Seleciona colunas específicas. Narrow
.agg() Agrega dados. Wide
.groupBy() Agrupa os dados por colunas específicas. Wide
.drop() Remove uma ou mais colunas. Narrow
.dropDuplicates() Remove linhas duplicadas. Wide
.sample() Retorna uma amostra do DataFrame. Narrow
.UDF() Aplica uma função definida pelo usuário. Desconhecido
.foreach() Aplica uma função a cada linha do DataFrame. Ação
.when()/.otherwise() Funcionalidade condicional. Narrow
.isNull() Verifica se um valor é NULL. Narrow
.window() Utilizado para funções de janela. Desconhecido
.summary() Retorna estatísticas resumidas. Wide
.describe() Retorna estatísticas descritivas. Wide
.union() Une dois DataFrames. Narrow
.unionByName() Une dois DataFrames por nome. Narrow
.join() Realiza um join entre dois DataFrames. Wide
.na.drop() Remove linhas com valores NA. Narrow
.na.fill() Preenche valores NA com valores específicos. Narrow
.row() Retorna uma linha do DataFrame. Desconhecido
.col() Retorna uma coluna do DataFrame. Desconhecido
.withColumn() Adiciona ou substitui uma coluna. Narrow
.withColumnRenamed() Renomeia uma coluna. Narrow
.approx_count_distinct() Retorna a contagem aproximada de valores distintos. Wide
.array_contains() Verifica se um array contém um valor específico. Narrow
.contains() Verifica se uma string contém outra string. Narrow
.distinct() Retorna valores distintos. Wide
.size() Retorna o tamanho de uma coluna de tipo array. Narrow
.explode() Transforma cada elemento de uma coluna de array em uma linha. Wide
.explode_outer() Semelhante ao .explode() mas preserva linhas com NULL. Wide
.posexplode() Semelhante ao .explode() mas adiciona uma coluna com índice. Wide
.take() Retorna os primeiros n elementos. Ação
.collect() Retorna todos os registros do DataFrame como uma lista. Ação
.isNotNull() Verifica se um valor não é NULL. Narrow
.isin() Verifica se um valor está em uma lista de valores. Narrow
createOrReplaceTempView() Cria ou substitui uma visão temporária. Ação
+ spark.sql('''codigo_sql''') Executa uma consulta SQL e retorna um DataFrame. Ação
.count() Retorna a contagem de linhas. Ação
.sum() Retorna a soma dos valores. Ação
.avg() Retorna a média dos valores. Ação
.min()/max() Retorna o valor mínimo/máximo. Ação
.countApprox() Retorna uma contagem aproximada de valores distintos. Ação
.count_distinct() Retorna a contagem de valores distintos. Ação
.alias() Define um alias para o DataFrame. Narrow
.cast() Converte o tipo de coluna. Narrow
.regex_replace() Substitui substrings baseado em expressão regular. Narrow
.regex_extract() Extrai substrings usando expressão regular. Narrow
.startswith() Verifica se uma string começa com uma substring. Narrow
.endswith() Verifica se uma string termina com uma substring. Narrow
.month() Retorna o mês de uma data. Narrow
.hour() Retorna a hora de uma data. Narrow
.year() Retorna o ano de uma data. Narrow
.unix_timestamp() Converte a data para um timestamp Unix. Narrow
.from_unixtime() Retorna a data a partir de um timestamp Unix. Narrow
.from_utc_timestamp() Retorna a data a partir de um UTC timestamp. Narrow
.datediff() Retorna a diferença entre duas datas. Narrow
.to_date() Converte uma string para uma data. Narrow
.current_date() Retorna a data atual. Narrow
.lit() Retorna uma coluna de valor constante. Narrow

Formas diferentes de escrever a mesma coisa

No Spark, é possível expressar a mesma operação de várias maneiras, graças à sua flexibilidade e design voltado ao usuário. Abaixo, apresento exemplos dessa versatilidade usando funções comuns, como filtragem, joins e ordenação.

Filter:
  • df.filter(df.column != ‘xxxxx’)
  • df.filter(~(df.column == ‘xxxxx’))
  • df.filter(col(‘column’) != ‘xxxxx’)
  • df.filter(column != ‘xxxxxx)`


Joins:
  • df1.join(df2, col(‘df1.column’) == col(‘df2.column’), ‘left’)
  • df1.join(df2, df1.column == df2.column, ‘left’)
  • df1.join(df2, df1[‘column’] == df2[‘column’], ‘left’)
  • df1.join(df2, [‘column’, ‘column’], ‘left’)


sort e orderBy:
  • df.sort(df.column.desc())
  • df.sort(col(‘column’).desc())
  • df.sort(desc(‘column’))
  • df.sort(desc(col(‘column’)))
  • df.sort(col(‘column’), ascending = false)

Referência

Documentação Pyspark