במדריך זה נראה כיצד לשרטט את נתוני 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,...)
הוא לוקח את המספר הכולל של הפחים כפרמטר אופציונלי שהוא מספר שלם וכמה ארגומנטים אופציונליים של מילת מפתח. אם הפחים אינם מצוינים עבור כל עמודה, נוצר סרגל.
צייר היסטוגרמה על PySpark Pandas DataFrame
צור PySpark Pandas DataFrame עם 2 עמודות עם 4 רשומות. שרטטו את ההיסטוגרמה מבלי להעביר פרמטר כלשהו לפונקציה plot.hist().
מ-pyspark ייבוא פנדותpyspark_pandas_dataframe=pandas.DataFrame({ 'גובה_בניין' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'אזור בנייה' :[ 2 , 3 , 1 , 4 ]})
print(pyspark_pandas_dataframe)
# היסטוגרמה PySpark-Pandas
pyspark_pandas_dataframe.plot.hist()
תְפוּקָה:
כאן, שמות העמודות הם 'גובה_בניין' ו'אזור_בניין'.
בואו נסתכל על ההיסטוגרמה:
המספר הכולל של שורות ב-DataFrame הקודם הוא 4. אז נוצרים 4 פחים.
שרטט היסטוגרמה על PySpark Pandas DataFrame עם פרמטר Bins
צור PySpark Pandas DataFrame עם 2 עמודות עם 4 רשומות. שרטטו את ההיסטוגרמה מבלי להעביר פרמטר כלשהו לפונקציה plot.hist().
מ-pyspark ייבוא פנדותpyspark_pandas_dataframe=pandas.DataFrame({ 'גובה_בניין' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'אזור בנייה' :[ 2 , 3 , 1 , 4 ]})
# היסטוגרמה PySpark-Pandas עם 2 פחים
pyspark_pandas_dataframe.plot.hist(bins= 2 )
תְפוּקָה:
כאן, שמות העמודות הם 'גובה_בניין' ו'אזור_בניין'.
הבה נסתכל על ההיסטוגרמה - אדום מתייחס ל-'Building_Area' וכחול מתייחס לעמודה 'Building_height':
כפי שציינו, נוצרו רק 2 פחים ו-2 ברים. ארבע שורות מונחות כאן ב-2 דליים.
שרטט היסטוגרמה על PySpark RDD על ידי ציון מספר הדלי
כאשר אתה עובד עם RDD, ניתן להחזיר היסטוגרמה בצורה של tuple הכוללת את הדליים והערכים הכוללים הקיימים בכל דלי.
תחביר:
pyspark_RDD.histogram(buckets)בתרחיש זה, אנו מעבירים את מספר הדליים (מספר שלם) הכלולים בהיסטוגרמה. היא מחזירה את אוסף הרשימות הכוללות את טווחי הדליים ואת מופעי הערכים התואמים בפורמט הבא: ([טווחי דלי...], [מופעי ערך...]).
דוגמה 1:
בואו ניצור RDD בשם 'Building_height' עם 10 ערכים וניצור היסטוגרמה עם 3 דליים.
ייבוא pysparkמ-pyspark.sql ייבוא SparkSession
מ-pyspark.rdd ייבוא RDD
spark_app = SparkSession.builder.appName( 'לינוקס' ).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 )
תְפוּקָה:
- דלי-1 נע בין 12.0 ל-86.223: בטווח זה, המספר הכולל של הערכים הקיימים בדלי הוא 5.
- דלי-2 נע בין 86.223 ל-160.446: בטווח זה, המספר הכולל של הערכים הקיימים בדלי הוא 3.
- דלי-3 נע בין 160.446 ל-234.67: בטווח זה, המספר הכולל של הערכים הקיימים בדלי הוא 2.
דוגמה 2:
צור היסטוגרמה עם 2 דליים על ה-RDD שנוצר קודם לכן.
ייבוא pysparkמ-pyspark.sql ייבוא SparkSession
מ-pyspark.rdd ייבוא RDD
spark_app = SparkSession.builder.appName( 'לינוקס' ).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 ערכים וניצור היסטוגרמה עם טווח הערכים הבאקר [0, 50, 100, 150, 200, 250].
ייבוא pysparkמ-pyspark.sql ייבוא SparkSession
מ-pyspark.rdd ייבוא RDD
spark_app = SparkSession.builder.appName( 'לינוקס' ).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( 'לינוקס' ).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. דנו בפונקציות הללו עם דוגמאות על ידי כיסוי כל הפרמטרים.