Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך משתמשים ב-Managed Airflow (דור שני) כדי להריץ עומסי עבודה של Managed Service for Apache Spark ב-Google Cloud.
בדוגמאות שבקטעים הבאים מוסבר איך להשתמש באופרטורים לניהול עומסי עבודה באצווה של Managed Service for Apache Spark. אתם משתמשים באופרטורים האלה ב-DAGs שיוצרים, מוחקים, מציגים ומקבלים עומס עבודה באצווה של Managed Service for Apache Spark:
יוצרים קובצי DAG לאופרטורים שעובדים עם עומסי עבודה באצווה של Managed Service for Apache Spark:
ליצור קבוצות DAG שמשתמשות בקונטיינרים בהתאמה אישית וב-Dataproc Metastore.
מגדירים שרת היסטוריה מתמשכת ל-DAGs האלה.
לפני שמתחילים
מפעילים את Dataproc API:
המסוף
מפעילים את Managed Service for Apache Spark API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud
מפעילים את Managed Service for Apache Spark API, אם הוא עדיין לא מופעל:
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable dataproc.googleapis.com
בוחרים את המיקום של קובץ עומס העבודה באצווה. אתם יכולים להשתמש בכל אחת מהאפשרויות הבאות:
- יוצרים קטגוריה של Cloud Storage שבה מאחסנים את הקובץ.
- משתמשים בקטגוריה של הסביבה. מכיוון שאין צורך לסנכרן את הקובץ הזה עם Airflow, אפשר ליצור תיקיית משנה נפרדת מחוץ לתיקיות
/dagsאו/data. לדוגמה,/batches. - שימוש בקטגוריה קיימת.
הגדרת קבצים ומשתני Airflow
בקטע הזה נסביר איך להגדיר קבצים ומשתני Airflow בשביל המדריך הזה.
העלאת קובץ של עומס עבודה של Managed Service for Apache Spark ML לקטגוריה
עומס העבודה במדריך הזה מריץ סקריפט pyspark:
שומרים סקריפט pyspark בקובץ מקומי בשם
spark-job.py. לדוגמה, אתם יכולים להשתמש בסקריפט pyspark לדוגמה.מעלים את הקובץ למיקום שבחרתם בקטע לפני שמתחילים.
הגדרת משתני Airflow
בדוגמאות שבקטעים הבאים נעשה שימוש במשתני Airflow. אתם מגדירים ערכים למשתנים האלה ב-Airflow, ואז קוד ה-DAG יכול לגשת לערכים האלה.
בדוגמאות שבמדריך הזה נעשה שימוש במשתני Airflow הבאים. אתם יכולים להגדיר אותם לפי הצורך, בהתאם לדוגמה שבה אתם משתמשים.
מגדירים את משתני Airflow הבאים לשימוש בקוד DAG:
-
project_id: מזהה הפרויקט. -
bucket_name: ה-URI של הקטגוריה שבה נמצא קובץ ה-Python הראשי של עומס העבודה (spark-job.py). בחרתם את המיקום הזה בקטע לפני שמתחילים. -
phs_cluster: השם של אשכול Persistent History Server. אתם מגדירים את המשתנה הזה כשאתם יוצרים שרת היסטוריה קבוע. -
image_name: השם והתג של קובץ האימג' של הקונטיינר בהתאמה אישית (image:tag). אתם מגדירים את המשתנה הזה כשאתם משתמשים בקובץ אימג' של קונטיינר בהתאמה אישית עם DataprocCreateBatchOperator. -
metastore_cluster: שם השירות של Dataproc Metastore. אתם מגדירים את המשתנה הזה כשאתם משתמשים בשירות Dataproc Metastore עם DataprocCreateBatchOperator. -
region_name: האזור שבו נמצא שירות Dataproc Metastore. אתם מגדירים את המשתנה הזה כשאתם משתמשים בשירות Dataproc Metastore עם DataprocCreateBatchOperator.
משתמשים במסוף Google Cloud ובממשק המשתמש של Airflow כדי להגדיר כל משתנה של Airflow
במסוף Google Cloud , נכנסים לדף Environments.
ברשימת הסביבות, לוחצים על הקישור Airflow של הסביבה. ממשק המשתמש של Airflow נפתח.
בממשק המשתמש של Airflow, בוחרים באפשרות Admin > Variables.
לוחצים על הוספת רשומה חדשה.
מציינים את שם המשתנה בשדה Key ומגדירים את הערך שלו בשדה Val.
לוחצים על Save.
יצירת שרת היסטוריה קבוע
כדי לראות את קובצי ההיסטוריה של Spark של עומסי העבודה באצווה, אפשר להשתמש בשרת היסטוריה מתמיד (PHS):
- יצירת שרת היסטוריה קבוע.
- מוודאים שציינתם את השם של אשכול ה-PHS במשתנה Airflow
phs_cluster.
DataprocCreateBatchOperator
ה-DAG הבא מפעיל עומס עבודה באצווה של Managed Service for Apache Spark.
למידע נוסף על הארגומנטים של DataprocCreateBatchOperator, קראו את קוד המקור של האופרטור.
למידע נוסף על מאפיינים שאפשר להעביר בפרמטר batch של DataprocCreateBatchOperator, עיינו בתיאור של המחלקה Batch.
שימוש בקובץ אימג' של קונטיינר בהתאמה אישית עם DataprocCreateBatchOperator
בדוגמה הבאה מוסבר איך משתמשים בקובץ אימג' של קונטיינר בהתאמה אישית כדי להריץ את עומסי העבודה. אתם יכולים להשתמש בקונטיינר בהתאמה אישית, למשל כדי להוסיף יחסי תלות של Python שלא מסופקים על ידי קובץ האימג' של הקונטיינר שמוגדר כברירת מחדל.
כדי להשתמש בקובץ אימג' של קונטיינר בהתאמה אישית:
יוצרים קובץ אימג' בהתאמה אישית של קונטיינר ומעלים אותו ל-Container Registry.
מציינים את התמונה במשתנה Airflow
image_name.משתמשים ב-DataprocCreateBatchOperator עם קובץ האימג' בהתאמה אישית:
שימוש בשירות Dataproc Metastore עם DataprocCreateBatchOperator
כדי להשתמש בשירות Dataproc Metastore מ-DAG:
מוודאים ששירות המטא-נתונים כבר פועל.
במאמר הפעלה והשבתה של Dataproc Metastore מוסבר איך מפעילים שירות מטא-נתונים.
מידע מפורט על האופרטור של Batch ליצירת ההגדרות זמין במאמר PeripheralsConfig.
אחרי ששירות המטא-נתונים פועל, מציינים את השם שלו במשתנה
metastore_clusterואת האזור שלו במשתנה Airflowregion_name.שימוש בשירות המטא-נתונים ב-DataprocCreateBatchOperator:
DataprocDeleteBatchOperator
אפשר להשתמש ב-DataprocDeleteBatchOperator כדי למחוק אצווה על סמך מזהה האצווה של עומס העבודה.
DataprocListBatchesOperator
DataprocListBatchesOperator מציג רשימה של אצוות שקיימות ב-project_id ובאזור נתונים.
DataprocGetBatchOperator
DataprocGetBatchOperator מאחזר עומס עבודה ספציפי של אצווה.