Pyspark - Funciones de marca de tiempo

Pyspark - Funciones de marca de tiempo
En Python, Pyspark es un módulo Spark utilizado para proporcionar un tipo similar de procesamiento como Spark usando DataFrame.

Discutiremos las funciones de la marca de tiempo en Pyspark. Primero creemos un marco de datos.

Marca de tiempo

Una marca de tiempo es un datos que incluyen fecha y hora.

La fecha incluye meses, fecha y año.

El tiempo incluye hora, minuto, segundo y Millsecond.

Podemos representar la marca de tiempo como - (aaa yyyy, mm, dd, h, m, s, mi.S)

Dónde:

  1. yyyy - representa el año en formato de cuatro dígitos
  2. MM: representa el mes en formato de dos dígitos
  3. DD - representa la fecha en formato de dos dígitos
  4. H - representa la hora
  5. M - representa minuto
  6. S - representa el segundo
  7. Mi.S representa mili-segundo

Al usar el módulo de DateTime podemos crear marcas de tiempo. Entonces, requiere importar el módulo de fecha y hora.

Creación de ejemplo:
fecha y hora.DateTime (2022, 2, 16, 2, 46, 30, 144585)

Ejemplo:
Aquí, crearemos Pyspark DataFrame con 5 filas y 3 columnas con marcas de tiempo y mostraremos el Método DataFrame usando Collect ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa todos los métodos de Pyspark.sql.módulo de funciones
de Pyspark.sql.Importación de funciones *
# Importar el módulo de fecha y hora
Importar DateTetime
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos del estudiante con 5 filas y 3 atributos
Students = ['rollno': '001', 'nombre': 'sravan', 'admitited_date': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'Rollno': '002', 'Nombre': 'Deepika', 'admitido_Date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'Rollno': '003', 'Nombre': 'Chandrika', 'admitido_Date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nombre': 'akash', 'admitited_date': dateTime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nombre': 'thanuja', 'admitited_date': dateTime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Muestra DataFrame
df.recolectar()

Producción:

[Fila (admitida_date = dateTime.DateTime (2022, 2, 16, 2, 46, 30, 144585), name = 'sravan', rollno = '001'),
Fila (admitida_date = dateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582), nombre = 'Deepika', rollNo = '002'),
Fila (admitida_date = dateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585), nombre = 'Chandrika', rollNo = '003'),
Fila (admitida_date = dateTime.DateTime (2022, 4, 16, 6, 46, 45, 144185), nombre = 'Akash', Rollno = '004'),
Fila (admitida_date = dateTime.DateTime (2012, 5, 6, 2, 46, 47, 154585), name = 'thanuja', rollno = '005')]

formato de fecha()

Este formato se utiliza para extraer la fecha/hora de la marca de tiempo dada. Tomará el formato de fecha/hora y obtendrá la fecha/hora en función de este formato.

Para obtener la fecha, el formato es "aaa yyy-mm-dd". Podemos colocar mm/dd/yyyy en cualquier orden.

Sintaxis:
date_format (col ("timestamp_column"), "yyyy-mm-dd").alias ("result_column")

Dónde:

  1. timestamp_column es la columna de datos de la marca de tiempo
  2. resultado_column es la etiqueta para esta columna formateada

Para obtener el tiempo, el formato es "HH: MM: SS.SSS ".

Sintaxis:
marco de datos.SELECT (date_format (col ("timestamp_column"), "HH: MM: SS.SSS ").alias ("result_column"))

Dónde:

  1. timestamp_column es la columna de datos de la marca de tiempo
  2. resultado_column es la etiqueta para esta columna formateada

Ejemplo 1:
En este ejemplo, extraeremos la fecha como "fecha" de la columna de marca de tiempo admitida_Date y la mostraremos usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa todos los métodos de Pyspark.sql.módulo de funciones
de Pyspark.sql.Importación de funciones *
# Importar el módulo de fecha y hora
Importar DateTetime
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos del estudiante con 5 filas y 3 atributos
Students = ['rollno': '001', 'nombre': 'sravan', 'admitited_date': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'Rollno': '002', 'Nombre': 'Deepika', 'admitido_Date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'Rollno': '003', 'Nombre': 'Chandrika', 'admitido_Date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nombre': 'akash', 'admitited_date': dateTime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nombre': 'thanuja', 'admitited_date': dateTime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Extraer fecha de la marca de tiempo
df.SELECT (col ("admitited_date"), date_format (col ("admititits_date"), "aaa yyyy-mm-dd").alias ("fecha")).espectáculo()

Producción:

Ejemplo 2:
En este ejemplo, extraeremos el tiempo como "tiempo" de la columna de marca de tiempo admitida_Date y lo mostraremos usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa todos los métodos de Pyspark.sql.módulo de funciones
de Pyspark.sql.Importación de funciones *
# Importar el módulo de fecha y hora
Importar DateTetime
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos del estudiante con 5 filas y 3 atributos
Students = ['rollno': '001', 'nombre': 'sravan', 'admitited_date': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'Rollno': '002', 'Nombre': 'Deepika', 'admitido_Date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'Rollno': '003', 'Nombre': 'Chandrika', 'admitido_Date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nombre': 'akash', 'admitited_date': dateTime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nombre': 'thanuja', 'admitited_date': dateTime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# extraer tiempo de la marca de tiempo
df.SELECT (col ("admittitt_date"), date_format (col ("admitited_date"), "HH: MM: SS.SSS ").alias ("tiempo")).espectáculo()

Producción:

hora()

hora () es un método que devolverá la hora de la marca de tiempo dada. Devolverá horas a través de las filas en una columna de marca de tiempo.

Sintaxis:
marco de datos.SELECCIONAR (HORA (COL ("TIMESTAMP_COLUMN")))

Dónde, TimeStamp_Column es la columna de datos de la marca de tiempo.

minuto()

minuto () es un método que devolverá minutos de la marca de tiempo dada. Devolverá minutos a través de las filas en una columna de marca de tiempo.

Sintaxis:
marco de datos.Seleccionar (minuto (col ("timestamp_column")))

Dónde, TimeStamp_Column es la columna de datos de la marca de tiempo.

segundo()

Second () es un método que devolverá segundos de la marca de tiempo dada. Devolverá segundos a través de las filas en una columna de marca de tiempo.

Sintaxis:
marco de datos.Seleccionar (segundo (col ("timestamp_column")))

Dónde, TimeStamp_Column es la columna de datos de la marca de tiempo.

Ejemplo:
En este ejemplo, extraeremos horas, minutos y segundos de la columna de marca de tiempo admitida con admitido utilizando los métodos anteriores y mostraremos el marcado de datos usando el método show ().

#Importa el módulo Pyspark
importar pyspark
#Import Sparksession para crear una sesión
de Pyspark.SQL Import Sparksession
#Importa todos los métodos de Pyspark.sql.módulo de funciones
de Pyspark.sql.Importación de funciones *
# Importar el módulo de fecha y hora
Importar DateTetime
#cree una aplicación llamada Linuxhint
Spark_app = Sparksession.constructor.AppName ('Linuxhint').getorcreate ()
# Crear datos del estudiante con 5 filas y 3 atributos
Students = ['rollno': '001', 'nombre': 'sravan', 'admitited_date': datetime.DateTime (2022, 2, 16, 2, 46, 30, 144585),
'Rollno': '002', 'Nombre': 'Deepika', 'admitido_Date': DateTime.DateTime (2022, 2, 11, 3, 46, 10, 144582),
'Rollno': '003', 'Nombre': 'Chandrika', 'admitido_Date': DateTime.DateTime (2021, 1, 8, 4, 46, 44, 194585),
'rollno': '004', 'nombre': 'akash', 'admitited_date': dateTime.DateTime (2022, 4, 16, 6, 46, 45, 144185),
'rollno': '005', 'nombre': 'thanuja', 'admitited_date': dateTime.DateTime (2012, 5, 6, 2, 46, 47, 154585)
]
# Crea el DataFrame
DF = Spark_App.Createdataframe (estudiantes)
# Extraer horas de la marca de tiempo
df.SELECT (col ("admitido_date"), hora (col ("admititits_date")))).espectáculo()
# Extraer minutos de la marca de tiempo
df.SELECT (col ("admitited_date"), minuto (col ("admititits_date")))).espectáculo()
# Extraer segundos de la marca de tiempo
df.SELECT (col ("admitited_date"), segundo (col ("admititits_date")))).espectáculo()

Producción:

Conclusión

En este tutorial, discutimos cómo extraer la fecha y la hora utilizando el método date_format () y mediante la hora (), minuto () y el segundo (). Extrajimos horas, minutos y segundos de la columna de marca de tiempo en el marco de datos de Pyspark.