Pyspark Shiftleft- und Shiftright -Funktionen

Pyspark Shiftleft- und Shiftright -Funktionen
Schichtvorgänge mittlerer Verschiebung der Bits in Bezug auf die Gesamtzahl der in einer Binärzahl bereitgestellten Positionen.

Innen wird die Zahl also in binäres Format umgewandelt und die Bits werden verschoben. Es gibt zwei Möglichkeiten. Entweder verschieben sich die Bits von links nach rechts oder rechts nach links.

Schichtbits von links nach rechts heißt die linke Verschiebung, und die Schaltteile von rechts nach links werden als rechte Verschiebung bezeichnet.

In diesem PYSPARK -Tutorial werden wir sehen.

Shiftleft () -Funktion

Es ist in der erhältlich PYSPARK.sql.Funktionen Modul. Die Shiftleft () -Funktion verschiebt die Bits nach links.

Es wird an die Formel bewertet, Wert*(2^Verschiebung).

Zum Beispiel:

Lassen Sie uns den Wert 12 x 3 Bit verschieben.

Lösung:

12*(2*3)
=> 12*8
=> 96

Also, 12 nach dem Verlust von 3 Bissen ist 96.

Dies kann in der Methode Select () verwendet werden.

Syntax
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftleft (DataFrame_OBJ.Spalte, n))

Parameter:
Die Shiftleft () -Funktion nimmt zwei Parameter vor.

  1. Der erste Parameter ist der Spaltenname.
  2. Der zweite Parameter ist die Ganzzahl, die die Gesamtzahl der Bits darstellt, die nach links verschoben werden sollen.

Beispiel 1
Wir erstellen also einen PYSPark -Datenrahmen mit 5 Zeilen und 5 Spalten: ['Subjekt_ID', 'Name', 'Alter', 'M1', 'M2'].
Und Verschiebung von 2 Bits in M1- und M2 -Spalten links.

Pysspark importieren
aus pysspark.SQL Import SparkSession
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23,78,90),
(4, 'Chandana', 23,67,89),
(46, 'Mounika', 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
]
DataFrame_OBJ = Spark_App.erstellteataframe (Studenten, ['Subjekt_id', 'Name', 'Alter', 'M1', 'M2'])
DataFrame_OBJ.zeigen()
# Importieren Sie die Shiftleft -Funktion aus dem Modul - pySpark.sql.Funktionen
aus pysspark.sql.Funktionen importieren Shiftleft
#Perform SHIFTLEFT -Betrieb für alle Werte in der M1 -Spalte nach 2 Positionen
# und M2 -Spalte nach 2 Positionen
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftleft (DataFrame_OBJ.M1,2), DataFrame_OBJ.M2, Shiftleft (DataFrame_OBJ.m2,2)).zeigen()

Ausgang:

Erläuterung

In der M1 -Spalte:

78 => 78*(2^2) = 312
67 => 67*(2^2) = 268
54 => 54*(2^2) = 216
100 => 100*(2^2) = 400
50 => 50*(2^2) = 200

In der M2 -Spalte:

90 => 90*(2^2) = 360
89 => 89*(2^2) = 356
67 => 67*(2^2) = 268
100 => 100*(2^2) = 400
50 => 50*(2^2) = 200

Beispiel 2
Wir erstellen also einen PYSPark -Datenrahmen mit 5 Zeilen und 5 Spalten: ['Subjekt_ID', 'Name', 'Alter', 'M1', 'M2'].
Und Verschiebung von 4 Bits in M1- und M2 -Spalten links.

pysspark importieren
aus pysspark.SQL Import SparkSession
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23,78,90),
(4, 'Chandana', 23,67,89),
(46, 'Mounika', 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
]
DataFrame_OBJ = Spark_App.erstellteataframe (Studenten, ['Subjekt_id', 'Name', 'Alter', 'M1', 'M2'])
DataFrame_OBJ.zeigen()
# Importieren Sie die Shiftleft -Funktion aus dem Modul - pySpark.sql.Funktionen
aus pysspark.sql.Funktionen importieren Shiftleft
#Perform SHIFTLEFT -Betrieb für alle Werte in der M1 -Spalte nach 4 Positionen
# und M2 -Spalte für 4 Positionen
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftleft (DataFrame_OBJ.M1,4), DataFrame_OBJ.M2, Shiftleft (DataFrame_OBJ.m2,4)).zeigen()

Ausgang:

Erläuterung

In der M1 -Spalte:

78 => 78*(2^4) = 1248
67 => 67*(2^4) = 1072
54 => 54*(2^4) = 864
100 => 100*(2^4) = 1600
50 => 50*(2^4) = 800

In der M2 -Spalte:

90 => 90*(2^4) = 1440
89 => 89*(2^4) = 1424
67 => 67*(2^4) = 1072
100 => 100*(2^4) = 1600
50 => 50*(2^4) = 800

shiftright () Funktion

Es ist in der erhältlich PYSPARK.sql.Funktionen Modul. Die Funktion Shiftright () verschiebt die Bits nach rechts.

Es wird an die Formel bewertet, Wert/(2^Shift)

Zum Beispiel: Lassen Sie uns den Wert 12 x 3 Bit verschieben.

Lösung:

12/(2*3)
=> 12/8
=> 1

Somit ist 12 nach dem Verlag von 3 Bissen von rechts nach links 1.

Dies kann in der Methode Select () verwendet werden. Da wir die verschobenen Werte in einer Spalte mit der Methode Select () in PYSPark anzeigen können.

Syntax
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftright (DataFrame_OBJ.Spalte, n))

Parameter:
Shiftright () nimmt zwei Parameter mit.

  1. Der erste Parameter ist der Spaltenname.
  2. Der zweite Parameter ist die Ganzzahl, die die Gesamtzahl der nach rechts verschobenen Bits darstellt.

Beispiel 1
Wir erstellen also einen PYSPark -Datenrahmen mit 5 Zeilen und 5 Spalten: ['Subjekt_ID', 'Name', 'Alter', 'M1', 'M2'].
Und Verschiebung von 2 Bits in M1- und M2 -Spalten nach rechts.

pysspark importieren
aus pysspark.SQL Import SparkSession
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23,78,90),
(4, 'Chandana', 23,67,89),
(46, 'Mounika', 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
]
DataFrame_OBJ = Spark_App.erstellteataframe (Studenten, ['Subjekt_id', 'Name', 'Alter', 'M1', 'M2'])
DataFrame_OBJ.zeigen()
# Importieren Sie die Shiftright -Funktion aus dem Modul - pySpark.sql.Funktionen
aus pysspark.sql.Funktionen importieren Shiftright
#Performance Shiftright -Betrieb für alle Werte in der M1 -Spalte nach 2 Positionen
# und M2 -Spalte nach 2 Positionen
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftright (DataFrame_OBJ.M1,2), DataFrame_OBJ.M2, Shiftright (DataFrame_OBJ.m2,2)).zeigen()

Ausgang:

Erläuterung

In der M1 -Spalte:

78 => 78/(2^2) = 19
67 => 67/(2^2) = 16
54 => 54/(2^2) = 13
100 => 100/(2^2) = 25
50 => 50/(2^2) = 12

In M2 -Spalte:

90 => 90/(2^2) = 22
89 => 89/(2^2) = 22
67 => 67/(2^2) = 16
100 => 100/(2^2) = 25
50 => 50/(2^2) = 12

Beispiel 2
Wir erstellen also einen PYSPark -Datenrahmen mit 5 Zeilen und 5 Spalten: ['Subjekt_ID', 'Name', 'Alter', 'M1', 'M2'].
Und Verschiebung von 4 Bits in M1- und M2 -Spalten nach rechts.

pysspark importieren
aus pysspark.SQL Import SparkSession
Spark_app = SparkSession.Erbauer.App Name('_').Getorcreate ()
Schüler = [(4, 'Sravan', 23,78,90),
(4, 'Chandana', 23,67,89),
(46, 'Mounika', 22,54,67),
(4, 'Deepika', 21.100.100),
(46, 'Chandrika', 22,50,50),
]
DataFrame_OBJ = Spark_App.erstellteataframe (Studenten, ['Subjekt_id', 'Name', 'Alter', 'M1', 'M2'])
DataFrame_OBJ.zeigen()
# Importieren Sie die Shiftright -Funktion aus dem Modul - pySpark.sql.Funktionen
aus pysspark.sql.Funktionen importieren Shiftright
#Performance Shiftright -Betrieb für alle Werte in der M1 -Spalte nach 4 Positionen
# und M2 -Spalte für 4 Positionen
DataFrame_OBJ.select (DataFrame_OBJ.M1, Shiftright (DataFrame_OBJ.M1,4), DataFrame_OBJ.M2, Shiftright (DataFrame_OBJ.m2,4)).zeigen()

Ausgang:

Erläuterung

In der M1 -Spalte:

78 => 78/(2^4) = 4
67 => 67/(2^4) = 4
54 => 54/(2^4) = 3
100 => 100/(2^4) = 6
50 => 50/(2^4) = 3

In der M2 -Spalte:

90 => 90/(2^4) = 5
89 => 89/(2^4) = 5
67 => 67/(2^4) = 4
100 => 100/(2^4) = 6
50 => 50/(2^4) = 3

Abschluss

In diesem PYSPARK. Die Shiftleft () -Funktion verschiebt die Bits nach links. Es wird an die Formel bewertet, Wert*(2^Verschiebung). Die Funktion Shiftright () verschiebt die Bits nach rechts. Es wird an die Formel bewertet, Wert/(2^Verschiebung). Stellen Sie sicher, dass Sie diese beiden Funktionen aus dem PYSPark importieren müssen.sql.Funktionsmodul.