La ventaja de la partición es lograr la consistencia y la agrupación de los datos. Después de realizar la partición, podemos proporcionar los números a la fila en cada partición utilizando el numero de fila() función.
Es posible dividir las filas en un marcado de datos basado en los valores en una columna particular. Todos los valores similares se establecen en cada partición. Supongamos que hay 3 tipos de valores similares, entonces cada tipo es una partición. Entonces, habrá tres particiones.
Función de ventana Row_Number ()
El Row_Number en Pyspark es una función de ventana que se utiliza para establecer los números a partir de 1 en cada ventana particionada.
Lo principal es que el row_number () no está disponible directamente. Tenemos que importarlo del pyspark.sql.funciones módulo.
Sintaxis para importar módulo:
de Pyspark.sql.Funciones importar row_numberDe lo contrario, también podemos hacer esto para importar todos los métodos de este módulo.
de Pyspark.sql.Importación de funciones *Tenemos que seguir los siguientes pasos para realizar la partición y aplicar el número ROW_Number en los datos particionados.
Pasos:
Sintaxis:
partición = ventana.Partitionby ("columna").Orderby ("columna")Podemos ordenar los datos particionados con la columna particionada o cualquier otra columna.
Sintaxis:
dataframe_obj.withColumn ("nombre", row_number ().sobre (partición))Aquí, el nombre especifica el nombre de la fila y el DataFrame_obj es nuestro Pyspark DataFrame.
Implementemos el código.
Ejemplo 1:
Aquí, creamos un marco de datos de Pyspark que tiene 5 columnas: ['ujem_id', 'nombre', 'edad', 'tecnología1', 'tecnología2'] con 10 filas y divide las filas basadas en el Tecnología1 Usar la función de la ventana después de obtener los números de fila para particiones y agregarlos en la columna - Fila para la tecnología1.
importar pysparkProducción:
Explicación:
La primera salida representa los datos reales presentes en DataFrame. En la segunda salida, la partición se realiza en base a la Tecnología1 columna.
El número total de particiones es 4.
Partición 1:
El .La red ocurrió dos veces en la primera partición. Entonces, los Row_numbers son 1 y 2.
Partición 2:
Hadoop ocurrió una vez en la segunda partición. Entonces, el Row_Number es 1.
Partición 3:
Oracle ocurrió cinco veces en la tercera partición. Entonces, los Row_numbers son 1, 2, 3, 4 y 5.
Partición 4:
PHP ocurrió dos veces en la quinta partición. Entonces, los Row_numbers son 1 y 2.
Ejemplo 2:
Para el mismo DataFrame, dividimos las filas basadas en Tecnología2 Usar la función de la ventana después de obtener los números de fila para particiones y agregarlos en la columna - Fila para tecnología2.
importar pysparkProducción:
Explicación:
La primera salida representa los datos reales presentes en DataFrame. En la segunda salida, la partición se realiza en base a la Tecnología2 columna.
El número total de particiones es 3.
Partición 1:
C# ocurrió tres veces en la primera partición. Entonces, los Row_numbers son 1, 2 y 3.
Partición 2:
HTML ocurrió dos veces en la segunda partición. Entonces, los Row_numbers son 1 y 2.
Partición 3:
Las pruebas ocurrieron cinco veces en la tercera partición. Entonces, los Row_numbers son 1, 2, 3, 4 y 5.
Conclusión
Discutimos cómo particionar las filas en el marco de datos de Pyspark y obtener los números de fila en cada partición utilizando la función de ventana row_number (). El Row_Number en Pyspark es una función de ventana que se utiliza para establecer los números a partir de 1 en cada ventana particionada. Asegúrese de usar este comando mientras usa esta función - de Pyspark.sql.Funciones importar row_number.