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

במדריך הזה מוסבר איך להשתמש בתחביר Apache Beam YAML כדי ליצור צינורות לעיבוד נתונים ב-Dataflow. במאמר הזה נסביר איך לקרוא נתונים מקובץ, להחיל טרנספורמציות ולכתוב את התוצאות לקובץ אחר באמצעות ממשק המשתמש של כלי ליצירת משימות במסוף Google Cloud . המדריך הזה מיועד למפתחים שחדשים ב-Apache Beam או שרוצים ללמוד איך להשתמש ב-YAML API כדי ליצור צינורות.

בטבלה הבאה מוצג גרף של צינור עיבוד נתונים במסוף Google Cloud והגדרת ה-YAML התואמת שלו.

גרף של משימת Dataflow.
pipeline:
  transforms:
    - name: ReadFromCsv
      type: ReadFromCsv
      config:
        path: 'gs://[...]/restaurant-data.csv'
    - name: MapToFields
      type: MapToFields
      input: ReadFromCsv
      config:
        language: python
        fields:
          Lowercase_menu_item: Item.lower()
          Total_price: Price + Tax
        append: true
    - name: WriteToJson
      type: WriteToJson
      input: MapToFields
      config:
        path: 'gs://[...]/restaurant-data_map-fields.json'

מטרות

במדריך הזה תלמדו איך:

  • יצירת צינורות עיבוד נתונים של Beam ב-YAML שקוראים, כותבים ומשנים נתונים.
  • סינון נתונים לפי תוכן.
  • מיפוי שדות באמצעות ביטויי Python.
  • להשתמש ב-SQL כדי להריץ שאילתות על נתונים ולצבור אותם.
  • אפשר ליצור ולהפעיל צינורות Beam YAML באמצעות טופס ה-builder בממשק המשתמש של כלי ליצירת משימות במסוף Google Cloud .

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

לפני שמתחילים

לפני שמריצים את צינור הנתונים, צריך לבצע את השלבים הבאים.

הגדרת הפרויקט

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Dataflow, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Dataflow, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

יצירת קטגוריה של Cloud Storage

כדי להריץ צינור, צריך קודם ליצור קטגוריה של Cloud Storage.

  1. יוצרים קטגוריה של Cloud Storage:

    1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

      כניסה לדף Buckets

    2. לוחצים על יצירה.
    3. ממלאים את פרטי הקטגוריה בדף Create a bucket. כדי לעבור לשלב הבא לוחצים על Continue.
      1. בשדה Name your bucket (שם הקטגוריה), מזינים שם ייחודי לקטגוריה. שם הקטגוריה לא יכול להכיל מידע רגיש, כי מרחב השמות של הקטגוריות זמין וגלוי לכולם.
      2. בקטע Choose where to store your data, מבצעים את הפעולות הבאות:
        1. בוחרים סוג מיקום.
        2. בתפריט הנפתח Location type, בוחרים מיקום שבו יישמרו נתוני הקטגוריה באופן קבוע.
        3. כדי להגדיר שכפול בין מאגרי מידע, בוחרים באפשרות הוספת שכפול בין מאגרי מידע באמצעות Storage Transfer Service ופועלים לפי השלבים הבאים:

          הגדרה של רפליקציה בין מאגרי מידע

          1. בתפריט Bucket, בוחרים באפשרות הרצויה.
          2. בקטע הגדרות השכפול, לוחצים על הגדרה כדי להגדיר את ההגדרות של משימת השכפול.

            מופיעה החלונית Configure cross-bucket replication.

            • כדי לסנן אובייקטים לשכפול לפי קידומת של שם האובייקט, מזינים קידומת שרוצים לכלול או להחריג אובייקטים ממנה, ואז לוחצים על הוספת קידומת.
            • כדי להגדיר סוג אחסון לאובייקטים המשוכפלים, בוחרים סוג אחסון בתפריט סוג אחסון. אם מדלגים על השלב הזה, האובייקטים המשוכפלים ישתמשו בסוג האחסון של קטגוריית היעד כברירת מחדל.
            • לוחצים על סיום.
      3. בקטע Choose how to store your data, מבצעים את הפעולות הבאות:
        1. בקטע Set a default class, בוחרים באפשרות הבאה: Standard.
        2. כדי להפעיל מרחב שמות היררכי, בקטע Optimize storage for data-intensive workloads, בוחרים באפשרות Enable hierarchical namespace on this bucket.
      4. בקטע Choose how to control access to objects, בוחרים אם הקטגוריה אוכפת public access prevention או לא, ואז בוחרים שיטת בקרת גישה לאובייקטים של הקטגוריה.
      5. בקטע Choose how to protect object data, מבצעים את הפעולות הבאות:
        • בוחרים באחת מהאפשרויות בקטע הגנה על נתונים שרוצים להגדיר לקטגוריה.
          • כדי להפעיל מחיקה עם יכולת שחזור, מסמנים את התיבה מדיניות מחיקה עם יכולת שחזור (לשחזור נתונים) ומציינים את מספר הימים שבהם רוצים לשמור אובייקטים אחרי המחיקה.
          • כדי להגדיר ניהול גרסאות של אובייקטים, מסמנים את התיבה ניהול גרסאות של אובייקטים (לשליטה בגרסאות) ומציינים את מספר הגרסאות המקסימלי לכל אובייקט ואת מספר הימים שאחריהם הגרסאות הלא עדכניות יפוגו.
          • כדי להפעיל את מדיניות שמירת הנתונים על אובייקטים וקטגוריות, לוחצים על תיבת הסימון שמירת נתונים (לצורך תאימות), ואז מבצעים את הפעולות הבאות:
            • כדי להפעיל את הנעילה של שמירת אובייקטים, מסמנים את התיבה הפעלת שמירת אובייקטים.
            • כדי להפעיל את נעילת הקטגוריה, מסמנים את תיבת הסימון הגדרת מדיניות שמירת נתונים בקטגוריה ובוחרים יחידת זמן ואת משך הזמן של תקופת השמירה.
        • כדי לבחור איך להצפין את נתוני האובייקט, מרחיבים את הקטע Data encryption () ובוחרים Data encryption method.
    4. לוחצים על יצירה.
  2. מעתיקים את הפרטים הבאים כי תצטרכו אותם בקטע הבא:

    • שם הקטגוריה של Cloud Storage.
    • מזהה הפרויקט Google Cloud .

    כדי למצוא את המזהה הזה, אפשר להיעזר במאמר זיהוי פרויקטים.

רשת VPC

כברירת מחדל, כל פרויקט חדש מתחיל עם רשת ברירת מחדל. אם רשת ברירת המחדל של הפרויקט מושבתת או נמחקה, צריך שתהיה בפרויקט רשת שלחשבון המשתמש שלכם יש בה את התפקיד Compute Network User ‏(roles/compute.networkUser).

קריאה, כתיבה וטרנספורמציה של נתונים

בקטע הזה מוסבר איך אפשר להשתמש בתחביר Beam YAML עם Dataflow כדי לקרוא, לכתוב ולסנן נתונים באמצעות:

  • פיתוח מבוסס ממשק משתמש לבנייה ולהרצה של משימות בממשק המשתמש של כלי בניית המשימות במסוף Google Cloud . בפרט, תשתמשו בטופס של כלי ה-Builder בממשק המשתמש של כלי ה-Builder של המשימות, כך שלא תצטרכו ליצור את קובצי ה-YAML באופן ידני.
  • נתונים מקובץ CSV שמאוחסנים בקטגוריה של Cloud Storage שניתן לצפות בה באופן ציבורי. הנתונים האלה כוללים נתונים לדוגמה של תפריט מסעדה, והם נראים כך:

    restaurant-data.csv

    Menu item,Category,Price,Tax
    Classic Cheeseburger,Entree,9.99,0.7
    Margherita Pizza,Entree,14.50,1.02
    Grilled Salmon with Asparagus,Entree,21.99,1.54
    Chicken Caesar Salad,Salad,12.75,0.89
    Spaghetti Carbonara,Entree,16.25,1.14
    Beef Tacos (3),Entree,10.50,0.74
    Vegetable Stir-Fry,Entree,13.00,0.91
    Shrimp Scampi,Entree,19.75,1.38
    Chicken Pot Pie,Entree,15.50,1.09
    Steak Frites,Entree,28.00,1.96
    Lobster Mac and Cheese,Entree,25.50,1.79
    Pork Belly Bao Buns (2),Appetizer/Side,11.25,0.79
    Mushroom Risotto,Entree,17.50,1.23
    Fish and Chips,Entree,14.00,0.98
    Buffalo Wings (6),Appetizer/Side,9.50,0.67
    French Onion Soup,Appetizer/Side,7.00,0.49
    Tomato Soup with Grilled Cheese,Appetizer/Side,10.00,0.7
    Avocado Toast,Appetizer/Side,8.50,0.6
    Quesadilla with Chicken,Appetizer/Side,11.75,0.82
    Pad Thai,Entree,15.00,1.05
    Chicken Tikka Masala,Entree,18.50,1.3
    Burrito Bowl,Entree,13.50,0.95
    Sushi Combo (8 pieces),Entree,22.00,1.54
    Greek Salad,Salad,11.00,0.77
    Clam Chowder,Appetizer/Side,8.00,0.56
    New York Cheesecake,Dessert,6.50,0.46
    Chocolate Lava Cake,Dessert,7.50,0.53
    Apple Pie,Dessert,5.00,0.35
    Tiramisu,Dessert,8.00,0.56
    Crème brûlée,Dessert,7.00,0.49
    Iced Coffee,Beverage,3.50,0.25
    Lemonade,Beverage,3.00,0.21
    Orange Juice,Beverage,4.00,0.28
    Soda,Beverage,2.50,0.18
    Craft Beer,Beverage,6.00,0.42
    Glass of Wine,Beverage,9.00,0.63
    Margarita,Beverage,12.00,0.84
    Moscow Mule,Beverage,11.50,0.81
    Old Fashioned,Beverage,13.00,0.91
    Espresso,Beverage,3.00,0.21
    Cappuccino,Beverage,4.50,0.32
    Latte,Beverage,5.00,0.35
    Mocha,Beverage,5.50,0.39
    Hot Chocolate,Beverage,4.00,0.28
    Breakfast Burrito,Breakfast,10.50,0.74
    Pancakes (3),Breakfast,8.00,0.56
    Waffles,Breakfast,9.00,0.63
    Eggs Benedict,Breakfast,14.00,0.98
    Omelette,Breakfast,11.00,0.77
    Fruit Salad,Salad,7.50,0.53
    Yogurt Parfait,Breakfast,6.00,0.42

קריאה וסינון של נתונים

בדוגמה הבאה מוסבר איך לקרוא נתונים מקובץ CSV, לסנן אותם כדי למצוא מידע ספציפי ולכתוב את הנתונים המסוננים בקובץ JSON.

בדוגמה הזו נעשה שימוש ב-Filter transform, שמאפשר לשמור באופן סלקטיבי נתונים שעומדים בקריטריונים מסוימים. בדוגמה הבאה, מסננים מערך נתונים כך שיישארו רק הרשומות שבהן הערך של Price גדול או שווה ל-20.00.

כדי לקרוא את נתוני ה-CSV ולהפיק תוכן JSON מסונן, מבצעים את השלבים הבאים:

  1. נכנסים לדף Jobs ב-Dataflow במסוף Google Cloud .

    מעבר אל Jobs

  2. לוחצים על Create Job From Builder.

  3. בכרטיסייה Job builder, משאירים את האפשרות Builder form מסומנת.

  4. בשדה Job name, מזינים filter-python-job.

  5. בהגדרה סוג העבודה, משאירים את האפשרות Batch (אצווה) מסומנת.

  6. בקטע מקורות:

    1. בשדה שם המקור בחלונית מקור חדש, משנים את השם ל-ReadCsv.

    2. ברשימה סוג המקור, בוחרים באפשרות CSV מ-Cloud Storage.

    3. בשדה CSV location (מיקום קובץ ה-CSV), מזינים:

      cloud-samples-data/dataflow/tutorials/restaurant-data.csv
      
    4. לוחצים על סיום.

  7. בקטע Transforms (טרנספורמציות):

    1. לוחצים על הוספת טרנספורמציה.

    2. בשדה Transform name, מזינים FilterPrice.

    3. ברשימה Transform type (סוג ההמרה), בוחרים באפשרות Filter (Python) (סינון (Python)).

    4. בשדה ביטוי סינון Python מזינים Price >= 20.00.

    5. ברשימה Input step for the transform, משאירים את האפשרות ReadCsv מסומנת.

    6. לוחצים על סיום.

  8. בקטע יעדים:

    1. בשדה Sink name, משנים את השם ל-WriteJson.

    2. ברשימה Sink type (סוג יעד), בוחרים באפשרות JSON files on Cloud Storage (קבצי JSON ב-Cloud Storage).

    3. בשדה מיקום ה-JSON, מזינים:

      BUCKET_NAME/output/restaurant-data_filtered.json
      

      מחליפים את BUCKET_NAME בשם של קטגוריית Cloud Storage.

    4. ברשימה Input step for the sink, משאירים את האפשרות FilterPrice מסומנת.

    5. לוחצים על סיום.

  9. בקטע Dataflow Options (אפשרויות של Dataflow), לוחצים על Run job (הפעלת עבודה) .

בדיקת הפלט של המשימה

כשהעבודה תסתיים, תצטרכו לבצע את השלבים הבאים כדי לראות את הפלט של צינור העיבוד:

  1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על שם הקטגוריה שיצרתם בשלב יצירת קטגוריה ב-Cloud Storage.

  3. לוחצים על הקובץ ששמו restaurant-data_filtered.json-00000-of-00001.

  4. בדף פרטי האובייקט, לוחצים על כתובת ה-URL המאומתת כדי לראות את הפלט של צינור העיבוד.

הפלט אמור להיראות כך:

{"Item":"Grilled Salmon with Asparagus","Category":"Entree","Price":21.99,"Tax":1.54}
{"Item":"Steak Frites","Category":"Entree","Price":28.0,"Tax":1.96}
{"Item":"Lobster Mac and Cheese","Category":"Entree","Price":25.5,"Tax":1.79}
{"Item":"Sushi Combo (8 pieces)","Category":"Entree","Price":22.0,"Tax":1.54}

מיפוי שדות באמצעות Python

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

  1. נכנסים לדף Jobs של Dataflow במסוףGoogle Cloud .

    מעבר אל Jobs

  2. לוחצים על Create job from builder (יצירת משימה מכלי הבנייה).

  3. בכרטיסייה Job builder, משאירים את האפשרות Builder form מסומנת.

  4. בשדה Job name, מזינים map-python-job.

  5. בהגדרה סוג העבודה, משאירים את האפשרות Batch (אצווה) מסומנת.

  6. בקטע מקורות:

    1. בשדה שם המקור בחלונית מקור חדש, משנים את השם ל-ReadFromCsvPy.

    2. ברשימה סוג המקור, בוחרים באפשרות CSV מ-Cloud Storage.

    3. בשדה CSV location (מיקום קובץ ה-CSV), מזינים:

      cloud-samples-data/dataflow/tutorials/restaurant-data.csv
      
    4. לוחצים על סיום.

  7. בקטע Transforms (טרנספורמציות):

    1. לוחצים על הוספת טרנספורמציה.

    2. בשדה Transform name, מזינים MapToFieldsPy.

    3. ברשימה Transform type (סוג טרנספורמציה), בוחרים באפשרות Map fields (Python) (מיפוי שדות (Python)).

    4. משאירים את האפשרות שמירה על שדות קיימים מסומנת.

    5. בקטע שדות ממופים, לוחצים על הוספת שדה.

    6. בחלונית New field שנפתחת, מזינים Lowercase_menu_item בתור Field name.

    7. בשדה Python expression (ביטוי Python), מזינים Item.lower().

    8. לוחצים על סיום.

    9. בקטע שדות ממופים, לוחצים שוב על הוספת שדה.

    10. בחלונית New field שנפתחת, מזינים Total_price בתור Field name.

    11. בשדה Python expression (ביטוי Python), מזינים Price + Tax.

    12. בחלונית New field (שדה חדש), לוחצים על Done (סיום).

    13. בחלונית New transform (טרנספורמציה חדשה), לוחצים על Done (סיום).

  8. בקטע יעדים:

    1. בשדה Sink name, משנים את השם ל-WriteToJsonPy.

    2. ברשימה Sink type (סוג יעד), בוחרים באפשרות JSON files on Cloud Storage (קבצי JSON ב-Cloud Storage).

    3. בשדה מיקום ה-JSON, מזינים:

      BUCKET_NAME/output/restaurant-data_map-fields.json
      

      מחליפים את BUCKET_NAME בשם של קטגוריית Cloud Storage.

    4. ברשימה Input step for the sink, משאירים את האפשרות MapToFieldsPy מסומנת.

    5. לוחצים על סיום.

  9. בקטע Dataflow Options (אפשרויות של Dataflow), לוחצים על Run job (הפעלת עבודה) .

בדיקת הפלט של המשימה

כשהעבודה תסתיים, תצטרכו לבצע את השלבים הבאים כדי לראות את הפלט של צינור העיבוד:

  1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על שם הקטגוריה שיצרתם בשלב יצירת קטגוריה ב-Cloud Storage.

  3. לוחצים על הקובץ ששמו restaurant-data_map-fields.json-00000-of-00001.

  4. בדף פרטי האובייקט, לוחצים על כתובת ה-URL המאומתת כדי לראות את הפלט של צינור העיבוד.

הפלט אמור להיראות כך:

{"Item":"Classic Cheeseburger","Category":"Entree","Price":9.99,"Tax":0.7,"Lowercase_menu_item":"classic cheeseburger","Total_price":10.69}
{"Item":"Margherita Pizza","Category":"Entree","Price":14.5,"Tax":1.02,"Lowercase_menu_item":"margherita pizza","Total_price":15.52}
{"Item":"Grilled Salmon with Asparagus","Category":"Entree","Price":21.99,"Tax":1.54,"Lowercase_menu_item":"grilled salmon with asparagus","Total_price":23.53}
{"Item":"Chicken Caesar Salad","Category":"Salad","Price":12.75,"Tax":0.89,"Lowercase_menu_item":"chicken caesar salad","Total_price":13.64}
{"Item":"Spaghetti Carbonara","Category":"Entree","Price":16.25,"Tax":1.14,"Lowercase_menu_item":"spaghetti carbonara","Total_price":17.39}
{"Item":"Beef Tacos (3)","Category":"Entree","Price":10.5,"Tax":0.74,"Lowercase_menu_item":"beef tacos (3)","Total_price":11.24}
[...]

טרנספורמציה של נתונים באמצעות SQL

הטרנספורמציה Sql מאפשרת להריץ שאילתות SQL על הנתונים. בדוגמה הבאה, פריטי התפריט מקובצים לפי קטגוריה (כמו Entree, Beverage או Dessert), ומוספת עמודה עם מספר הפריטים בכל קטגוריה.

כדי ליצור את צינור הנתונים באמצעות ממשק המשתמש של כלי בניית המשימות, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Jobs ב-Dataflow במסוף Google Cloud .

    מעבר אל Jobs

  2. לוחצים על Create job from builder (יצירת משימה מכלי הבנייה).

  3. בכרטיסייה Job builder (כלי ליצירת משימות), בשדה Job name (שם המשימה), מזינים sql-transform-job.

  4. בהגדרה סוג העבודה, משאירים את האפשרות Batch (אצווה) מסומנת.

  5. בקטע מקורות:

    1. בשדה שם המקור, משנים את השם ל-SqlTransformSource.

    2. בכרטיסייה New source (מקור חדש), בקטע Source type (סוג המקור), בוחרים באפשרות CSV from Cloud Storage (קובץ CSV מ-Cloud Storage). השדה CSV location נפתח.

    3. בשדה מיקום קובץ ה-CSV, מזינים:

      cloud-samples-data/dataflow/tutorials/restaurant-data.csv
      
    4. לוחצים על סיום.

  6. בקטע Transforms (טרנספורמציות):

    1. לוחצים על הוספת טרנספורמציה.

    2. בשדה Transform name, מעדכנים את השם ל-SqlTransform.

    3. בקטע סוג הטרנספורמציה, בוחרים באפשרות טרנספורמציית SQL. ייפתחו האפשרויות של SQL transform.

    4. בשדה SQL expression (ביטוי SQL), מזינים:

      select Category, count(*) as category_count from PCOLLECTION group by Category
      
    5. לוחצים על סיום.

  7. בקטע יעדים:

    1. בשדה Sink name (שם יעד), מזינים SqlTransformSink.

    2. בשדה Sink type, בוחרים באפשרות JSON files on Cloud Storage. נפתחות האפשרויות Write to JSON files on Cloud Storage.

    3. בשדה מיקום JSON, מזינים:

      BUCKET_NAME/output/restaurant-data_transform-sql.json
      

      מחליפים את BUCKET_NAME בשם של קטגוריית Cloud Storage.

    4. לוחצים על סיום.

  8. אופציונלי: צופים בהגדרת ה-YAML שנוצרה עבור צינור עיבוד הנתונים הזה.

    1. עוברים לחלק העליון של הכרטיסייה 'כלי ליצירת משרות'.

    2. לוחצים על עורך YAML. הגדרת ה-YAML אמורה להופיע. הוא אמור להיראות כך:

      מפרט YAML שנוצר

      pipeline:
        transforms:
          - name: SqlTransformSource
            type: ReadFromCsv
            config:
              path: 'gs://cloud-samples-data/dataflow/tutorials/restaurant-data.csv'
          - name: SqlTransform
            type: Sql
            config:
              query: >-
                select Category, count(*) as category_count from PCOLLECTION group by
                Category
            input:
              input0: SqlTransformSource
          - name: SqlTransformSink
            type: WriteToJson
            input: SqlTransform
            config:
              path: 'gs://BUCKET_NAME/output/restaurant-data_transform-sql.json'
  9. בקטע Dataflow Options (אפשרויות של Dataflow), לוחצים על Run job (הפעלת עבודה).

בדיקת הפלט של המשימה

כשהעבודה תסתיים, תצטרכו לבצע את השלבים הבאים כדי לראות את הפלט של צינור העיבוד:

  1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. ברשימת הקטגוריות, לוחצים על שם הקטגוריה שיצרתם בשלב יצירת קטגוריה ב-Cloud Storage.

  3. לוחצים על הקובץ ששמו restaurant-data_transform-sql.json-00000-of-00001.

  4. בדף פרטי האובייקט, לוחצים על כתובת ה-URL המאומתת כדי לראות את הפלט של צינור העיבוד.

הפלט אמור להיראות כך:

{"Category":"Entree","category_count":16}
{"Category":"Beverage","category_count":14}
{"Category":"Appetizer\/Side","category_count":7}
{"Category":"Dessert","category_count":5}
{"Category":"Breakfast","category_count":6}
{"Category":"Salad","category_count":3}

הסרת המשאבים

כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.

מחיקת הפרויקט

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת המשאבים הבודדים

אם אתם רוצים להשתמש שוב בפרויקט בהמשך, אתם יכולים לשמור אותו אבל למחוק את המשאבים שיצרתם במהלך המדריך.

הפסקת צינור עיבוד הנתונים של Dataflow

  1. נכנסים לדף Jobs של Dataflow במסוף Google Cloud .

    מעבר אל Jobs

  2. לוחצים על העבודה שרוצים להפסיק.

    כדי לעצור עבודה, הסטטוס שלה צריך להיות running.

  3. בדף פרטי המשימה, לוחצים על עצירה.

  4. לוחצים על ביטול.

  5. כדי לאשר את הבחירה, לוחצים על עצירת העבודה.

מחיקת קטגוריה של Cloud Storage

  1. במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.

    כניסה לדף Buckets

  2. לוחצים על תיבת הסימון של הקטגוריה שרוצים למחוק.
  3. כדי למחוק את הקטגוריה, לוחצים על Delete ופועלים לפי ההוראות.

המאמרים הבאים