הכן נתונים מאמזון EMR ללמידת מכונה באמצעות Amazon SageMaker Data Wrangler

צומת המקור: 1768882

הכנת נתונים היא מרכיב עיקרי בצינורות למידת מכונה (ML). למעשה, ההערכה היא שאנשי מקצוע בתחום הנתונים מבלים כ-80 אחוז מזמנם בהכנת נתונים. בשוק תחרותי אינטנסיבי זה, צוותים רוצים לנתח נתונים ולחלץ תובנות משמעותיות יותר במהירות. לקוחות מאמצים דרכים יעילות וחזותיות יותר לבניית מערכות עיבוד נתונים.

רנגלר הנתונים של אמזון SageMaker מפשט את תהליך הכנת הנתונים ותהליך הנדסת התכונות, ומצמצם את הזמן שלוקח משבועות לדקות על ידי מתן ממשק חזותי יחיד עבור מדעני נתונים לבחירה, ניקוי נתונים, יצירת תכונות ואוטומציה של הכנת נתונים בזרימות עבודה של ML מבלי לכתוב שום קוד. אתה יכול לייבא נתונים ממקורות נתונים מרובים, כגון שירות אחסון פשוט של אמזון (Amazon S3), אמזונה אתנה, האדום של אמזון, ופתית שלג. עכשיו אתה יכול גם להשתמש אמזון EMR כמקור נתונים ב-Data Wrangler כדי להכין בקלות נתונים עבור ML.

ניתוח, שינוי והכנת כמויות גדולות של נתונים הם שלב בסיסי בכל זרימת עבודה של מדעי נתונים ו-ML. אנשי מקצוע בתחום הנתונים כגון מדעני נתונים רוצים למנף את הכוח של אפאצ 'י ספארק, כוורת, ו פרסטו פועל באמזון EMR להכנת נתונים מהירה, אבל עקומת הלמידה תלולה. הלקוחות שלנו רצו את היכולת להתחבר לאמזון EMR כדי להריץ שאילתות SQL אד-הוק ב-Hive או Presto כדי לבצע שאילתות לנתונים ב-metastore הפנימי או metastore (למשל, AWS Glue Data Catalog), ולהכין נתונים תוך כמה קליקים.

מאמר זה בבלוג ידון כיצד לקוחות יכולים כעת למצוא ולהתחבר לאשכולות EMR קיימים של Amazon באמצעות חוויה ויזואלית ב- SageMaker Data Wrangler. הם יכולים לבדוק חזותית את מסד הנתונים, הטבלאות, הסכימה ושאילתות Presto כדי להתכונן למידול או לדיווח. לאחר מכן הם יכולים ליצור פרופיל נתונים במהירות באמצעות ממשק חזותי כדי להעריך את איכות הנתונים, לזהות חריגות או נתונים חסרים או שגויים, ולקבל מידע והמלצות כיצד לטפל בבעיות אלו. בנוסף, הם יכולים לנתח, לנקות ולהנדס תכונות בעזרת יותר מתריסר ניתוחים מובנים נוספים ו-300+ טרנספורמציות מובנות נוספות המגובות על ידי Spark מבלי לכתוב שורת קוד אחת.

סקירת פתרונות 

אנשי מקצוע בתחום הנתונים יכולים למצוא ולהתחבר במהירות לאשכולות EMR קיימים באמצעות תצורות SageMaker Studio. בנוסף, אנשי מקצוע בתחום הנתונים יכולים לסיים אשכולות EMR בכמה קליקים בלבד SageMaker Studio באמצעות תבניות מוגדרות מראש ויצירה לפי דרישה של אשכולות EMR. בעזרת הכלים הללו, לקוחות עשויים לקפוץ ישירות למחברת האוניברסלית של SageMaker Studio ולכתוב קוד ב- Apache Spark, Hive, Presto או PySpark כדי לבצע הכנת נתונים בקנה מידה. עקב עקומת למידה תלולה ליצירת קוד Spark להכנת נתונים, לא כל אנשי מקצוע הנתונים מרגישים בנוח עם הליך זה. עם Amazon EMR כמקור נתונים עבור Amazon SageMaker Data Wrangler, כעת אתה יכול להתחבר במהירות ובקלות לאמזון EMR מבלי לכתוב שורת קוד אחת.

התרשים הבא מייצג את הרכיבים השונים המשמשים בפתרון זה.

אנו מדגימים שתי אפשרויות אימות שניתן להשתמש בהן כדי ליצור חיבור לאשכול EMR. עבור כל אפשרות, אנו פורסים ערימה ייחודית של AWS CloudFormation תבניות.

תבנית CloudFormation מבצעת את הפעולות הבאות כאשר כל אפשרות נבחרת:

  • יוצר תחום סטודיו במצב VPC בלבד, יחד עם פרופיל משתמש בשם studio-user.
  • יוצר אבני בניין, כולל ה-VPC, נקודות הקצה, רשתות המשנה, קבוצות אבטחה, אשכול EMR ​​ומשאבים אחרים הנדרשים להפעלת הדוגמאות בהצלחה.
  • עבור אשכול EMR, מחבר את קטלוג הנתונים של דבק AWS כ-metastore עבור EMR Hive ו-Presto, יוצר טבלת כוורת ב-EMR וממלא אותה בנתונים ממערך נתונים של נמל תעופה בארה"ב.
  • עבור תבנית LDAP CloudFormation, יוצר ענן מחשוב אלסטי של אמזון (אמזון EC2) מופע לארח את שרת LDAP כדי לאמת את משתמש Hive ו-Presto LDAP.

אפשרות 1: פרוטוקול Access Directory קל משקל

עבור תבנית אימות LDAP CloudFormation, אנו מספקים מופע של Amazon EC2 עם שרת LDAP ומגדירים את אשכול ה-EMR להשתמש בשרת זה לצורך אימות. זה TLS Enabled.

אפשרות 2: No-Auth

בתבנית No-Auth אימות CloudFormation, אנו משתמשים באשכול EMR ​​סטנדרטי ללא אימות מופעל.

פרוס את המשאבים עם AWS CloudFormation

השלם את השלבים הבאים לפריסת הסביבה:

  1. היכנס ל- קונסולת הניהול של AWS כמו AWS זהות וניהול גישה (IAM) משתמש, רצוי משתמש אדמין.
  2. לבחור השקת ערימה כדי להפעיל את תבנית CloudFormation עבור תרחיש האימות המתאים. ודא שלאזור המשמש לפריסת מחסנית CloudFormation אין Studio Domain קיים. אם כבר יש לך תחום סטודיו באזור, אתה יכול לבחור אזור אחר.
    • ערימת הפעלה של LDAP
    • אין ערימת הפעלה של אישור
  3. לבחור הַבָּא.
  4. בעד שם ערימה, הזן שם לערימה (לדוגמה, dw-emr-blog).
  5. השאר את הערכים האחרים כברירת מחדל.
  6. כדי להמשיך, בחר הַבָּא מדף פרטי הערימה ואפשרויות הערימה. ערימת LDAP משתמשת באישורים הבאים:
    • שם משתמש: david
    • סיסמא:  welcome123
  7. בדף הסקירה, בחר בתיבת הסימון כדי לאשר ש- AWS CloudFormation עשוי ליצור משאבים.
  8. לבחור צור ערימה. המתן עד שהסטטוס של הערימה ישתנה מ CREATE_IN_PROGRESS ל CREATE_COMPLETE. התהליך בדרך כלל לוקח 10-15 דקות.

הערה: אם תרצה לנסות ערימות מרובות, בצע את השלבים בסעיף ניקוי. זכור שאתה חייב למחוק את התחום של SageMaker Studio לפני שניתן יהיה להפעיל בהצלחה את הערימה הבאה.

הגדר את Amazon EMR כמקור נתונים ב-Data Wrangler

בסעיף זה, אנו עוסקים בחיבור לאשכול ה-EMR הקיים של Amazon שנוצר באמצעות תבנית CloudFormation כמקור נתונים ב-Data Wrangler.

צור זרימת נתונים חדשה

כדי ליצור את זרימת הנתונים שלך, בצע את השלבים הבאים:

  1. במסוף SageMaker בחר סטודיו SageMaker של אמזון בחלונית הניווט.
  2. לבחור סטודיו פתוח.
  3. ב-Launcher, בחר זרימת נתונים חדשה. לחילופין, על שלח תפריט נפתח, בחר חדש ולאחר מכן בחר זרימת Data Wrangler.
  4. יצירת זרימה חדשה יכולה לקחת כמה דקות. לאחר יצירת הזרימה, אתה רואה את ייבא נתונים עמוד.

הוסף את Amazon EMR כמקור נתונים ב-Data Wrangler

בתפריט הוסף מקור נתונים, בחר אמזון EMR.

אתה יכול לעיין בכל אשכולות ה-EMR שלתפקיד הביצוע שלך בסטודיו יש הרשאות לראות. יש לך שתי אפשרויות להתחבר לאשכול; האחד הוא דרך ממשק משתמש אינטראקטיבי, והשני הוא לראשון צור סוד באמצעות מנהל סודות AWS עם JDBC URL, כולל מידע על אשכול EMR, ולאחר מכן ספק את סוד ה-AWS השמור בממשק המשתמש כדי להתחבר ל-Presto. בבלוג זה אנו עוקבים אחר האפשרות הראשונה. בחר אחד מהאשכולות הבאים שבהם ברצונך להשתמש. לחץ על הַבָּא, ובחר נקודות קצה.

בחר פרסטו, להתחבר ל אמזון בעברית EMR, צור שם כדי לזהות את החיבור שלך, ולחץ הבא.

בחר אימות הקלד, LDAP או No Authentication, ולחץ לְחַבֵּר.

  • עבור Lightweight Directory Access Protocol (LDAP), ספק שם משתמש וסיסמה לאימות.

  • עבור ללא אימות, תהיו מחוברים ל-EMR Presto מבלי לספק אישורי משתמש בתוך VPC. היכנסו לדף SQL Explorer של Data Wrangler עבור EMR.

לאחר חיבור, אתה יכול להציג באופן אינטראקטיבי עץ מסד נתונים ותצוגה מקדימה של טבלה או סכימה. אתה יכול גם לבצע שאילתות, לחקור ולהמחיש נתונים מ-EMR. לתצוגה מקדימה, תראה מגבלה של 100 רשומות כברירת מחדל. עבור שאילתה מותאמת אישית, תוכל לספק הצהרות SQL בתיבת עורך השאילתות ולאחר שתלחץ על הפעלה כפתור, השאילתה תבוצע במנוע Presto של EMR.

אל האני בטל שאילתה כפתור מאפשר לבטל שאילתות מתמשכות אם הן נמשכות זמן רב מהרגיל.

השלב האחרון הוא לייבא. ברגע שאתה מוכן עם הנתונים הנשאלים, יש לך אפשרויות לעדכן את הגדרות הדגימה עבור בחירת הנתונים בהתאם לסוג הדגימה (FirstK, Random, או Stratified) וגודל הדגימה לייבוא ​​נתונים לתוך Data Wrangler.

נְקִישָׁה תבואו. דף ההכנה ייטען, ויאפשר לך להוסיף טרנספורמציות שונות וניתוח חיוני למערך הנתונים.

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

עבור אל זרימת הנתונים שלך, וזהו המסך שאתה צריך לראות. זה מראה לנו שאנחנו משתמשים ב-EMR כמקור נתונים באמצעות מחבר Presto.

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

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

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

הבה נסתכל כעת על טרנספורמציה נוספת לדוגמה. בעת בניית מודל למידת מכונה, עמודות מוסרות אם הן מיותרות או לא עוזרות למודל שלך. הדרך הנפוצה ביותר להסיר עמודה היא לשחרר אותה. במערך הנתונים שלנו, התכונה מדינה ניתן לבטל מכיוון שמערך הנתונים מיועד במיוחד לנתוני נמל תעופה בארה"ב. בוא נראה איך אנחנו יכולים לנהל עמודות. בוא נלחץ על הוסף שלב לחצן בסרגל הניווט מימין. בחר נהל עמודות. ניתן לראות את התצורות בצילומי המסך הבאים. תַחַת לשנות, בחר זרוק טור, ומתחת עמודות להורדה, בחר מדינה.

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

מתרגלי ML מבלים זמן רב ביצירת קוד הנדסי תכונה, יישומו על מערכי הנתונים הראשוניים שלהם, אימון מודלים על מערכי הנתונים המהונדסים והערכת דיוק המודל. בהתחשב באופי הניסיוני של עבודה זו, אפילו הפרויקט הקטן ביותר יוביל לאיטרציות מרובות. אותו קוד הנדסי תכונה מופעל פעמים רבות שוב ושוב, מבזבז זמן ומשאבי מחשוב על חזרה על אותן פעולות. בארגונים גדולים, זה יכול לגרום לאובדן פרודוקטיביות גדול עוד יותר מכיוון שצוותים שונים מריצים לרוב עבודות זהות או אפילו כותבים קוד הנדסי תכונות משוכפל מכיוון שאין להם ידע על עבודה קודמת. כדי להימנע מעיבוד מחדש של תכונות, כעת נייצא את התכונות שהשתנו אל חנות התכונות של אמזון. בוא נלחץ על + כפתור משמאל זרוק טור. לבחור ייצוא ל ולבחור Sagemaker Feature Store (דרך מחברת Jupyter).

אתה יכול לייצא בקלות את התכונות שנוצרו אל חנות תכונות SageMaker על ידי בחירתו כיעד. אתה יכול לשמור את התכונות בקבוצת תכונות קיימת או ליצור קבוצה חדשה.

כעת יצרנו תכונות עם Data Wrangler ואחסנו בקלות את התכונות הללו ב- Feature Store. הראנו זרימת עבודה לדוגמה להנדסת תכונות בממשק המשתמש של Data Wrangler. לאחר מכן שמרנו את התכונות הללו ב-Feature Store ישירות מ-Data Wrangler על ידי יצירת קבוצת תכונות חדשה. לבסוף, הרצנו עבודת עיבוד כדי להטמיע את התכונות הללו בחנות התכונות. Data Wrangler ו-Feature Store יחד עזרו לנו לבנות תהליכים אוטומטיים וניתנים לשחזור כדי לייעל את משימות הכנת הנתונים שלנו עם מינימום קידוד נדרש. Data Wrangler מספק לנו גם גמישות להפוך את אותה זרימת הכנת נתונים לאוטומטית באמצעות עבודות מתוזמנות. אנחנו יכולים גם להפוך הדרכה או הנדסת תכונות לאוטומטית עם SageMaker Pipelines (דרך Jupyter Notebook) ולפרוס לנקודת הקצה Inference עם SageMaker inference pipeline (דרך Jupyter Notebook).

לנקות את

אם העבודה שלך עם Data Wrangler הושלמה, בחר את המחסנית שנוצרה מדף CloudFormation ומחק אותה כדי למנוע עלות נוספת.

סיכום

בפוסט זה, בדקנו כיצד להגדיר את Amazon EMR כמקור נתונים ב-Data Wrangler, כיצד להפוך ולנתח מערך נתונים וכיצד לייצא את התוצאות לזרימת נתונים לשימוש במחברת Jupyter. לאחר שהצגנו את מערך הנתונים שלנו באמצעות התכונות האנליטיות המובנות של Data Wrangler, שיפרנו עוד יותר את זרימת הנתונים שלנו. העובדה שיצרנו צינור הכנת נתונים מבלי לכתוב שורת קוד אחת היא משמעותית.

כדי להתחיל עם Data Wrangler, ראה הכן את נתוני ה- ML עם Amazon SageMaker Data Wrangler, וראה את המידע העדכני ביותר על עמוד המוצר של Data Wrangler.


על המחברים

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

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

רואי ג'יאנג הוא מהנדס פיתוח תוכנה ב-AWS הממוקם באזור ניו יורק. היא חברה בצוות SageMaker Data Wrangler המסייעת בפיתוח פתרונות הנדסיים עבור לקוחות ארגוניים של AWS כדי להשיג את הצרכים העסקיים שלהם. מחוץ לעבודה, היא נהנית לחקור מאכלים חדשים, כושר חיים, פעילויות חוצות וטיולים.

בול זמן:

עוד מ למידת מכונות AWS