מדריך PySpark Dataframe - תכנות PySpark עם מסגרות נתונים



בבלוג הדרכה זה של PySpark Dataframe, תוכלו ללמוד על תמורות ופעולות ב- Apache Spark עם מספר דוגמאות.

מסגרות נתונים היא מילת מפתח בתעשייה בימינו. אנשים נוטים להשתמש בו בשפות פופולריות המשמשות לניתוח נתונים כמו פייתון, סקאלה ו- R.בנוסף, עם הצורך הברור בטיפול במשימות ניתוח וביצוע מורכבים עבור Big Data, Python for Spark או הפך לאחד הכישורים המבוקשים ביותר בענף כיום.אז למה כולם משתמשים בזה כל כך הרבה? בואו נבין זאת עם שלנו מדריך מסד נתונים של PySpark בלוג. בבלוג זה אעסוק בנושאים הבאים:





מדריך מסדי נתונים של PySpark: מה הם מסגרות נתונים?

מסגרות נתונים מתייחס בדרך כלל למבנה נתונים, שהוא אופי טבלאי. הוא מייצג שורות, שכל אחת מהן מורכבת ממספר תצפיות. לשורות יכולות להיות מגוון פורמטים של נתונים ( הֵטֵרוֹגֵנִי ) ואילו בעמודה יכולות להיות נתונים מאותו סוג נתונים ( הוֹמוֹגֵנִי ). מסגרות נתונים מכילות בדרך כלל כמה מטא-נתונים בנוסף לנתונים למשל, שמות עמודות ושורות.

Dataframe-Pyspark-Dataframe-Tutorial



אנו יכולים לומר כי מסגרות נתונים אינן דבר, אלא מבנה נתונים דו מימדי, בדומה לטבלת SQL או לגיליון אלקטרוני. עכשיו בואו נתקדם בהדרכה זו של PySpark Dataframe ונבין למה בדיוק אנחנו צריכים Pyspark Dataframe?

מדוע אנו זקוקים למסגרות נתונים?

1. עיבוד נתונים מובנים וחצי מובנים



מסגרות נתוניםנועדו לעבדל גָדוֹל אוסף נתונים מובנים כמו גם מובנים למחצה . תצפיות ב- Spark DataFrame מאורגנות תחת עמודות בעלות שם, מה שעוזר ל- Apache Spark להבין את הסכימה של DataFrame. זה עוזר ל- Spark לייעל את תוכנית הביצוע בשאילתות אלה. זה יכול גם להתמודד פטאביטים של מידע.

2. S. רישיון וקוביות

מסגרת נתונים אPIs בדרך כלל תומך בשיטות מפורטות עבור חיתוך-וקובץ הנתונים. זה כוללפעולהns כגון 'בחירת' שורות, עמודות ותאים לפי שם או לפי מספר, סינון שורות וכו '. נתונים סטטיסטיים הם בדרך כלל מבולגנים מאוד ומכילים הרבה ערכים חסרים ושגויים והפרות טווח. אז תכונה חשובה ביותר של מסגרות נתונים היא ניהול מפורש של נתונים חסרים.

3. מקורות נתונים

ל- DataFrame יש תמיכה במגוון רחב של פורמטים של נתונים ומקורות, אנו נבדוק זאת בהמשך בבלוג זה של Pyspark Dataframe Tutorial. הם יכולים לקחת נתונים ממקורות שונים.

4. תמיכה בשפות מרובות

יש לו תמיכה ב- API בשפות שונות כמו Python, R, Scala, Java,מה שמקל על השימוש אצל אנשים בעלי רקע תכנות שונה.

הירשם לערוץ היוטיוב שלנו כדי לקבל עדכונים חדשים ..!

תכונות של Dataframes

  • מסגרות נתונים הן מופץ בטבע, מה שהופך אותו למבנה נתונים סובלני לתקלות וזמין מאוד.
  • הערכה עצלה היא אסטרטגיית הערכה אשר מחזיקה את הערכת הביטוי עד שנדרש ערכו. זה נמנע מהערכה חוזרת ונשנית. הערכה עצלה בספארק פירושה שהביצוע לא יתחיל עד שתופעל פעולה. ב- Spark, התמונה של הערכה עצלה מגיעה כאשר מתרחשים שינויי ניצוץ.
  • מסגרות נתונים הן בלתי ניתן לשינוי בטבע. כשאני משתנה אני מתכוון שזה אובייקט שמצבו לא ניתן לשנות אחרי שהוא נוצר.אבל אנחנו יכולים לשנותשֶׁלָהערכים על ידי יישוםמסויםכמו טרנספורמציה.

מקורות מסדי נתונים של PySpark

ניתן ליצור מסגרות נתונים בפייספארק בכמה דרכים:

ניתן לטעון נתונים דרך א CSV, JSON, XML או קובץ פרקט. ניתן ליצור אותו גם באמצעות קיים RDD ודרך כל בסיס נתונים אחר, כמו כוורת אוֹ קסנדרה גם כן. זה יכול גם לקבל נתונים מ- HDFS או ממערכת הקבצים המקומית.

יצירת מסגרת נתונים

בואו נמשיך קדימה עם הבלוג הזה של PySpark Dataframe Tutorial ונבין כיצד ליצור Dataframes.

ניצור מקרים של עובדים ומחלקות.

מ- pyspark.sql יבוא * עובד = שורה ('firstName', 'lastName', 'email', 'משכורת') עובד 1 = עובד ('Basher', 'armbrust', 'bash@edureka.co', 100000) עובד 2 = עובד ('דניאל', 'meng', 'daniel@stanford.edu', 120000) עובד 3 = עובד ('מוריאל', אין, 'muriel@waterloo.edu', 140000) עובד 4 = עובד ('רחל', 'וונדל ',' rach_3@edureka.co ', 160000) עובד 5 = עובד (' זך ',' גליפיאנאקיס ',' zach_g@edureka.co ', 160000) הדפס (עובד [0]) הדפס (עובד 3) מחלקה 1 = שורה (מזהה = '123456', name = 'HR') department2 = שורה (id = '789012', name = 'OPS') department3 = שורה (id = '345678', name = 'FN') department4 = שורה (id = ' 901234 ', name =' DEV ')

לאחר מכן ניצור מופע של DepartmentWithEmployees מהעובד ומהמחלקות

departmentWithEmployees1 = שורה (מחלקה = department1, עובדים = [עובד1, עובד2, עובד5]) departmentWithEmployees2 = שורה (מחלקה = מחלקה 2, עובדים = [עובד3, עובד4]) departmentWithEmployees3 = שורה (מחלקה = מחלקה 3, עובדים = [עובד1, עובד4, עובד3 ]) departmentWithEmployees4 = שורה (מחלקה = department4, עובדים = [עובד 2, עובד 3])

בואו ניצור את מסגרת הנתונים שלנו מרשימת השורות

departmentWithEmployees_Seq = [departmentWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departmentWithEmployees_Seq) display (dframe) dframe.show ()

מסגרות נתונים של Pyspark דוגמה 1: מערך נתונים של גביע העולם של פיפ'א

הנה לקחנו מערך נתונים לשחקני גביע העולם. אנו עומדים לטעון נתונים אלה בפורמט CSVלתוךמסגרת נתונים ואז נלמד על התמורות והפעולות השונות שניתן לבצע במסגרת נתונים זו.

קריאת נתונים מקובץ CSV

בואו נטען את הנתונים מקובץ CSV. כאן אנו נשתמש ב- spark.read.csv שיטה לטעינת הנתונים ל- dataframe fifa_df. השיטה בפועל היא spark.read.format [csv / json] .

fifa_df = spark.read.csv ('נתיב-קובץ / fifa_players.csv', inferSchema = נכון, כותרת = נכון) fifa_df.show ()

סכמת מסגרת נתונים

להסתכל על הסכימה כלומר. את המבנה של מסגרת הנתונים, נשתמש ב- הדפסהסכימה שיטה. זה ייתן לנו את העמודות השונות במסגרת הנתונים שלנו יחד עם סוג הנתונים והתנאים המבטלים את העמודה הספציפית.

fifa_df.printSchema ()

שמות וספירת עמודות (שורות ועמודות)

כשאנחנו רוצים לבדוק את השמות ואת ספירת מספר השורות והעמודות של מסגרת נתונים מסוימת, אנו משתמשים בשיטות הבאות.

fifa_df.column // שמות עמודות fifa_df.count () // ספירת שורות len (fifa_df.column) // ספירת עמודות

37784 8

תיאור טור מיוחד

אם אנו רוצים להסתכל על הסיכום של עמודה מסוימת של מסגרת נתונים, אנו משתמשים ב- מתאר שיטה. שיטה זו נותנת לנו את הסיכום הסטטיסטי של העמודה הנתונה, אם לא צויין, היא מספקת את הסיכום הסטטיסטי של מסגרת הנתונים.

זה-יש ויש לו מערכת יחסים בג'אווה
fifa_df.describe ('שם המאמן'). show () fifa_df.describe ('Position'). show ()

בחירת עמודות מרובות

אם אנו רוצים לבחור עמודות מסוימות מתוך מסגרת הנתונים, אנו משתמשים ב- בחר שיטה.

fifa_df.select ('שם השחקן', 'שם המאמן'). show ()

בחירת עמודות מרובות מובחנות

fifa_df.select ('שם השחקן', 'שם המאמן'). מובחן (). מופע ()

סינון נתונים

על מנת לסנן את הנתונים, על פי התנאי שצוין, אנו משתמשים ב- לְסַנֵן פקודה. כאן אנו מסננים את מסגרת הנתונים שלנו על סמך התנאי שמזהה ההתאמה חייב להיות שווה ל 1096 ואז אנו מחשבים כמה רשומות / שורות יש בפלט המסונן.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // to get the count

סינון נתונים (פרמטרים מרובים)

אנו יכולים לסנן את הנתונים שלנו על פי מספר תנאים (AND או OR)

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40')). show ()

מיון נתונים (OrderBy)

כדי למיין את הנתונים שאנו משתמשים ב- מיין לפי שיטה. כברירת מחדל, הוא ממיין לפי סדר עולה, אך אנו יכולים לשנות אותו גם לסדר יורד.

fifa_df.orderBy (fifa_df.MatchID) .show ()

מסגרות נתונים של PySpark דוגמה 2: מערך נתונים של גיבורי על

טוען את הנתונים

כאן נטען את הנתונים באותו אופן כמו שעשינו קודם.

Superhero_df = spark.read.csv ('path-of file / superheros.csv', inferSchema = True, header = True) Superhero_df.show (10)

סינון הנתונים

Superhero_df.filter (Superhero_df.Gender == 'זכר'). ספירה () // ספירת גיבורי זכר Superhero_df.filter (Superhero_df.Gender == 'נקבה'). ספירה () // ספירת גיבורי נשים

קיבוץ הנתונים

GroupBy משמש לקיבוץ מסגרת הנתונים על סמך העמודה שצוינה. הנה, אנו מקבצים את מסגרת הנתונים על סמך העמודה Race ואז עם ה- לספור פונקציה, אנו יכולים למצוא את ספירת הגזע המסוים.

Race_df = Superhero_df.groupby ('Race') .count () .show ()

ביצוע שאילתות SQL

אנו יכולים גם להעביר שאילתות SQL ישירות לכל מסגרת נתונים, לשם כך עלינו ליצור טבלה ממסגרת הנתונים באמצעות registerTempTable ולאחר מכן השתמש ב- sqlContext.sql () כדי להעביר את שאילתות SQL.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('בחר * מתוך superhero_table'). הצג ()

sqlContext.sql ('בחר נבדל (Eye_color) מ superhero_table'). show ()

sqlContext.sql ('בחר נבדל (Eye_color) מ superhero_table'). ספירה ()

2. 3

sqlContext.sql ('בחר מקסימום (משקל) מ- superhero_table'). show ()

ועם זה, אנו מגיעים לסוף הדרכה זו של PySpark Dataframe.

אז זהו, חבר'ה!

אני מקווה שיש לכם מושג מה זה PySpark Dataframe, מדוע משתמשים בו בתעשייה ובמאפיינים שלו בבלוג ההדרכה של PySpark Dataframe. מזל טוב, אתה כבר לא מתחיל ב- Dataframes. אם אתה רוצה ללמוד עוד על PySpark ולהבין את מקרי השימוש השונים בתעשייה, עיין ב ניצוץ עם פייתון ו מדריך PySpark בלוג.