מושגים מרכזיים ב-Managed Service for Apache Spark

במאמר הזה מוסברים המושגים העיקריים, אבני הבניין הבסיסיות, התכונות העיקריות והיתרונות של Managed Service for Apache Spark. הבנת העקרונות האלה תעזור לכם להשתמש ביעילות ב-Managed Service for Apache Spark למשימות של עיבוד נתונים.

המודל ללא שרת (serverless)

‫Managed Service for Apache Spark serverless הוא המודל המודרני של Managed Service for Apache Spark, שכולל הפעלה אוטומטית. הוא מאפשר להריץ משימות בלי להקצות, לנהל או לשנות את קנה המידה של התשתית הבסיסית: Managed Service for Apache Spark מטפל בפרטים בשבילכם.

  • ‫Batches: אצווה (שנקראת גם עומס עבודה באצווה) היא המקבילה ללא שרת (serverless) של משימה ב-Managed Service for Apache Spark. אתם שולחים את הקוד שלכם, כמו משימת Spark, לשירות. ‫Managed Service for Apache Spark מקצה את המשאבים הנדרשים על פי דרישה, מריץ את המשימה ואז מסיר אותם. אתם לא צריכים ליצור או לנהל משאבים של אשכולות או של משימות, השירות עושה את העבודה בשבילכם.

  • סשנים אינטראקטיביים: סשנים אינטראקטיביים מספקים סביבה פעילה על פי דרישה לניתוח נתונים, בדרך כלל ב-notebook של Jupyter. סשנים אינטראקטיביים מספקים את הנוחות של סביבת עבודה זמנית בלי שרת (serverless), שבה אפשר להריץ שאילתות ולפתח קוד בלי להקצות ולנהל משאבים של אשכולות ו-notebooks.

  • פרופילי זמן ריצה (תבניות סשן): פרופיל זמן ריצה (שנקרא תבנית סשן ב-Google Cloud CLI וב-Dataproc API) הוא הגדרה שאפשר להשתמש בה שוב כדי להגדיר סשנים אינטראקטיביים. הפרופיל מכיל הגדרות של סשנים, כמו רמת המחשוב, הגדרת ה-executor, מאפייני Spark ותלויות בספריות. אתם משתמשים בפרופיל זמן הריצה כדי ליצור סביבות של סשנים אינטראקטיביים לפיתוח, בדרך כלל ב-Jupyter Notebook.

המודל מבוסס-האשכולות

‫Managed Service for Apache Spark באשכולות היא הדרך הרגילה להשתמש ב-Managed Service for Apache Spark, שמתמקדת בתשתית. הוא נותן לכם שליטה מלאה על קבוצה ייעודית של מכונות וירטואליות למשימות של עיבוד נתונים.

  • אשכולות: אשכול הוא מנוע אישי לעיבוד נתונים, שמורכב ממכונות וירטואליות של Google Cloud . אתם יוצרים אשכול כדי להריץ מסגרות בקוד פתוח כמו Apache Spark ו-Apache Hadoop. יש לכם שליטה מלאה על גודל האשכול, סוגי המכונות וההגדרות.
  • משימות: משימה היא פעולה ספציפית, כמו סקריפט של PySpark או שאילתת Hadoop. במקום להריץ משימה ישירות באשכול, אתם שולחים את המשימה ל-Managed Service for Apache Spark, שמנהל את ביצוע המשימה בשבילכם. אפשר לשלוח כמה משימות לאשכול.
  • תבניות של תהליכי עבודה: תבנית של תהליך עבודה היא הגדרה שאפשר לעשות בה שימוש חוזר, שמתזמרת סדרה של משימות (תהליך עבודה). הוא יכול להגדיר תלויות בין משימות, למשל להריץ משימת למידת מכונה רק אחרי שמשימת ניקוי נתונים מסתיימת בהצלחה. אפשר להריץ את תבנית תהליך העבודה באשכול קיים או באשכול זמני שנוצר כדי להריץ את תהליך העבודה, ונמחק אחרי שתהליך העבודה מסתיים. אתם יכולים להשתמש בתבנית כדי להפעיל את תהליך העבודה שהגדרתם בכל פעם שצריך.
  • כללי מדיניות של התאמה לעומס (autoscaling): כללי מדיניות של התאמה לעומס מכילים כללים שאתם מגדירים כדי להוסיף מכונות של Worker לאשכול או להסיר אותן ממנו, בהתאם לעומס העבודה באשכול, במטרה לבצע אופטימיזציה דינמית של העלות והביצועים של האשכול.

התאמה אישית של הסביבה

ב-Managed Service for Apache Spark באשכולות יש תכונות ורכיבים של אשכולות שמאפשרים להתאים אישית את סביבת האפליקציה.

סביבות פיתוח ו-Notebook

סביבות פיתוח משולבות (IDE) ו-notebooks ללא שרת (serverless) ב-Managed Service for Apache Spark מקשרים לסביבות פיתוח שבהן אפשר לכתוב ולהריץ את הקוד.

  • ‫BigQuery Studio ו-Workbench: סביבות מאוחדות של ניתוח נתונים ו-Notebook. הם מאפשרים לכם לכתוב קוד (לדוגמה, ב-Jupyter Notebook) ולהשתמש באשכול של Managed Service for Apache Spark או בסשן ללא שרת (serverless) בתור מנוע בקצה העורפי (backend) כדי להריץ את הקוד על מערכי נתונים גדולים.
  • ‫Managed Service for Apache Spark JupyterLab Plugin: JupyterLabextension הרשמי הזה משמש כלוח בקרה ל-Managed Service for Apache Spark ללא שרת (serverless) בסביבת ה-notebook. הוא מפשט את תהליך העבודה ומאפשר לכם לעיין באשכולות, ליצור ולנהל אותם ולשלוח משימות בלי לצאת מהממשק של Jupyter.
  • ‫Google Cloud Data Agent Kit: Data Agent Kit מאפשר למדעני נתונים, למהנדסים ולמפתחים לנהל את כל מחזור החיים של עומסי העבודה של הנתונים בתוך ה-IDE שלהם. ‫Data Agent Kit תומך ב-Managed Service for Apache Spark, ומאפשר לכם לפתח קוד, ליצור סשנים אינטראקטיביים ולבנות צינורות עיבוד נתונים ישירות מ-VS Code או מ-Agents CLI נתמך.
  • ‫Managed Service for Apache Spark Connect Python Connector: ספריית Python שמייעלת את תהליך השימוש ב-Spark Connect עם Managed Service for Apache Spark. הוא מטפל באימות ובהגדרת נקודות הקצה, וכך קל יותר לחבר את סביבת Python המקומית, כמו notebook או IDE, לאשכול מרוחק של Managed Service for Apache Spark לפיתוח אינטראקטיבי.

מודל המאגר

ב-Managed Service for Apache Spark ב-Google Kubernetes Engine, פורסים אשכולות וירטואליים של Managed Service for Apache Spark באשכול GKE. בניגוד לאשכולות של Managed Service for Apache Spark, באשכולות וירטואליים של Managed Service for Apache Spark לא מקצים מכונות וירטואליות נפרדות למאסטר ול-worker. במקום זאת, הם מקצים מאגרי צמתים בתוך אשכול GKE. המשימות של Managed Service for Apache Spark ב-GKE פועלות כ-pods במאגרי הצמתים האלה. מאגרי הצמתים ותזמון הפודים במאגרי הצמתים מנוהלים על ידי Managed Service for Apache Spark ב-GKE.