tecnologia | big data | business intelligence | banco de dados

PySpark - Sintaxes

Nesta publicação irei mencionar brevemente alguns comandos/sintaxes úteis do Spark utilizando a linguagem Python.


Dataframe.show():

Exibe as primeiras n linhas na tela.


Parâmetros:
n: números de linhas a exibir.
truncate: se informado True, irá cortar as strings com mais de 20 caracteres. Se um número maior que 1 for informado, strings maiores que o número informado serão cortadas e alinnhadas a direita.
vertical: se informado True, as linhas serão exibidas na vertical (uma linha por valor de coluna).


Exemplos:
df.show()
df.show(truncate=3)
df.show(vertical=True)
df.show(n=20, truncate=True, vertical=False)


Dataframe.select():

Retorna um novo dataframe de acordo com as expressões que foram determinadas.


Exemplos:
df.select('*').collect()
df.select('name', 'age').collect()
df.select(df.name, (df.age + 10).alias('age')).collect()


Dataframe.Filter():

Filtra linhas usando determinadas condições.
Obs: where() é um apelido do filter().


Exemplos:
df.filter(df.age > 3).collect()
df.where(df.age == 2).collect()
df.filter("age > 3").collect()
df.where("age = 2").collect()


Dataframe.distinct():

Retorna um novo dataframe contendo as linhas distintas no dataframe.


Exemplos:
df.distinct().count()


Dataframe.withColumn():

Retorna um novo dataframe adicionado a coluna ou renomeando a coluna que possui o mesmo nome.


Exemplo:
df.withColumn('age2', df.age + 2).collect()


Dataframe.printSchema():

Exibe a estrutura do dataframe no formato de árvore.


Sintaxe:
df.printSchema()


Dataframe.columns:

Retorna todas as colunas como uma lista.


Sintaxe:
df.columns


Dataframe.count():

Retorna o número de linhas do dataframe.


Sintaxe:
df.count()


Dataframe.describe():

Computa as estatísticas para colunas númericas e string.


Exemplos:
df.describe().show()
df.describe(['age']).show()


Dataframe.summary():

Computa statisticas especificas para colunas númericas e strings.


Exemplos:
df.summary().show()
df.summary("count", "min", "25%", "75%", "max").show()
df.select("age", "name").summary("count").show()


Dataframe.Collect():

Retorna todos os registros como uma lista de linha.


Sintaxe:
df.collect()


Dataframe.selectExpr():

Retorna um novo dataframe de acordo com as expressões SQL que foram determinadas.


Exemplo:
df.selectExpr("age * 2", "abs(age)").collect()


Dataframe.persist():

Determina o nível de armazenamento para persistir o conteúdo do dataframe durante as operações após ser computado pela primeira vez.


Sintaxe:
df.persist()


Dataframe.unpersist():

Marca o dataframe como não persistente, removendo todos os blocos da memória e disco.


Sintaxe:
df.unpersist(blocking=False)


Data publicação: 22:29 07/07/2021

Banco de Dados - Junções (JOIN)

As tabelas podem ser unidas de diversas maneiras. A técnica mais comum é a chamada de junção equivalente (INNER JOIN). Uma linha é associada a uma ou mais linhas em outras tabelas com base na igualdade dos valores ou expressões da coluna.

Tipos de junções (JOINS):
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- FULL JOIN
- CROSS JOIN

Exemplos:
SELECT f.nm_funcionario, d.nm_departamento
FROM tb_funcionarios f
INNER JOIN tb_departamentos d
ON f.id_departamento = d.id_departamento;








Data publicação: 18:26 29/03/2021

Banco de Dados - Grupos de Dados (GROUP BY)

A cláusula GROUP BY facilita a criação de grupos, a qual aparece depois das cláusulas WHERE, mas antes da cláusula ORDER BY. Esta cláusula é bastante utilizada em conjunto com funções de grupo para realizar contagens, localizar o maior / menor valor de um grupo ou do conjunto de registros de uma tabela.

Exemplo (agrupando por departamento):
OBS: a sintaxe abaixo mostrará por departamento a quantidade de funcionários, o maior e menor salário.
SELECT
id_departamento,
MAX(vl_salario) AS maior_salario,
MIN(vl_salario) AS menor_salario,
COUNT(*) AS quantidade_funcionarios
FROM tb_funcionarios
GROUP BY id_departamento
ORDER BY id_departamento;

Exemplo (sem agrupamento, escopo total da tabela):
OBS: a sintaxe mostrará a quantidade de funcionários, o maior e menor salário da tabela.
SELECT
MAX(vl_salario) AS maior_salario,
MIN(vl_salario) AS menor_salario,
COUNT(*) AS quantidade_funcionarios
FROM tb_funcionarios;
Data publicação: 18:16 12/07/2020
Perfil
Olá jovem Padawan, seja bem vindo! Este site foi criado com o intuito de compartilhar um pouco de conhecimento de Tecnologia da Informação, Big Data, Banco de Dados e Business Intelligence.

GitHub  Linkedin  Youtube

"A nova fonte de poder não é o dinheiro na mão de poucos, mas a informação na mão de muitos." (John Naisbitt)


Leandro Sacramento, Todos os direitos reservados - 2012 - 2021