במאמר הזה מוסברים המושגים העיקריים, אבני הבניין הבסיסיות, התכונות העיקריות והיתרונות של 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 מקצה את המשאבים הנדרשים על פי דרישה, מריץ את המשימה ואז מסיר אותם. אתם לא צריכים ליצור או לנהל משאבים של אשכולות או של משימות, כי השירות עושה את זה בשבילכם.
סשנים אינטראקטיביים: סשנים אינטראקטיביים מספקים סביבה פעילה מתי שנוח לניתוח נתונים, בדרך כלל ב-Jupyter Notebook. סשנים אינטראקטיביים מספקים את הנוחות של סביבת עבודה זמנית בלי שרת (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 או מ-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 במאגרי הצמתים האלה. השירות המנוהל ל-Apache Spark ב-GKE מנהל את מאגרי הצמתים ואת תזמון הפודים במאגרי הצמתים.