Il vantaggio della partizione è ottenere la coerenza e il raggruppamento dei dati. Dopo aver eseguito la partizione, possiamo fornire i numeri alla riga in ogni partizione usando il row_number () funzione.
È possibile partizione delle righe in un telaio di dati in base ai valori in una colonna particolare. Tutti i valori simili sono impostati su ogni partizione. Supponiamo che ci siano 3 tipi di valori simili, quindi ogni tipo è una partizione. Quindi, ci saranno tre partizioni.
Funzione row_number () finestra
Row_number in pyspark è una funzione finestra che viene utilizzata per impostare i numeri a partire da 1 in ogni finestra partizionata.
La cosa principale è che Row_number () non è disponibile direttamente. Dobbiamo importarlo dal pyspark.SQL.funzioni modulo.
Sintassi per importare il modulo:
da pyspark.SQL.Funzioni Importa Row_numberAltrimenti, possiamo anche fare così per importare tutti i metodi da questo modulo.
da pyspark.SQL.funzioni importanti *Dobbiamo seguire i seguenti passaggi per eseguire la partizione e applicare la row_number sui dati partizionati.
Passaggi:
Sintassi:
partizione = finestra.Partitionby ("colonna").orderby ("colonna")Possiamo ordinare i dati partizionati con la colonna partizionata o qualsiasi altra colonna.
Sintassi:
dataframe_obj.WithColumn ("nome", row_number ().Over (partizione))Qui, il nome specifica il nome della riga e DataFrame_Obj è il nostro PysPark DataFrame.
Implementamoci il codice.
Esempio 1:
Qui, creiamo un frame dati pyspark che ha 5 colonne - ['soggetto_id', 'name', 'age', 'technology1', 'technology2'] con 10 righe e partizione le righe basate sul Tecnologia1 Utilizzo della funzione Finestra dopo aver ottenuto i numeri di riga per le partizioni e aggiungerli nella colonna - Riga per la tecnologia1.
importare pysparkProduzione:
Spiegazione:
Il primo output rappresenta i dati effettivi presenti nel frame dati. Nel secondo output, la partizione viene eseguita in base al Tecnologia1 colonna.
Il numero totale di partizioni è 4.
Partizione 1:
IL .La rete si è verificata due volte nella prima partizione. Quindi, i row_numbers sono 1 e 2.
Partizione 2:
Hadoop si è verificato una volta nella seconda partizione. Quindi, il row_number è 1.
Partizione 3:
Oracle si è verificato cinque volte nella terza partizione. Quindi, i row_numbers sono 1, 2, 3, 4 e 5.
Partizione 4:
PHP si è verificato due volte nella quinta partizione. Quindi, i row_numbers sono 1 e 2.
Esempio 2:
Per lo stesso telaio di dati, partiamo le righe basate su Tecnologia2 Utilizzo della funzione Finestra dopo aver ottenuto i numeri di riga per le partizioni e aggiungerli in colonna - Riga per la tecnologia2.
importare pysparkProduzione:
Spiegazione:
Il primo output rappresenta i dati effettivi presenti nel frame dati. Nel secondo output, la partizione viene eseguita in base al Tecnologia2 colonna.
Il numero totale di partizioni è 3.
Partizione 1:
C# si è verificato tre volte nella prima partizione. Quindi, i row_numbers sono 1, 2 e 3.
Partizione 2:
HTML si è verificato due volte nella seconda partizione. Quindi, i row_numbers sono 1 e 2.
Partizione 3:
I test si sono verificati cinque volte nella terza partizione. Quindi, i row_numbers sono 1, 2, 3, 4 e 5.
Conclusione
Abbiamo discusso di come partizionare le righe nel frame dati pyspark e ottenere i numeri di riga in ciascuna partizione usando la finestra row_number (). Row_number in pyspark è una funzione finestra che viene utilizzata per impostare i numeri a partire da 1 in ogni finestra partizionata. Assicurati di utilizzare questo comando durante l'utilizzo di questa funzione - da pyspark.SQL.Funzioni Importa Row_number.