Σε αυτόν τον οδηγό, θα δούμε πώς να σχεδιάσουμε τα δεδομένα PySpark στο ιστόγραμμα. Εδώ μπορούμε να δούμε δύο σενάρια. Το ιστόγραμμα δημιουργείται στο PySpark Pandas DataFrame και σε δεδομένα RDD. Για αυτά τα δύο σενάρια, το PySpark παρέχει δύο λειτουργίες: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.
Θέμα Περιεχομένων:
- Σχεδιάστε το Ιστόγραμμα στο PySpark Pandas DataFrame
- Σχεδιάστε το ιστόγραμμα στο PySpark Pandas DataFrame με την παράμετρο Bins
- Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας τον αριθμό κάδου
- Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας το μέγεθος κάθε κάδου
Pyspark.pandas.DataFrame.plot.hist()
Σε αυτό το σενάριο, το ιστόγραμμα εμφανίζεται ως γραφική αναπαράσταση δεδομένων που τοποθετεί μια σειρά κλάσεων σε στήλες (από το PySpark Pandas DataFrame) μαζί με τον οριζόντιο άξονα x. Ο άξονας y αντιπροσωπεύει τον αριθμό των εμφανίσεων στο PySpark Pandas DataFrame για κάθε στήλη.
Σύνταξη:
pyspark_pandas_DataFrame.plot.hist(bins,...)
Λαμβάνει τον συνολικό αριθμό των bins ως προαιρετική παράμετρο που είναι ένας ακέραιος και ορισμένα προαιρετικά ορίσματα λέξης-κλειδιού. Εάν οι κάδοι δεν καθορίζονται για κάθε στήλη, δημιουργείται μια γραμμή.
Σχεδιάστε το Ιστόγραμμα στο PySpark Pandas DataFrame
Δημιουργήστε ένα PySpark Pandas DataFrame με 2 στήλες με 4 εγγραφές. Σχεδιάστε το ιστόγραμμα χωρίς να περάσετε καμία παράμετρο στη συνάρτηση plot.hist().
από panda εισαγωγής pysparkpyspark_pandas_dataframe=pandas.DataFrame({ 'Κτίριο_ύψος' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})
print(pyspark_pandas_dataframe)
# Ιστόγραμμα PySpark-Pandas
pyspark_pandas_dataframe.plot.hist()
Παραγωγή:
Εδώ, τα ονόματα στηλών είναι 'Building_height' και 'Building_Area'.
Ας δούμε το Ιστόγραμμα:
Ο συνολικός αριθμός σειρών στο προηγούμενο DataFrame είναι 4. Έτσι, δημιουργούνται 4 θέσεις.
Σχεδιάστε το ιστόγραμμα στο PySpark Pandas DataFrame με την παράμετρο Bins
Δημιουργήστε ένα PySpark Pandas DataFrame με 2 στήλες με 4 εγγραφές. Σχεδιάστε το ιστόγραμμα χωρίς να περάσετε καμία παράμετρο στη συνάρτηση plot.hist().
από panda εισαγωγής pysparkpyspark_pandas_dataframe=pandas.DataFrame({ 'Κτίριο_ύψος' :[ 120,56 , 234,67 , 12.0 , 200,45 ], 'Building_Area' :[ 2 , 3 , 1 , 4 ]})
# Ιστόγραμμα PySpark-Pandas με 2 κάδους
pyspark_pandas_dataframe.plot.hist(bins= 2 )
Παραγωγή:
Εδώ, τα ονόματα στηλών είναι 'Building_height' και 'Building_Area'.
Ας δούμε το ιστόγραμμα - το κόκκινο αναφέρεται στο 'Building_Area' και το μπλε αναφέρεται στη στήλη 'Building_height':
Όπως διευκρινίσαμε, δημιουργήθηκαν μόνο 2 κάδοι και 2 μπάρες. Τέσσερις σειρές είναι δεμένες σε 2 κουβάδες εδώ.
Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας τον αριθμό κάδου
Όταν εργάζεστε με RDD, το ιστόγραμμα μπορεί να επιστραφεί με τη μορφή πλειάδας που περιλαμβάνει τους κάδους και τις συνολικές τιμές που υπάρχουν σε κάθε κάδο.
Σύνταξη:
pyspark_RDD.histogram(buckets)Σε αυτό το σενάριο, περνάμε τον αριθμό των κουβάδων (ακέραιος) που περιλαμβάνονται στο Ιστόγραμμα. Επιστρέφει την πλειάδα των λιστών που περιλαμβάνουν τις περιοχές του κάδου και τις αντίστοιχες εμφανίσεις τιμών στην ακόλουθη μορφή: ([εύρη κάδου…], [εμφανίσεις τιμών…]).
Παράδειγμα 1:
Ας δημιουργήσουμε ένα RDD με το όνομα 'Building_height' με 10 τιμές και ας δημιουργήσουμε ένα ιστόγραμμα με 3 κάδους.
εισαγωγή pysparkαπό το pyspark.sql εισαγωγή SparkSession
από το pyspark.rdd εισαγωγή RDD
spark_app = SparkSession.builder.appName( 'linux' .getOrCreate()
# Δημιουργήστε ένα RDD με 10 τιμές
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())
# Καθορισμός 3 κουβάδων
Building_height.histogram( 3 )
Παραγωγή:
- Το Bucket-1 κυμαίνεται από 12,0 έως 86,223: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 5.
- Το Bucket-2 κυμαίνεται από 86.223 έως 160.446: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 3.
- Το Bucket-3 κυμαίνεται από 160.446 έως 234.67: Σε αυτό το εύρος, ο συνολικός αριθμός τιμών που υπάρχουν στον κάδο είναι 2.
Παράδειγμα 2:
Δημιουργήστε ένα ιστόγραμμα με 2 κάδους στο RDD που δημιουργήθηκε προηγουμένως.
εισαγωγή pysparkαπό το pyspark.sql εισαγωγή SparkSession
από το pyspark.rdd εισαγωγή RDD
spark_app = SparkSession.builder.appName( 'linux' .getOrCreate()
# Δημιουργήστε ένα RDD με 10 τιμές
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())
# Καθορισμός 2 κουβάδων
Building_height.histogram( 2 )
Παραγωγή:
- Ο κάδος 1 κυμαίνεται από 12,0 έως 123,335. Σε αυτό το εύρος, ο συνολικός αριθμός των τιμών που υπάρχουν στον κάδο είναι 8.
- Ο κάδος 2 κυμαίνεται από 123.335 έως 234.67: Σε αυτό το εύρος, ο συνολικός αριθμός των τιμών που υπάρχουν στον κάδο είναι 2.
Σχεδιάστε το ιστόγραμμα στο PySpark RDD καθορίζοντας το μέγεθος κάθε κάδου
Στο προηγούμενο σενάριο, περάσαμε τους κάδους στη συνάρτηση RDD.histogram(). Τώρα, περνάμε τα μεγέθη του κάδου το ένα μετά το άλλο μέσα σε μια λίστα και περνάμε αυτήν τη λίστα ως παράμετρο σε αυτήν τη συνάρτηση. Βεβαιωθείτε ότι πρέπει να καθορίσουμε τουλάχιστον δύο κάδους με αύξουσα/αύξουσα σειρά και δεν θα έχει διπλότυπες τιμές.
Σύνταξη:
pyspark_RDD.histogram([εύρη κάδου…])Σε αυτό το σενάριο, περνάμε τον αριθμό των κουβάδων (ακέραιος) που περιλαμβάνονται στο ιστόγραμμα. Επιστρέφει την πλειάδα των λιστών που περιλαμβάνουν τις περιοχές του κάδου και τις αντίστοιχες εμφανίσεις τιμών στην ακόλουθη μορφή: ([εύρη κάδου…], [εμφανίσεις τιμών…]).
Παράδειγμα 1:
Ας δημιουργήσουμε ένα RDD με το όνομα 'Building_height' με 10 τιμές και ας δημιουργήσουμε ένα ιστόγραμμα με το bucker εύρος τιμών [0, 50, 100, 150, 200, 250].
εισαγωγή pysparkαπό το pyspark.sql εισαγωγή SparkSession
από το pyspark.rdd εισαγωγή RDD
spark_app = SparkSession.builder.appName( 'linux' .getOrCreate()
# Δημιουργήστε ένα RDD με 10 τιμές
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())
# Καθορισμός κάδου με μέγεθος - [0,50,100,150,200,250]
Building_height.histogram([ 0 , πενήντα , 100 , 150 , 200 , 250 ])
Παραγωγή:
- Κάδος 1: (0 έως 50) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 3.
- Κάδος 1: (50 έως 100) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
- Κάδος 1: (100 έως 150) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
- Κάδος 1: (150 έως 200) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
- Κάδος 1: (200 έως 250) : Οι συνολικές τιμές σε αυτόν τον κάδο είναι 2.
Παράδειγμα 2:
Δημιουργήστε ένα ιστόγραμμα με το εύρος τιμών του κάδου [0, 100, 200, 300].
εισαγωγή pysparkαπό το pyspark.sql εισαγωγή SparkSession
από το pyspark.rdd εισαγωγή RDD
spark_app = SparkSession.builder.appName( 'linux' .getOrCreate()
# Δημιουργήστε ένα RDD με 10 τιμές
Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12.0 , 200,45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
Τυπώνω( 'Πραγματικός: ' ,Building_height.collect())
# Καθορισμός κάδου με μέγεθος - [0,100,200,300]
Building_height.histogram([ 0 , 100 , 200 , 300 ])
Παραγωγή:
- Κάδος 1: (0 έως 100). Η συνολική αξία σε αυτόν τον κάδο είναι 5.
- Κάδος 2: (100 έως 200). Η συνολική αξία σε αυτόν τον κάδο είναι 3.
- Κάδος 3: (200 έως 300). Η συνολική αξία σε αυτόν τον κάδο είναι 2.
συμπέρασμα
Είδαμε πώς να δημιουργήσουμε ιστογράμματα στο PySpark σε PySpark Pandas DataFrame και RDD. Το histogram() είναι η συνάρτηση που χρησιμοποιείται για τη λήψη του ιστογράμματος σε δεδομένα RDD. Το plot.hist() χρησιμοποιείται για την εμφάνιση του ιστογράμματος στο PySpark Pandas DataFrame. Συζητήσαμε αυτές τις συναρτήσεις με παραδείγματα καλύπτοντας όλες τις παραμέτρους.