Pyspark - Funções de Timestamp

Pyspark - Funções de Timestamp
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 timestamp no Pyspark. Vamos primeiro criar um DataFrame.

Timestamp

Um registro de data e hora é um dados que incluem data e hora.

A data inclui meses, data e ano.

O tempo inclui hora, minuto, segundo e moinho.

Podemos representar o timestamp como - (Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.S)

Onde:

  1. AAA - representa o ano em formato de quatro dígitos
  2. Mm - representa mês em formato de dois dígitos
  3. dd - representa a data em formato de dois dígitos
  4. H - representa hora
  5. M - representa minuto
  6. S - representa o segundo
  7. Mi.S representa Milli-segundo

Ao usar o módulo DateTime, podemos criar registros de data e hora. Portanto, requer a importação do módulo DateTime.

Exemplo de criação:
data hora.DateTime (2022, 2, 16, 2, 46, 30, 144585)

Exemplo:
Aqui, criaremos o DataFrame Pyspark com 5 linhas e 3 colunas com registro de data e hora e exibirá o DataFrame usando o método collect ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import Todos os métodos da Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar *
# importar módulo DATETIME
importar datetime
#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': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nome': 'akash', 'admitt_date': datetime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nome': 'thanuja', 'admitt_date': datetime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Exibir dataframe
df.colecionar ()

Saída:

[Linha (admitido_date = datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585), nome = 'sravan', rollno = '001'),
Linha (admitt_date = datetime.DateTime (2022, 2, 11, 3, 46, 10, 144582), nome = 'Deepika', rollno = '002'),
Linha (admitt_date = datetime.DateTime (2021, 1, 8, 4, 46, 44, 194585), nome = 'Chandrika', rollno = '003'),
Linha (admitt_date = datetime.DateTime (2022, 4, 16, 6, 46, 45, 144185), nome = 'Akash', rollno = '004'),
Linha (admitt_date = datetime.DateTime (2012, 5, 6, 2, 46, 47, 154585), nome = 'Thanuja', rollno = '005')]

Formato de data()

Este formato é usado para extrair a data/hora do timestamp especificado. Ele levará o formato de data/hora e obterá a data/hora com base neste formato.

Para obter a data, o formato é "AAAA-MM-DD". Podemos fazer mm/dd/aaaa em qualquer pedido.

Sintaxe:
date_format (col ("timestamp_column"), "yyyy-mm-dd").Alias ​​("resultado_column")

Onde:

  1. Timestamp_column é a coluna de dados de data e hora
  2. Result_column é o rótulo para esta coluna formatada

Para obter o tempo, o formato é “hh: mm: ss.SSS ”.

Sintaxe:
quadro de dados.SELECT (DATE_FORMAT (COL ("TIMESTAMP_COLUMN"), "HH: MM: SS.SSS ”).Alias ​​("Result_column")))

Onde:

  1. Timestamp_column é a coluna de dados de data e hora
  2. Result_column é o rótulo para esta coluna formatada

Exemplo 1:
Neste exemplo, extrairemos a data como "data" da coluna admitida_date Timestamp e exibiremos -o usando o método show ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import Todos os métodos da Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar *
# importar módulo DATETIME
importar datetime
#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': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nome': 'akash', 'admitt_date': datetime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nome': 'thanuja', 'admitt_date': datetime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Extract Data do registro de data e hora
df.SELECT (col ("Admitt_date"), Date_format (col ("Admitt_date"), "AAAA-MM-DD").Alias ​​("Date")).mostrar()

Saída:

Exemplo 2:
Neste exemplo, extrairemos o tempo como "tempo" da coluna admitida_date Timestamp e exibiremos o método Show () Show ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import Todos os métodos da Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar *
# importar módulo DATETIME
importar datetime
#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': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nome': 'akash', 'admitt_date': datetime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nome': 'thanuja', 'admitt_date': datetime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Extraia o tempo do registro de data e hora
df.Selecione (col ("Admitt_date"), Date_format (col ("Admitt_date"), "HH: MM: SS.SSS ").Alias ​​("Time"))).mostrar()

Saída:

hora()

hour () é um método que retornará a hora do registro de data e hora. Ele retornará horas através das linhas em uma coluna de data e hora.

Sintaxe:
quadro de dados.Selecione (hora (col ("Timestamp_column"))))

Onde, timestamp_column é a coluna de dados de data e hora.

minuto()

minuto () é um método que retornará a minutos do registro de data e hora determinada. Ele retornará minutos através das linhas em uma coluna de registro de data e hora.

Sintaxe:
quadro de dados.Selecione (minuto (col ("timestamp_column"))))

Onde, timestamp_column é a coluna de dados de data e hora.

segundo()

Second () é um método que retornará segundos do registro de data e hora determinada. Ele retornará segundos através das linhas em uma coluna de data e hora.

Sintaxe:
quadro de dados.Selecione (segundo (col ("Timestamp_column"))))

Onde, timestamp_column é a coluna de dados de data e hora.

Exemplo:
Neste exemplo, extraíremos hora, minutos e segundos da coluna Admitt_Date Timestamp usando os métodos acima e 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
#Import Todos os métodos da Pyspark.SQL.Módulo de funções
de Pyspark.SQL.Funções Importar *
# importar módulo DATETIME
importar datetime
#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': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'rollno': '002', 'nome': 'Deepika', 'Admitt_date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'rollno': '003', 'name': 'Chandrika', 'Admitt_date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nome': 'akash', 'admitt_date': datetime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nome': 'thanuja', 'admitt_date': datetime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
# Extrair horas do registro de data e hora
df.Selecione (col ("admitido_date"), hora (col ("admitt_date"))))))).mostrar()
# Extrair minutos do registro de data e hora
df.Selecione (col ("admitido_date"), minuto (col ("admitt_date")))))).mostrar()
# Extraia segundos do registro de data e hora
df.Selecione (col ("admitido_date"), segundo (col ("admitido_date"))))))).mostrar()

Saída:

Conclusão

Neste tutorial, discutimos como extrair a data e a hora usando o método date_format () e usando hora (), minuto () e segundo (). Extraímos horas, minutos e segundos da coluna Timestamp no Pyspark Dataframe.