הכן נתונים בקנה מידה ב-Amazon SageMaker Studio באמצעות הפעלות אינטראקטיביות של AWS Glue ללא שרת PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הכן נתונים בקנה מידה ב-Amazon SageMaker Studio באמצעות הפעלות אינטראקטיביות של AWS Glue ללא שרת

סטודיו SageMaker של אמזון היא סביבת הפיתוח המשולבת המלאה הראשונה (IDE) ללמידת מכונה (ML). הוא מספק ממשק חזותי יחיד מבוסס אינטרנט שבו אתה יכול לבצע את כל שלבי הפיתוח של ML, כולל הכנת נתונים ובנייה, הדרכה ופריסה של מודלים.

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

מהנדסי נתונים ומדעני נתונים יכולים כעת להכין נתונים בקנה מידה אינטראקטיבי באמצעות השילוב המובנה של מחברת Studio שלהם עם הפעלות Spark ללא שרת המנוהלות על ידי AWS Glue. התחלה תוך שניות ועצירת חישוב אוטומטית במצב סרק, הפעלות אינטראקטיביות של AWS Glue לספק Spark backend על פי דרישה, בעל יכולת הרחבה גבוהה, ללא שרתים כדי להשיג הכנת נתונים ניתנים להרחבה בתוך Studio. היתרונות הבולטים של השימוש במפגשים אינטראקטיביים של AWS Glue במחברות Studio כוללים:

  • אין אשכולות להקצאה או ניהול
  • אין אשכולות סרק לשלם עבורם
  • אין צורך בתצורה מקדימה
  • אין טענה על משאבים עבור אותה סביבת פיתוח
  • אותה זמן ריצה ופלטפורמה ללא שרת של Spark בדיוק כמו משימות חילוץ, טרנספורמציה וטעינה של AWS Glue (ETL)

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

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

כדי ליישם פתרון זה, אתה משלים את השלבים הבאים ברמה גבוהה:

  1. עדכן את AWS זהות וניהול גישה הרשאות תפקיד (IAM).
  2. הפעל ליבת הפעלה אינטראקטיבית של AWS Glue.
  3. הגדר את ההפעלה האינטראקטיבית שלך.
  4. התאם אישית את ההפעלה האינטראקטיבית שלך והפעל עומס עבודה שניתן להרחיב בהכנת נתונים.

עדכן את הרשאות תפקיד IAM שלך

כדי להתחיל, עליך לעדכן את תפקיד ביצוע IAM של משתמש Studio שלך בהרשאות הנדרשות. להנחיות מפורטות, עיין ב הרשאות להפעלות אינטראקטיביות של Glue בסטודיו SageMaker.

תחילה עליך להוסיף את המדיניות המנוהלת לתפקיד הביצוע שלך:

  1. במסוף IAM בחר תפקידים בחלונית הניווט.
  2. מצא את תפקיד הביצוע של הסטודיו שבו תשתמש, ובחר את שם התפקיד כדי לעבור לדף סיכום התפקיד.
  3. על הרשאות לשונית, ב- הוסף הרשאות בתפריט, בחר צרף מדיניות.
  4. בחר את המדיניות המנוהלת AmazonSageMakerFullAccess ו AwsGlueSessionUserRestrictedServiceRole
  5. בחרו צרף מדיניות.
    דף הסיכום מציג את המדיניות המנוהלת החדשה שנוספת. כעת אתה מוסיף מדיניות מותאמת אישית ומצרף אותה לתפקיד הביצוע שלך.
  6. על הוסף הרשאות בתפריט, בחר צור מדיניות מוטבעת.
  7. על JSON הכרטיסייה, הזן את המדיניות הבאה:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. שנה את יחסי האמון של התפקיד שלך:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

הפעל ליבת הפעלה אינטראקטיבית של AWS Glue

אם כבר יש לך משתמשים קיימים בדומיין Studio שלך, ייתכן שיהיה עליך להחזיק אותם כבה והפעל מחדש את שרת Jupyter שלהם כדי להרים את תמונות ליבת המחברת החדשה.

לאחר טעינה מחדש, אתה יכול ליצור מחברת Studio חדשה ו בחר את הקרנל המועדף עליך. המובנה SparkAnalytics 1.0 התמונה אמורה להיות זמינה כעת, ואתה יכול לבחור את ליבת ה-AWS Glue המועדפת עליך (דבק סקאלה ספארק or דבק PySpark).

הגדר את ההפעלה האינטראקטיבית שלך

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

  • %אזור - אזור ה-AWS שבו לאתחל הפעלה. ברירת המחדל היא אזור הסטודיו.
  • %iam_role - תפקיד IAM ARN להפעיל את ההפעלה שלך. ברירת המחדל היא תפקיד הביצוע של SageMaker של המשתמש.
  • %worker_type - סוג עובד דבק AWS. ברירת המחדל היא סטנדרטית.
  • %number_of_workers – מספר העובדים המוקצים כאשר משרה פועלת. ברירת המחדל היא חמש.
  • %idle_timeout – מספר הדקות של חוסר פעילות שאחריהן פגישה תסתיים. ברירת המחדל היא 2,880 דקות.
  • %additional_python_modules – רשימה מופרדת בפסיקים של מודולי Python נוספים שיש לכלול באשכול שלך. זה יכול להיות מ- PyPi או שירות אחסון פשוט של אמזון (אמזון S3).
  • %%הגדר – מילון בפורמט JSON המורכב מ פרמטרי תצורה ספציפיים ל-AWS Glue לפגישה.

לרשימה מקיפה של פרמטרי קסם הניתנים להגדרה עבור ליבה זו, השתמש ב- %help קסם בתוך המחברת שלך.

ההפעלה האינטראקטיבית שלך ב-AWS Glue לא תתחיל עד שהתא הלא-קסם הראשון יופעל.

התאם אישית את ההפעלה האינטראקטיבית שלך והפעל עומס עבודה בהכנת נתונים

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

אנו מגדירים את ההפעלה שלנו לשמור את יומני Spark שלנו בדלי S3 לצורך איתור באגים בזמן אמת, אותו אנו רואים בהמשך הפוסט הזה. ודא כי iam_role שמפעיל את הפעלת AWS Glue שלך ​​יש גישת כתיבה לדלי S3 שצוין.

%help

%session_id_prefix air-analysis-
%glue_version 3.0
%idle_timeout 60
%%configure
{
"--enable-spark-ui": "true",
"--spark-event-logs-path": "s3://<BUCKET>/gis-spark-logs/"
}

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

from pyspark.sql.functions import split, lower, hour
print(spark.version)
day_to_analyze = "2022-01-05"
df = spark.read.json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/1641409725.ndjson.gz")
df_air = spark.read.schema(df.schema).json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/*")

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

df_city = df_air.filter(lower((df_air.city)).contains('delhi')).filter(df_air.parameter == "no2").cache()
df_avg = df_city.withColumn("Hour", hour(df_city.date.utc)).groupBy("Hour").avg("value").withColumnRenamed("avg(value)", "no2_avg")
df_avg.sort("Hour").show()

# Examples of reading / writing to other data stores: 
# https://github.com/aws-samples/aws-glue-samples/tree/master/examples/notebooks

df_avg.write.parquet(f"s3://<BUCKET>/{day_to_analyze}.parquet")

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

איתור באגים וממשק המשתמש של Spark

בדוגמה הקודמת, ציינו את ה ”--enable-spark-ui”: “true” טיעון יחד עם א "--spark-event-logs-path": location. זה מגדיר את הפעלת ה- AWS Glue שלנו כדי להקליט את יומני הפעלות כך שנוכל להשתמש בממשק המשתמש של Spark כדי לנטר ולפתור באגים את עבודת ה-AWS Glue שלנו בזמן אמת.

לתהליך ההשקה והקריאת יומני Spark, עיין ב הפעלת שרת ההיסטוריה של Spark. בצילום המסך הבא, השקנו קונטיינר מקומי של Docker שיש לו הרשאה לקרוא את דלי S3 המכיל את היומנים שלנו. לחלופין, אתה יכול לארח א ענן מחשוב אלסטי של אמזון (Amazon EC2) כדי לעשות זאת, כמתואר בתיעוד המקושר הקודם.

הכן נתונים בקנה מידה ב-Amazon SageMaker Studio באמצעות הפעלות אינטראקטיביות של AWS Glue ללא שרת PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מחיר כרטיס

כאשר אתה משתמש בהפעלות אינטראקטיביות של AWS Glue על מחברות Studio, אתה מחויב בנפרד עבור שימוש במשאבים על AWS Glue ו-Studio מחברות.

AWS גובה תשלום עבור הפעלות אינטראקטיביות של AWS Glue על סמך משך הזמן שההפעלה פעילה ומספר יחידות עיבוד הנתונים (DPUs) בשימוש. אתה מחויב בתעריף שעתי עבור מספר ה-DPUs המשמשים להפעלת עומסי העבודה שלך, מחויב במרווחים של שנייה אחת. הפעלות אינטראקטיביות של AWS Glue מקצות ברירת מחדל של 1 DPUs ודורשות מינימום של 5 DPUs. יש גם משך חיוב מינימלי של דקה אחת לכל הפעלה אינטראקטיבית. כדי לראות את תעריפי AWS Glue ודוגמאות תמחור, או כדי להעריך את העלויות שלך באמצעות מחשבון התמחור של AWS, ראה תמחור דבק AWS.

מחברת Studio שלך פועלת על מופע EC2 ואתה מחויב עבור סוג המופע שתבחר, על סמך משך השימוש. Studio מקצה לך סוג ברירת מחדל של מופע EC2 של ml-t3-medium כאשר אתה בוחר ב SparkAnalytics תמונה והגרעין המשויך. אתה יכול לשנות את סוג המופע של מחברת הסטודיו שלך כדי להתאים לעומס העבודה שלך. למידע על תמחור SageMaker Studio, ראה תמחור SageMaker של אמזון.

סיכום

השילוב המקורי של מחברות Studio עם הפעלות אינטראקטיביות של AWS Glue מאפשר הכנת נתונים חלקה וניתנת להרחבה ללא שרתים עבור מדעני נתונים ומהנדסי נתונים. אנו ממליצים לך לנסות את הפונקציונליות החדשה הזו בסטודיו!

לִרְאוֹת הכן נתונים באמצעות AWS Glue Interactive Sessions לקבלת מידע נוסף.


על המחברים

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

הכן נתונים בקנה מידה ב-Amazon SageMaker Studio באמצעות הפעלות אינטראקטיביות של AWS Glue ללא שרת PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.סומדה סוואמי הוא מנהל מוצר ראשי בחברת Amazon Web Services. הוא מוביל את צוות SageMaker Studio לבנות אותו לתוך ה-IDE הנבחר עבור תהליכי עבודה אינטראקטיביים של מדע נתונים ותהליכי הנדסת נתונים. הוא בילה את 15 השנים האחרונות בבניית מוצרי צריכה וארגונים אובססיביים על ידי לקוחות באמצעות Machine Learning. בזמנו הפנוי הוא אוהב לצלם את הגיאולוגיה המדהימה של דרום מערב אמריקה.

בול זמן:

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