בדף הזה מפורטות תשובות לשאלות נפוצות בנושא Google Cloud Serverless for Apache Spark.
מתי כדאי להשתמש ב-Serverless ל-Apache Spark במקום ב-Dataproc ב-Compute Engine?
Serverless ל-Apache Spark:
- תמיכה בעומסי עבודה (workloads) של Spark batch ובסשנים אינטראקטיביים ב-PySpark kernel Jupyter notebooks.
- Serverless ל-Apache Spark יוצר ומנהל את התשתית של עומס העבודה והסשן האינטראקטיבי.
Dataproc on Compute Engine:
תומך בשליחה של סוגים שונים של משימות Spark ומשימות שמבוססות על רכיבים אחרים בקוד פתוח, כמו Flink, Hadoop, Hive, Pig, Presto ועוד.
לא יוצרת ולא מנהלת תשתית. אתם יוצרים ומנהלים את אשכולות Dataproc.
מה אפשר לעשות עם Serverless for Apache Spark?
שימוש בתוסף Dataproc JupyterLab לסשנים של מחברות אינטראקטיביות ושל אצווה ללא שרת.
הפעלת משימות סטרימינג באמצעות ספריות סטרימינג של Spark. הערה: סטרימינג הוא לא שירות מנוהל, ולכן אתם צריכים לנהל את יצירת נקודות הבדיקה וההפעלה מחדש.
אימון מודלים באמצעות Spark MLlib.
שימוש במחברות SQL אינטראקטיביות לניתוח נתונים, לניתוח גרפים, לניתוח סדרות זמן ולניתוח נתונים גיאוגרפיים.
תזמור עומסי עבודה של Serverless for Apache Spark באמצעות Cloud Composer, שירות מנוהל של Apache Airflow.
איך כדאי להגדיר תוכנית להפעלת עומס עבודה?
אפשר להריץ עומסי עבודה במקביל או ברצף. תוכנית הביצוע משפיעה על מכסת המשאבים שלכם ב- Google Cloud . אתם יכולים להריץ כמה עומסי עבודה במקביל, בהתאם למכסות של משאבי האצווה.
האם אפשר להשתמש בתמונה בהתאמה אישית עם Serverless for Apache Spark?
- כן. אתם יכולים להשתמש בקובץ אימג' מותאם אישית של קונטיינר במקום בקובץ ברירת המחדל. איך משתמשים במאגרי תמונות מותאמים אישית עם Serverless for Apache Spark
האם אפשר לציין משאבי זיכרון ודיסק לעומסי עבודה של Spark ב-Serverless for Apache Spark?
כן. אתם יכולים לציין רמות פרימיום של מחשוב ודיסקים של מנהל העבודה והמבצע, ואת כמות משאבי המחשוב והדיסקים של מנהל העבודה והמבצע שיוקצו כשאתם שולחים עומס עבודה (ראו מאפיינים של הקצאת משאבים).
איך אפשר לציין את טווח כתובות ה-IP ברשת ה-VPC של Serverless for Apache Spark?
עומסי עבודה (workloads) של Serverless for Apache Spark פועלים בסביבה שלכם.
כל מנהל התקן (driver) וכל רכיב הפעלה (executor) של Spark בעומס עבודה של Serverless Spark צורכים כתובת IP פנימית אחת ברשת ה-VPC של Serverless for Apache Spark.
/16 הוא טווח כתובות CIDR טיפוסי שמוגדר על ידי המשתמש עבור רשת VPC של Serverless for Apache Spark.
אתם יכולים להגביל את טווח כתובות ה-IP של הרשת בהתאם למספר עומסי העבודה המקבילים שאתם מתכננים להריץ.
האם Serverless for Apache Spark תומך במיקום נתונים?
כן. אתם מציינים את האזור שבו עומס העבודה מעובד. מאתרים את קבוצות הנתונים של הקלט והפלט באזור שצוין.
איך Serverless for Apache Spark בוחר אזור בתוך האזור שצוין כדי להריץ את עומס העבודה?
Serverless (בלי שרת) ל-Apache Spark בוחר את האזור ב-Compute Engine שבו יופעל עומס העבודה על סמך הקיבולת והזמינות. אם אזור מסוים הופך ללא זמין אחרי שעומס עבודה מתחיל, עומס העבודה נכשל וצריך לשלוח אותו מחדש.
איך עומסי עבודה של Serverless for Apache Spark משתמשים במשאבי מחשוב?
כל עומס עבודה מופעל במשאבי מחשוב משלו. הגשות מרובות של קובצי באטצ' לא משתפות משאבי מחשוב או עושות בהם שימוש חוזר.
שיטות מומלצות:
אופטימיזציה של עומס העבודה למשימות שרצות לזמן בינוני, ולא למשימות שרצות לזמן קצר.
שמירת נתונים שאליהם ניגשים כמה עומסי עבודה ב-Cloud Storage.
איפה אפשר למצוא מידע על הודעות, תכונות, תיקוני באגים, בעיות מוכרות והוצאות משימוש של Serverless for Apache Spark?
אפשר לעיין בהערות המוצר של Serverless for Apache Spark.
האם עומסי עבודה מקבילים מתחרים על משאבים?
עומסי עבודה של Serverless for Apache Spark מתחרים על משאבים רק אם מכסת המשאבים לא מספיקה להרצת כל עומסי העבודה שפועלים בו-זמנית. אחרת, עומסי העבודה מבודדים לחלוטין זה מזה.
איך מוקצה מכסת Serverless for Apache Spark?
עיבוד ברצף (batch processing) ב-Serverless for Apache Spark צורך Google Cloud משאבים. מידע נוסף זמין במאמר בנושא מכסות של Dataproc Serverless.
צריך להגדיר שרת היסטוריה מתמשך של Dataproc?
ההגדרה של שרת היסטוריה קבוע (PHS) לשימוש עם Serverless for Apache Spark היא אופציונלית.אפשר להשתמש ב-PHS כדי להציג אירועי Spark ויומנים אחרים בקטגוריה ספציפית של Cloud Storage עד לתקופה של 90 ימים (TTL) אחרי התקופה הרגילה של הכנת נתונים וקטגוריית נתונים זמנית של Serverless for Apache Spark.
אילו יומנים של Serverless for Apache Spark Spark זמינים?
יומני מנהלי התהליכים (executors) והדרייברים של Spark זמינים ב-Cloud Logging במהלך ההפעלה של עומס העבודה של Spark ואחריה. בנוסף, אפליקציות Spark מוצגות בממשק האינטרנט של Persistent History Server (PHS) בזמן שהעומס פועל (בוחרים באפשרות PHS > Incomplete Applications בממשק המשתמש של PHS).
אם מגדירים Dataproc PHS, מקבלים גישה מתמשכת ליומני אירועים של Spark שנשמרים ב-Cloud Storage, ומספקים תובנות לגבי הביצוע של אפליקציית Spark, כמו אירועים של DAG ושל executor.
האם אפשר להגדיר את מספר המבצעים לעומס העבודה של Spark?
כן. אפשר להגדיר את מספר התהליכים לביצוע של עומס עבודה של Spark באמצעות המאפיין spark.executor.instances. עם זאת, המספר הכולל של הליבות שעומדות לרשות עומס העבודה חשוב יותר ממספר תהליכי הביצוע, כי Spark מריץ משימה אחת לכל ליבה. לדוגמה,
אם לעומס העבודה יש ארבעה תהליכי הפעלה עם שתי ליבות כל אחד, הוא יפעיל 4 * 2 = 8 משימות
בו-זמנית. בנוסף, הוא יפעיל את אותו מספר משימות לעומס עבודה עם שני מפעילים, כל אחד עם ארבע ליבות. מכיוון שמספר ליבות המעבד לכל עומס עבודה זהה, הן יפעילו את אותו מספר משימות. אפשר להשתמש במאפיין spark.executor.cores כדי להגדיר את מספר ליבות המעבד לכל מפעיל עבור עומס העבודה של Serverless for Apache Spark.
באילו מדדים של Spark משתמשים ב-Serverless for Apache Spark לצורך התאמה אוטומטית לעומס?
Serverless for Apache Spark בודק את המדדים של maximum-needed ושל running
ההקצאה הדינמית של Spark כדי לקבוע אם להגדיל או להקטין את הקיבולת.
מידע נוסף זמין במאמר בנושא שינוי גודל אוטומטי ב-Serverless ל-Apache Spark.
האם אפשר להגדיר את ההתנהגות של התאמה אוטומטית לעומס ב-Serverless for Apache Spark באמצעות מאפייני Spark?
כן. התאמה אוטומטית לעומס ב-Serverless for Apache Spark מבוססת על הקצאה דינמית של Spark, והיא מופעלת כברירת מחדל. אפשר לשנות את מאפייני Spark ומאפייני הקצאה דינמית של Spark הבאים:
spark.executor.instancesspark.dynamicAllocation.initialExecutorsspark.dynamicAllocation.minExecutorsspark.dynamicAllocation.maxExecutors
למה צריך לארוז את הקוד בקובץ JAR כדי לשלוח את עומס העבודה של Spark?
Spark כתובה ב-Scala, מה שאומר שתהליכי ה-driver וה-worker פועלים כתהליכי JVM. בשפות JVM, קובץ ה-JAR הוא הדרך העיקרית לארוז קוד. מעבירים את קובץ ה-JAR אל Serverless for Apache Spark כששולחים עומס עבודה.