הטמעה של Datastream ו-Dataflow לניתוח נתונים

Datastream

שילוב של Datastream עם תבניות של משימות Dataflow מאפשר להתאים אישית את הלוגיקה של עיבוד זרמי הנתונים (stream processing) כשמשכפלים נתונים ל-BigQuery לצורך ניתוח כמעט בזמן אמת. לדוגמה, אתם יכולים לשנות נתונים תוך כדי תנועה או להגדיר באופן ידני מפתחות ראשיים לוגיים לפני הכתיבה בטבלאות היעד.

במדריך הזה תשתמשו ב-Datastream כדי לשכפל נתונים ממסד נתונים של MySQL לקטגוריה של Cloud Storage. לאחר מכן מגדירים התראות Pub/Sub לקובצי שינויים חדשים ומריצים משימת סטרימינג של Dataflow כדי להחיל את השינויים האלה ב-BigQuery.

התרשים הבא ממחיש את הארכיטקטורה לשילוב של Datastream ו-Dataflow:

‫Datastream מעביר בסטרימינג שינויים במסד הנתונים של המקור ל-Cloud Storage, ‏Pub/Sub שולח התראה ל-Dataflow, ו-Dataflow משכפל את השינויים ל-BigQuery.

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

  1. הטמעה: Datastream מתעד הוספות, עדכונים ומחיקות ממסד הנתונים של המקור וכותב קובצי שינויים בקטגוריה של Cloud Storage. כשמגיעים קובצי שינויים חדשים, Cloud Storage מפרסם התראות בנושא Pub/Sub, שמעביר אותן באמצעות מינוי.
  2. עיבוד: משימת Dataflow מקבלת התראות מהמינוי ל-Pub/Sub וקוראת את קובצי השינויים התואמים מהקטגוריה של Cloud Storage.
  3. אחסון: המשימה ב-Dataflow מעבירה את השינויים למערך נתונים ב-BigQuery וממזגת אותם לטבלאות רפליקה לצורך ניתוח.

מטרות

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

  • יוצרים קטגוריית יעד ב-Cloud Storage כדי לאחסן סכימות, טבלאות וקבצים של שינויים שמועברים בסטרימינג על ידי Datastream ממסד נתונים של MySQL במקור.
  • כדי להגדיר התראות Pub/Sub בקטגוריה של Cloud Storage, יוצרים נושא ומינוי לקובצי שינויים חדשים.
  • יוצרים מערכי נתונים של שלב ביניים ושל רפליקה ב-BigQuery כדי לאחסן את נתוני המקור המשוכפלים.
  • יוצרים פרופילי חיבור של Datastream למסד הנתונים MySQL במקור ולקטגוריית היעד ב-Cloud Storage.
  • יוצרים, מפעילים ומאמתים זרם Datastream שכותב סכימות, טבלאות ושינויים בנתונים של המקור לקטגוריה.
  • יוצרים משימת Dataflow שמקבלת התראות מהמינוי ל-Pub/Sub, קוראת קובצי שינויים מהקטגוריה של Cloud Storage וממזגת את השינויים ב-BigQuery.
  • מוודאים ש-Dataflow משכפל את השינויים בנתוני המקור ב-BigQuery.
  • כדי להימנע מחיובים עתידיים, צריך לנקות את המשאבים שיצרתם ב-Datastream, ב-Cloud Storage, ב-Pub/Sub, ב-Dataflow וב-BigQuery.

עלויות

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

  • Datastream
  • Cloud Storage
  • Pub/Sub
  • Dataflow
  • BigQuery

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

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

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

  1. 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

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

  3. מפעילים את Datastream API.

    הפעלת ה-API

  4. מוודאים שלחשבון המשתמש שלכם הוקצה התפקיד "אדמין ב-Datastream".

    כניסה לדף IAM

  5. מוודאים שיש לכם מסד נתונים של MySQL במקור של-Datastream יש גישה אליו. בנוסף, צריך לוודא שיש נתונים, טבלאות וסכימות במסד הנתונים.
  6. מגדירים את מסד הנתונים של MySQL כך שיאפשר חיבורים נכנסים מכתובות ה-IP הציבוריות של Datastream. רשימה של כל האזורים של Datastream וכתובות ה-IP הציבוריות שמשויכות אליהם מופיעה במאמר רשימות היתרים של כתובות IP ואזורים.
  7. מגדירים סימון נתונים שהשתנו (CDC) במסד הנתונים של המקור. מידע נוסף זמין במאמר הגדרת מסד נתונים של MySQL כמקור.
  8. מוודאים שאתם עומדים בכל הדרישות המוקדמות להפעלת התראות Pub/Sub ל-Cloud Storage.

    במדריך הזה תיצרו קטגוריית יעד ב-Cloud Storage ותפעילו התראות Pub/Sub בקטגוריה. כך Dataflow יכול לקבל התראות על קבצים חדשים ש-Datastream כותב בקטגוריה. הקבצים האלה מכילים שינויים בנתונים ש-Datastream מעביר ממסד הנתונים של המקור לקטגוריה.

דרישות

ב-Datastream יש מגוון אפשרויות מקור, אפשרויות יעד ושיטות קישוריות לרשת.

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

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

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

יצירת קטגוריה ב-Cloud Storage

יוצרים קטגוריית יעד ב-Cloud Storage, שאליה Datastream מעביר סכימות, טבלאות ונתונים ממסד נתונים של MySQL במקור.

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

    כניסה לדף Browser

  2. לוחצים על Create bucket. מופיע הדף Create a bucket.

  3. בשדה הטקסט של האזור Name your bucket, מזינים שם ייחודי לקטגוריה ולוחצים על Continue.

  4. מאשרים את הגדרות ברירת המחדל בכל אחד מהאזורים שנותרו בדף. בסוף כל אזור, לוחצים על המשך.

  5. לוחצים על יצירה.

הפעלת התראות Pub/Sub לקטגוריה של Cloud Storage

בקטע הזה תפעילו את התראות Pub/Sub בקטגוריה של Cloud Storage שיצרתם. כך אתם מגדירים את הקטגוריה כך שתשלח התראה ל-Dataflow על כל קובץ חדש ש-Datastream כותב בקטגוריה. הקבצים האלה מכילים שינויים בנתונים ש-Datastream מעביר בסטרימינג ממסד נתונים של MySQL לקטגוריה.

  1. נכנסים לקטגוריה של Cloud Storage שיצרתם. הדף Bucket details מופיע.

  2. לוחצים על Activate Cloud Shell.

  3. בשורת הפקודה, מזינים את הפקודה הבאה:

    gcloud storage buckets notifications create gs://bucket-name --topic=my_integration_notifs --payload-format=json --object-prefix=integration/tutorial/

    ‫
  4. אופציונלי: אם מופיע החלון Authorize Cloud Shell, לוחצים על Authorize.

  5. מוודאים ששורות הקוד הבאות מופיעות:

    Created Cloud Pub/Sub topic projects/project-name/topics/my_integration_notifs
    Created notification config projects/_/buckets/bucket-name/notificationConfigs/1
    
  6. נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .

    כניסה לדף Topics

  7. לוחצים על הנושא my_integration_notifs שיצרתם.

  8. בדף my_integration_notifs, עוברים לתחתית הדף. מוודאים שהכרטיסייה Subscriptions פעילה ושההודעה No subscriptions to display מופיעה.

  9. לוחצים על יצירת מינוי.

  10. בתפריט שמופיע, לוחצים על יצירת מינוי.

  11. בדף Add subscription to topic:

    1. בשדה Subscription ID, מזינים את הערך my_integration_notifs_sub.
    2. מגדירים את הערך של Acknowledgement deadline ל-120 שניות. כך ל-Dataflow יש מספיק זמן לאשר את הקבצים שהוא עיבד, וזה עוזר לשפר את הביצועים הכוללים של משימת Dataflow. למידע נוסף על מאפייני מינויים ב-Pub/Sub, ראו מאפייני מינויים.
    3. משאירים את כל ערכי ברירת המחדל האחרים בדף.
    4. לוחצים על יצירה.

בהמשך המדריך תיצרו משימת Dataflow. כחלק מיצירת המשימה הזו, אתם מקצים ל-Dataflow את המינוי my_integration_notifs_sub. כך Dataflow יכול לקבל התראות על קבצים חדשים ש-Datastream כותב ב-Cloud Storage, לעבד את הקבצים ולהעביר את השינויים בנתונים ל-BigQuery.

יצירת מערכי נתונים ב-BigQuery

בקטע הזה, תיצרו מערכי נתונים ב-BigQuery. ב-BigQuery משתמשים במערכי נתונים כדי להכיל את הנתונים שמתקבלים מ-Dataflow. הנתונים האלה מייצגים את השינויים במסד הנתונים של המקור ב-MySQL, שמועברים בסטרימינג על ידי Datastream לקטגוריה של Cloud Storage.

  1. נכנסים לדף SQL workspace של BigQuery במסוף Google Cloud .

    כניסה לדף SQL workspace

  2. בחלונית Explorer, לצד שם הפרויקט Google Cloud , לוחצים על View actions.

  3. בתפריט שמופיע, בוחרים באפשרות Create dataset.

  4. בחלון Create dataset:

    1. בשדה Dataset ID, מזינים מזהה לקבוצת הנתונים. במדריך הזה, מזינים בשדה את הערך My_integration_dataset_log.
    2. משאירים את כל ערכי ברירת המחדל האחרים בחלון.
    3. לוחצים על Create dataset.
  5. בחלונית Explorer, לצד שם הפרויקט Google Cloud , לוחצים על Expand node ומוודאים שמופיעה קבוצת הנתונים שיצרתם.

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

  7. ליד כל מערך נתונים, מרחיבים את Expand node.

  8. מוודאים שכל מערך נתונים ריק.

אחרי ש-Datastream מעביר את השינויים בנתונים ממסד הנתונים של המקור לקטגוריה של Cloud Storage, משימת Dataflow מעבדת את הקבצים שמכילים את השינויים ומעבירה את השינויים למערכי הנתונים של BigQuery.

יצירת פרופילי חיבור ב-Datastream

בקטע הזה יוצרים פרופילי חיבור ב-Datastream למסד נתונים של מקור וליעד. במסגרת יצירת פרופילי החיבור, בוחרים באפשרות MySQL כסוג הפרופיל של פרופיל החיבור במקור, ובאפשרות Cloud Storage כסוג הפרופיל של פרופיל החיבור ביעד.

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

יצירת פרופיל חיבור למקור של מסד הנתונים ב-MySQL

  1. במסוף Google Cloud , נכנסים לדף Connection profiles של Datastream.

    כניסה לדף Connection profiles

  2. לוחצים על יצירת פרופיל.

  3. כדי ליצור פרופיל חיבור למקור של מסד הנתונים ב-MySQL, בדף Create a connection profile לוחצים על סוג הפרופיל MySQL.

  4. בקטע Define connection settings בדף Create MySQL profile, מזינים את הפרטים הבאים:

    • בשדה Connection profile name, מזינים את הערך My Source Connection Profile.
    • משאירים את הערך שנוצר באופן אוטומטי בשדה Connection profile ID.
    • בוחרים את האזור (Region) שבו רוצים לאחסן את פרופיל החיבור.

    • מזינים את פרטי החיבור:

      • בשדה Hostname or IP, מזינים שם מארח או כתובת IP ציבורית ש-Datastream יכול להשתמש בהם כדי להתחבר למסד הנתונים של המקור. אתם מספקים כתובת IP ציבורית כי אתם משתמשים ברשימת היתרים של כתובות IP כשיטה לקישוריות לרשת במדריך הזה.
      • בשדה Port, מזינים את מספר היציאה ששמור למסד הנתונים של המקור. במסד נתונים של MySQL, יציאת ברירת המחדל היא בדרך כלל 3306.
      • מזינים שם משתמש וסיסמה כדי לאמת את מסד הנתונים של המקור.
  5. בקטע הגדרת החיבור, לוחצים על המשך. הקטע Secure your connection to your source בדף Create MySQL profile פעיל.

  6. בתפריט סוג הצפנה, בוחרים באפשרות ללא. מידע נוסף על התפריט הזה זמין במאמר יצירת פרופיל חיבור למסד נתונים של MySQL.

  7. בקטע אבטחת החיבור למקור, לוחצים על המשך. הקטע Define connectivity method בדף Create MySQL profile פעיל.

  8. בתפריט הנפתח Connectivity method, בוחרים את שיטת הרישות שבה רוצים להשתמש כדי ליצור קישוריות בין Datastream לבין מסד הנתונים של המקור. במדריך הזה, בוחרים באפשרות רשימת היתרים של כתובות IP כשיטת הקישוריות.

  9. מגדירים את מסד הנתונים של המקור כך שיאפשר חיבורים נכנסים מכתובות ה-IP הציבוריות של Datastream שמופיעות.

  10. בקטע Define connectivity method, לוחצים על Continue. הקטע Test connection profile בדף Create MySQL profile פעיל.

  11. לוחצים על Run test כדי לוודא שמסד הנתונים של המקור ו-Datastream יכולים לתקשר זה עם זה.

  12. מוודאים שמופיע הסטטוס Test passed.

  13. לוחצים על יצירה.

יצירת פרופיל חיבור ליעד ב-Cloud Storage

  1. במסוף Google Cloud , נכנסים לדף Connection profiles של Datastream.

    כניסה לדף Connection profiles

  2. לוחצים על יצירת פרופיל.

  3. כדי ליצור פרופיל חיבור ליעד ב-Cloud Storage, בדף Create a connection profile לוחצים על סוג הפרופיל Cloud Storage.

  4. בדף Create Cloud Storage profile, מזינים את הפרטים הבאים:

    • בשדה Connection profile name, מזינים את הערך My Destination Connection Profile.
    • משאירים את הערך שנוצר באופן אוטומטי בשדה Connection profile ID.
    • בוחרים את האזור (Region) שבו רוצים לאחסן את פרופיל החיבור.
    • בחלונית Connection details, לוחצים על Browse כדי לבחור את הקטגוריה של Cloud Storage שיצרתם קודם במדריך הזה. זו הקטגוריה שאליה Datastream מעביר נתונים ממסד הנתונים של המקור. אחרי שבוחרים את האפשרות הרצויה, לוחצים על בחירה.

      הקטגוריה מופיעה בשדה Bucket name בחלונית Connection details.

    • בשדה Connection profile path prefix, מזינים את התחילית של הנתיב שרוצים להוסיף לשם הקטגוריה כש-Datastream מעביר נתונים ליעד. חשוב לוודא ש-Datastream כותב נתונים לנתיב בתוך הקטגוריה, ולא לתיקיית הבסיס של הקטגוריה. במדריך הזה, משתמשים בנתיב שהגדרתם כשיצרתם את התראת Pub/Sub. מזינים /integration/tutorial בשדה.

  5. לוחצים על יצירה.

אחרי שיוצרים פרופיל חיבור למקור בשביל מסד הנתונים ב-MySQL ופרופיל חיבור ליעד בשביל Cloud Storage, אפשר להשתמש בהם כדי ליצור סטרימינג.

יצירת מקור נתונים ב-Datastream

בקטע הזה יוצרים מקור נתונים. הסטרימינג הזה משתמש במידע שבפרופילי החיבור כדי להעביר נתונים ממסד נתונים של MySQL במקור לקטגוריית יעד ב-Cloud Storage.

הגדרת השידור

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

    מעבר לדף "שידורים"

  2. לוחצים על יצירת עדכון תוכן.

  3. בחלונית Define stream details שבדף Create stream, מזינים את הפרטים הבאים:

    • בשדה שם מקור הנתונים, מזינים My Stream.
    • משאירים את מזהה השידור שנוצר באופן אוטומטי.
    • בתפריט Region, בוחרים את האזור שבו יצרתם את פרופילי החיבור של המקור והיעד.
    • בתפריט Source type, בוחרים את סוג הפרופיל MySQL.
    • בתפריט Destination type, בוחרים את סוג הפרופיל Cloud Storage.
  4. בודקים את דרישות הקדם שנוצרות באופן אוטומטי כדי להבין איך צריך להכין את הסביבה לסטרימינג. הדרישות המוקדמות האלה יכולות לכלול את אופן ההגדרה של מסד הנתונים של המקור ואת אופן החיבור של Datastream לקטגוריית היעד ב-Cloud Storage.

  5. לוחצים על Continue. החלונית Define MySQL connection profile בדף Create stream מופיעה.

מציינים מידע על פרופיל החיבור של המקור

בקטע הזה בוחרים את פרופיל החיבור שיצרתם למסד הנתונים של המקור (פרופיל החיבור של המקור). במדריך הזה, הפרופיל הוא My Source Connection Profile.

  1. בתפריט Source connection profile, בוחרים את פרופיל החיבור למקור של מסד הנתונים ב-MySQL.

  2. לוחצים על Run test כדי לוודא שמסד הנתונים של המקור ו-Datastream יכולים לתקשר זה עם זה.

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

  3. לוחצים על Continue. מופיע החלונית Configure stream source בדף Create stream.

הגדרת מידע על מסד הנתונים של המקור ל-stream

בקטע הזה מגדירים את המידע על מסד הנתונים של המקור ל-stream, על ידי ציון הטבלאות והסכימות במסד הנתונים של המקור ש-Datastream:

  • יכולים להעביר ליעד.
  • מוגבלת להעברה ליעד.

אתם גם קובעים אם Datastream ימלא נתונים היסטוריים, יעביר שינויים שוטפים ליעד או יעביר רק שינויים בנתונים.

  1. בתפריט Objects to include, מציינים את הטבלאות והסכימות במסד הנתונים של המקור ש-Datastream יכול להעביר לתיקייה בקטגוריית היעד ב-Cloud Storage. התפריט נטען רק אם במסד הנתונים יש עד 5,000 אובייקטים.

    במדריך הזה, Datastream צריך להעביר את כל הטבלאות והסכימות. לכן, בוחרים בתפריט את האפשרות All tables from all schemas.

  2. מוודאים שהחלונית Select objects to exclude מוגדרת ל-None. אתם לא רוצים להגביל את Datastream מהעברת טבלאות וסכימות במסד הנתונים של המקור אל Cloud Storage.

  3. מוודאים שהחלונית Choose backfill mode for historical data מוגדרת ל-Automatic. Datastream מעביר את כל הנתונים הקיימים, בנוסף לשינויים בנתונים, מהמקור ליעד.

  4. לוחצים על Continue. מופיע החלונית Define Cloud Storage connection profile בדף Create stream.

בחירת פרופיל חיבור ליעד

בקטע הזה בוחרים את פרופיל החיבור שיצרתם ל-Cloud Storage (פרופיל החיבור של היעד). במדריך הזה, זהו פרופיל החיבור שלי ליעד.

  1. בתפריט Destination connection profile, בוחרים את פרופיל החיבור ליעד ב-Cloud Storage.

  2. לוחצים על Continue. מופיע החלונית Configure stream destination בדף Create stream.

הגדרת מידע על היעד של השידור

בקטע הזה מגדירים את הפרטים של קטגוריית היעד של הסטרימינג. המידע כולל:

  • פורמט הפלט של קבצים שנכתבים ב-Cloud Storage.
  • התיקייה של קטגוריית היעד שאליה Datastream מעביר סכימות, טבלאות ונתונים ממסד הנתונים של המקור.
  1. בשדה Output format, בוחרים את הפורמט של הקבצים שנכתבים ב-Cloud Storage. ‫Datastream תומך בשני פורמטים של פלט: Avro ו-JSON. במדריך הזה, פורמט הקובץ הוא Avro.

  2. לוחצים על Continue. מופיעה החלונית Review stream details and create בדף Create stream.

יצירת השידור

  1. מאמתים את הפרטים של ה-stream ושל פרופילי החיבור של המקור והיעד שבהם ה-stream משתמש כדי להעביר נתונים ממסד נתונים של MySQL במקור לקטגוריית יעד ב-Cloud Storage.

  2. כדי לאמת את מקור הנתונים, לוחצים על הפעלת אימות. באימות של מקור נתונים, Datastream בודק שהמקור מוגדר כמו שצריך, מוודא שהמקור יכול להתחבר גם למקור וגם ליעד, ומאמת את ההגדרה מקצה לקצה של מקור הנתונים.

  3. אחרי שכל בדיקות האימות עוברות, לוחצים על Create.

  4. בתיבת הדו-שיח ליצור מקור נתונים?, לוחצים על יצירה.

התחלת השידור

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

כשמפעילים את ה-stream, ‏Datastream יכול להעביר נתונים, סכימות וטבלאות ממסד הנתונים של המקור אל היעד.

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

    מעבר לדף "שידורים"

  2. מסמנים את התיבה לצד השידור שרוצים להתחיל. במדריך הזה, השם הוא My Stream.

  3. לוחצים על התחלה.

  4. בתיבת הדו-שיח, לוחצים על התחלה. סטטוס השידור משתנה מ-Not started ל-Starting ואז ל-Running.

אחרי שמתחילים סטרימינג, אפשר לוודא ש-Datastream העביר נתונים ממסד הנתונים של המקור ליעד.

אימות השידור

בקטע הזה אתם מוודאים ש-Datastream מעביר את הנתונים מכל הטבלאות של מסד נתונים מסוג MySQL במקור אל התיקייה ‎/integration/tutorial בקטגוריית היעד ב-Cloud Storage.

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

    מעבר לדף "שידורים"

  2. לוחצים על מקור הנתונים שיצרתם. במדריך הזה, השם הוא My Stream.

  3. בדף Stream details, לוחצים על הקישור ‎bucket-name/integration/tutorial, כאשר bucket-name הוא השם שנתתם לקטגוריה של Cloud Storage. הקישור הזה מופיע אחרי השדה Destination write path. הדף Bucket details של Cloud Storage נפתח בכרטיסייה נפרדת.

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

  5. לוחצים על אחת מהתיקיות של הטבלה ואז לוחצים על כל תיקיית משנה עד שרואים נתונים שמשויכים לטבלה.

יצירת משימת Dataflow

בקטע הזה יוצרים משימה ב-Dataflow. אחרי ש-Datastream מעביר בסטרימינג שינויים בנתונים ממסד נתונים של MySQL לקטגוריה של Cloud Storage, ‏Pub/Sub שולח התראות ל-Dataflow על קבצים חדשים שמכילים את השינויים. משימת Dataflow מעבדת את הקבצים ומעבירה את השינויים ל-BigQuery.

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

    כניסה לדף Jobs

  2. לוחצים על Create job from template.

  3. בשדה Job name בדף Create job from template, נותנים שם למשימת Dataflow שיוצרים. במדריך הזה, מזינים בשדה את הערך my-dataflow-integration-job.

  4. בתפריט Regional endpoint, בוחרים את האזור שבו רוצים לאחסן את המשימה. זהו אותו אזור שבחרתם לפרופיל החיבור של המקור, לפרופיל החיבור של היעד ולהעברה שיצרתם.

  5. בתפריט Dataflow template, בוחרים את התבנית שבה משתמשים כדי ליצור את המשימה. במדריך הזה, בוחרים באפשרות Datastream to BigQuery.

    אחרי שבוחרים בתבנית הזו, מופיעים שדות נוספים שקשורים אליה.

  6. בשדה File location for Datastream file output in Cloud Storage., מזינים את השם של קטגוריה של Cloud Storage בפורמט הבא: gs://bucket-name.

  7. בשדה Pub/Sub subscription being used in a Cloud Storage notification policy., מזינים את הנתיב שמכיל את השם של המינוי ל-Pub/Sub. במדריך הזה, מזינים את הערך projects/project-name/subscriptions/my_integration_notifs_sub.

    ‫
  8. בשדה Datastream output file format (avro/json)., מזינים avro כי במדריך הזה, Avro הוא פורמט הקובץ של הקבצים ש-Datastream כותב ב-Cloud Storage.

  9. בשדה Name or template for the dataset to contain staging tables., מזינים את הערך My_integration_dataset_log כי Dataflow משתמש במערך הנתונים הזה כדי להעביר את השינויים בנתונים שהוא מקבל מ-Datastream.

  10. בשדה Template for the dataset to contain replica tables., מזינים My_integration_dataset_final כי זהו מערך הנתונים שבו השינויים שמוכנים במערך הנתונים My_integration_dataset_log מתמזגים כדי ליצור רפליקה של אחד לאחד של הטבלאות במסד הנתונים של המקור.

  11. בשדה Dead letter queue directory., מזינים את הנתיב שמכיל את השם של קטגוריה נפרדת של Cloud Storage ותיקייה לתור של הודעות שלא נמסרו. חשוב לוודא שאתם לא משתמשים בנתיב בתיקיית הבסיס, ושהנתיב שונה מהנתיב שאליו Datastream כותב נתונים. כל שינוי בנתונים ש-Dataflow לא מצליח להעביר ל-BigQuery נשמר בתור. אתם יכולים לתקן את התוכן בתור כדי ש-Dataflow יוכל לעבד אותו מחדש.

    במדריך הזה, מזינים את הערך gs://dlq-bucket-name/dlq בשדה Dead letter queue directory (כאשר dlq-bucket-name הוא השם של הקטגוריה ב-Cloud Storage שמיועדת לתור ההודעות הנטושות, ו-dlq היא התיקייה של תור ההודעות הנטושות).

  12. לוחצים על הפעלת המשימה.

אימות השילוב

בקטע אימות הסטרימינג במדריך הזה, אישרתם ש-Datastream העביר את הנתונים מכל הטבלאות של מסד נתונים מסוג MySQL במקור אל התיקייה ‎/integration/tutorial בקטגוריית היעד ב-Cloud Storage.

בקטע הזה, אתם מוודאים ש-Dataflow מעבד את הקבצים שמכילים שינויים שמשויכים לנתונים האלה, ומעביר את השינויים ל-BigQuery. כתוצאה מכך, יש לכם שילוב מקצה לקצה בין Datastream ל-BigQuery.

  1. במסוף Google Cloud , נכנסים לדף SQL workspace של BigQuery.

    כניסה לדף SQL workspace

  2. בחלונית Explorer, מרחיבים את הצומת לצד שם הפרויקט ב- Google Cloud .

  3. מרחיבים את הצמתים לצד מערכי הנתונים My_integration_dataset_log ו-My_integration_dataset_final.

  4. מוודאים שכל מערך נתונים מכיל עכשיו נתונים. כך אפשר לוודא ש-Dataflow עיבד את הקבצים שמכילים שינויים שמשויכים לנתונים ש-Datastream העביר ל-Cloud Storage, והעביר את השינויים האלה ל-BigQuery.

הסרת המשאבים

כדי להימנע מצבירת חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים לבצע את הפעולות הבאות במסוף Google Cloud :

  • מוחקים את הפרויקט, את הסטרימינג של Datastream ואת פרופילי החיבור של Datastream.
  • עוצרים את המשימה ב-Dataflow.
  • מוחקים את מערכי הנתונים ב-BigQuery, את הנושא והמינוי ב-Pub/Sub ואת הקטגוריה של Cloud Storage.

כדי שהמשאבים שיצרתם ב-Datastream, ב-Dataflow, ב-BigQuery, ב-Pub/Sub וב-Cloud Storage לא יתפסו מקום במכסה ולא תחויבו עליהם בעתיד, חשוב לנקות אותם.

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

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

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

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.

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

מחיקת השידור

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

    מעבר לדף "שידורים"

  2. לוחצים על מקור הנתונים שרוצים למחוק. במדריך הזה, השם הוא My Stream.

  3. לוחצים על השהיה.

  4. בתיבת הדו-שיח, לוחצים על השהיה.

  5. בחלונית Stream status בדף Stream details, מוודאים שהסטטוס של מקור הנתונים הוא Paused.

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

  7. בתיבת הדו-שיח, בשדה הטקסט, מזינים Delete ולוחצים על מחיקה.

מחיקת פרופילי החיבורים

  1. במסוף Google Cloud , נכנסים לדף Connection profiles של Datastream.

    כניסה לדף Connection profiles

  2. מסמנים את התיבה של כל פרופיל חיבור שרוצים למחוק: My Source Connection Profile ו-My Destination Connection Profile.

  3. לוחצים על Delete.

  4. בתיבת הדו-שיח, לוחצים על מחיקה.

עצירת המשימה ב-Dataflow

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

    כניסה לדף Jobs

  2. לוחצים על המשימה שרוצים לעצור. במדריך הזה, שם המשימה הוא my-dataflow-integration-job.

  3. לוחצים על הפסקה.

  4. בתיבת הדו-שיח Stop job, בוחרים באפשרות Drain ולוחצים על Stop job.

מחיקת מערכי הנתונים ב-BigQuery

  1. במסוף Google Cloud , נכנסים לדף SQL workspace של BigQuery.

    כניסה לדף SQL workspace

  2. בחלונית Explorer, מרחיבים את הצומת לצד שם הפרויקט ב- Google Cloud .

  3. לוחצים על הכפתור View actions מימין לאחד ממערכי הנתונים שיצרתם בקטע יצירת מערכי נתונים ב-BigQuery. הכפתור הזה נראה כמו שלוש נקודות אנכיות.

    במדריך הזה, לוחצים על הכפתור View actions שמשמאל ל-My_integration_dataset_log.

  4. בתפריט הנפתח שמופיע, לוחצים על מחיקה.

  5. בתיבת הדו-שיח Delete dataset?‎, מזינים את הערך delete בשדה הטקסט ולוחצים על Delete.

  6. חוזרים על השלבים בתהליך הזה כדי למחוק את מערך הנתונים השני שיצרתם: My_integration_dataset_final.

מחיקת המינוי והנושא ב-Pub/Sub

  1. נכנסים לדף Subscriptions של Pub/Sub במסוף Google Cloud .

    לדף "מינויים"

  2. לוחצים על תיבת הסימון לצד המינוי שרוצים למחוק. במדריך הזה, מסמנים את התיבה לצד המינוי my_integration_notifs_sub.

  3. לוחצים על Delete.

  4. בתיבת הדו-שיח Delete subscription, לוחצים על Delete.

  5. נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .

    כניסה לדף Topics

  6. מסמנים את התיבה לצד הנושא my_integration_notifs.

  7. לוחצים על Delete.

  8. בתיבת הדו-שיח Delete topic, מזינים את הערך delete בשדה הטקסט ולוחצים על Delete.

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

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

    כניסה לדף Browser

  2. מסמנים את התיבה ליד הקטגוריה.

  3. לוחצים על Delete.

  4. בתיבת הדו-שיח, מזינים Delete בשדה הטקסט ולוחצים על מחיקה.

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