No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame.
Discutiremos as funções de data em Pyspark. Vamos criar primeiro um dataframe
Exemplo:
Aqui, vamos criar dados de dados Pyspark com 5 linhas e 3 colunas com datas.
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Exibir dataframe
df.mostrar()
Saída:
datediff ()
Este método é usado para retornar o número de dias entre a data atual e a data fornecida. Para usar esse método, temos que importá -lo do SQL.funções. Então, apenas importamos todos os métodos do Pyspark.SQL.funções.
Sintaxe:
DATEDIFF (COL ("column_date1"), col ("column_date2"))).Alias ("resultado_column")
onde:
- Column_date1 é a coluna de primeira data
- Column_date2 é a coluna de segunda data subtraída de column_date1.
- Alias é usado para especificar o rótulo para a coluna de resultado
Podemos exibir o quadro de dados resultante passando esse método dentro do método select ().
Sintaxe:
df.Selecione (DATEDIFF (COL ("Column_Date1"), col ("column_date2")).Alias ("resultado_column")
)
Também podemos subtrair a coluna de data com a data atual. Podemos obter a data atual usando a função current_date ().
Exemplo:
Neste exemplo, subtrairemos a coluna Admitt_date de current_date () como diferença de data selecionando current_date () e admitt_date e para exibir o método de dados usando ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Calcule a diferença de data em relação à data atual-2022-02-15 com admitido_date
df.SELECT (Current_Date (), Col ("Admitt_date"), DATEDIFF (Current_date (), Col ("Admitt_date"))).Alias ("diferença de data")).mostrar()
Saída:
meses_between ()
Este método é usado para retornar o número de meses entre a data atual e a data de dada. Para usar esse método, temos que importá -lo do SQL.funções. Então, importamos todos os métodos do Pyspark.SQL.funções.
Sintaxe:
meses_between (col ("column_date1"), col ("column_date2")).Alias ("resultado_column")
onde:
- Column_date1 é a coluna de primeira data
- Column_date2 é a coluna de segunda data subtraída de column_date1.
- Alias é usado para especificar o rótulo para a coluna de resultado
Podemos exibir o quadro de dados resultante passando esse método dentro do método select ().
Sintaxe:
df.Selecione (meses_between (col ("column_date1"), col ("column_date2")).Alias ("resultado_column")
)
Também podemos subtrair a coluna de data com a data atual. Podemos obter a data atual usando a função current_date ().
Exemplo:
Neste exemplo, obteremos os meses entre a coluna Admitt_date e o current_date () como meses selecionando current_date () e admitt_date e para exibir o método DataFrame usando Show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Obtenha os meses entre a data atual-2022-02-15 e admitt_date
df.SELECT (Current_Date (), Col ("Admitt_date"), meses_between (current_date (), col ("admitt_date"))).Alias ("meses")).mostrar()
Saída:
add_months ()
Este método é usado para adicionar meses à data fornecida.
Sintaxe:
quadro de dados.Selecione (add_months (col ("coluna"), número_of_months).Alias ("Result_column")))
onde,
- coluna é a coluna de data
- número_of_months é o número total de meses a ser adicionado à data da coluna.
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, adicionaremos meses ao admitido_date e exibiremos o método DataFrame usando Show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Adicione 12 meses ao admitido_date
df.Selecione (col ("admitt_date"), add_months (col ("admitt_date"), 12).pseudônimo ("depois de 12 meses")).mostrar()
# Adicione 4 meses ao admitido_date
df.Selecione (col ("admitido_date"), add_months (col ("admitt_date"), 4).Alias ("Após 4 meses")).mostrar()
# Adicione 6 meses ao admitido_date
df.Selecione (col ("admitido_date"), add_months (col ("admitt_date"), 6).Alias ("Após 6 meses")).mostrar()
Saída:
date_add ()
Este método é usado para adicionar dias à data em que.
Sintaxe:
quadro de dados.SELECT (DATE_ADD (COL (“Coluna”), Number_Of_Days).Alias ("Result_column")))
Onde:
- coluna é a coluna de data
- número_of_days é o número total de dias a serem adicionados à data da coluna.
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, adicionaremos dias ao admitido_date e exibiremos o método DataFrame usando Show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Adicione 12 dias ao admitido_date
df.Selecione (col ("admitido_date"), date_add (col ("admitt_date"), 12).pseudônimo ("depois de 12 dias")).mostrar()
# Adicione 4 dias ao admitido_date
df.SELECT (COL ("Admitt_date"), Date_add (col ("Admitd_date"), 4).pseudônimo ("depois de 4 dias")).mostrar()
# Adicione 6 dias ao admitido_date
df.Selecione (col ("Admitt_date"), Date_add (col ("Admitd_date"), 6).pseudônimo ("depois de 6 dias")).mostrar()
Saída:
date_sub ()
Este método é usado para subtrair dias à data em que.
Sintaxe:
quadro de dados.Selecione (date_sub (col ("coluna"), número_of_days).Alias ("Result_column")))
Onde:
- coluna é a coluna de data
- número_of_days é o número total de dias a serem subtraídos da data da coluna.
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, subtrairemos os dias do admitido_date e exibiremos o quadro de dados usando o método show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# subtraia 12 dias do admitido_date
df.Selecione (col ("admitido_date"), date_sub (col ("admitt_date"), 12).Alias ("antes de 12 dias")).mostrar()
# subtraia 4 dias do admitido_date
df.Selecione (col ("admitido_date"), date_sub (col ("admitt_date"), 4).pseudônimo ("antes de 4 dias")).mostrar()
# subtraia 6 dias do admitido_date
df.Selecione (col ("admitido_date"), date_sub (col ("admitt_date"), 6).pseudônimo ("antes de 6 dias")).mostrar()
Saída:
ano()
ano () é usado para retornar o ano a partir da data fornecida.
Sintaxe:
quadro de dados.Selecione (Ano (Col (“Coluna”)).Alias ("Result_column")))
Onde:
- coluna é a coluna de data
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, extrairemos o ano do admitido_date e exibiremos a coluna do ano usando o método show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Selecione o ano da coluna Admitt_Date
df.Selecione (Ano (Col ("Admitd_date"))).Alias ("Ano")).mostrar()
Saída:
mês()
Month () é usado para retornar o mês a partir da data fornecida.
Sintaxe:
quadro de dados.Selecione (mês (col ("coluna")).Alias ("Result_column")))
Onde:
- coluna é a coluna de data
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, extrairemos o mês do admitido_date e exibiremos a coluna do mês usando o método show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Selecione o mês na coluna Admitt_date
df.Selecione (mês (col ("admitido_date"))).Alias ("mês")).mostrar()
Saída:
Dayofmonth (), DayofWeek (), Dayofyear ()
Dayofmonth () é usado para retornar o dia do mês a partir da data em que.
DayofWeek () é usado para retornar o dia da semana a partir da data em que.
Dayofyear () é usado para retornar o dia do ano a partir da data em que.
Sintaxe:
quadro de dados.Selecione (Dayofmonth (col ("coluna"))).Alias ("Result_column")))
quadro de dados.Selecione (DayofWeek (col ("coluna")).Alias ("Result_column")))
quadro de dados.Selecione (Dayofyear (Col (“Coluna”))).Alias ("Result_column")))
onde:
- coluna é a coluna de data
- Alias é usado para especificar o rótulo para a coluna de resultado.
Exemplo:
Neste exemplo, extrairemos o dia da semana, o mês e o ano do método admitido_date e exibir usando () show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
# importe todas as funções SQL
de Pyspark.SQL.Funções Importar *
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 3 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'admitt_date': '2022-01-25',
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': '2022-02-11',
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': '2022-02-02',
'rollno': '004', 'nome': 'akash', 'admitt_date': '2021-04-12',
'rollno': '005', 'nome': 'thanuja', 'admitt_date': '2022-01-25'
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Selecione o dia da semana na coluna admitida_date
df.Selecione (DayofWeek (col ("Admitt_date"))).Alias ("dia da semana")).mostrar()
# Selecione o dia do mês na coluna admitida_date
df.Selecione (diafmonte (col ("admitido_date"))).Alias ("dia do mês")).mostrar()
# Selecione o dia do ano na coluna admitida_date
df.Selecione (Dayofyear (col ("Admitt_date"))).Alias ("dia do ano")).mostrar()
Saída:
Conclusão
Neste artigo, aprendemos a usar as funções de data no Pyspark DataFrame. Estes são muito úteis em aplicativos DATAPI. É também sobre como adicionar dias e colunas à data existente.