Pyspark - funções de data

Pyspark - funções de data
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:

  1. Column_date1 é a coluna de primeira data
  2. Column_date2 é a coluna de segunda data subtraída de column_date1.
  3. 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:

  1. Column_date1 é a coluna de primeira data
  2. Column_date2 é a coluna de segunda data subtraída de column_date1.
  3. 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,

  1. coluna é a coluna de data
  2. número_of_months é o número total de meses a ser adicionado à data da coluna.
  3. 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:

  1. coluna é a coluna de data
  2. número_of_days é o número total de dias a serem adicionados à data da coluna.
  3. 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:

  1. coluna é a coluna de data
  2. número_of_days é o número total de dias a serem subtraídos da data da coluna.
  3. 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:

  1. coluna é a coluna de data
  2. 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:

  1. coluna é a coluna de data
  2. 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:

  1. coluna é a coluna de data
  2. 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.