יצירה ועדכון של מוני נתונים ב-Bigtable

איך יוצרים ועדכנים מוני נתונים ב-Bigtable באמצעות צבירות, תאים בטבלה שמצבירים ערכים בזמן הכתיבה. במדריך למתחילים הזה משתמשים במסוףCloud de Confiance , ב-Google Cloud CLI או ב-cbt CLI כדי ליצור את המונים הבאים:

  • מונה שמציג סכום מצטבר
  • מונה שעוקב אחרי הערך המינימלי מכל הערכים שנוספו
  • מונה שעוקב אחרי הערך המקסימלי מכל הערכים שנוספו

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

  1. התקינו את ה-CLI של Google Cloud.

  2. הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.

    איך נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת?

  3. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  4. אחרי שתאתחלו את ה-CLI של gcloud, עדכנו אותו והתקינו את הרכיבים הנדרשים:

    gcloud components update
    gcloud components install cbt
  5. יוצרים או בוחרים Cloud de Confiance פרויקט.

    תפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
    • יוצרים Cloud de Confiance פרויקט:

      gcloud projects create PROJECT_ID

      מחליפים את PROJECT_ID בשם של פרויקט Cloud de Confiance שיוצרים.

    • בוחרים את הפרויקט שיצרתם: Cloud de Confiance

      gcloud config set project PROJECT_ID

      מחליפים את PROJECT_ID בשם הפרויקט ב- Cloud de Confiance .

  6. מוודאים שהחיוב מופעל בפרויקט Cloud de Confiance .

  7. מפעילים את Cloud Bigtable API ואת Cloud Bigtable Admin API, אם הם עדיין לא מופעלים:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  8. מריצים את הפקודות הבאות כדי לוודא ש-CLI של gcloud מעודכן וכולל את cbt CLI:
    gcloud components update
    gcloud components install cbt

יצירת מכונה של Bigtable

המסוף

  1. נכנסים לדף Create instance במסוף Cloud de Confiance .

    כניסה לדף Create instance

  2. בשדה Instance name (שם המופע), מזינים את הערך Counters quickstart instance.

  3. בשדה Instance ID (מזהה המופע), מזינים את הערך counters-quickstart-instance.

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

  5. בקטע בחירת מהדורה, בוחרים באפשרות Enterprise.

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

  7. בקטע Storage type, בוחרים באפשרות SSD.

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

  9. בשדה Cluster ID (מזהה האשכול), מזינים counters-quickstart-cluster.

  10. ברשימה Region בוחרים באפשרות us-east1 (South Carolina).

  11. ברשימה Zone בוחרים באפשרות us-east1-c.

  12. בקטע 'שינוי גודל הצומת', בוחרים באפשרות שינוי גודל אוטומטי ומבצעים את הפעולות הבאות:

    1. במספר המינימלי של הצמתים, מזינים 1.
    2. בשדה 'מספר הצמתים המקסימלי', מזינים 3.
  13. לוחצים על יצירה כדי ליצור את המופע.

gcloud

  1. משתמשים בפקודה bigtable instances create כדי ליצור מכונה.

    gcloud bigtable instances create counters-quickstart-instance \
        --display-name="Counters quickstart instance" \
        --edition=ENTERPRISE \
        --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"
    

התחברות למכונה

  1. כדי להגדיר את cbt CLI כך שישתמש בפרויקט ובמופע שלכם, צריך ליצור קובץ .cbtrc.

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrc
    

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

  2. מוודאים שהגדרתם את הקובץ .cbtrc בצורה נכונה.

    cat ~/.cbtrc
    

    במסוף מוצג התוכן של הקובץ .cbtrc, שנראה כך:

    project = PROJECT_ID
    instance = counters-quickstart-instance

    עכשיו אפשר להשתמש ב-cbt CLI עם המופע.

יצירת טבלה עם משפחות עמודות מצטברות

המסוף

  1. בחלונית הניווט הימנית של Cloud de Confiance מסוף, לוחצים על Tables (טבלאות).

  2. לוחצים על יצירת טבלה.

  3. בשדה Table ID (מזהה הטבלה), מזינים את הערך counters_quickstart_table.

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

    • sum_family:

      1. בשדה Column family name (שם קבוצת העמודות), מזינים sum_family.
      2. בקטע Column family type (סוג קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
      3. ברשימה Aggregator, בוחרים באפשרות Sum.
      4. במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
      5. לוחצים על סיום.
    • min_family:

      1. בשדה Column family name (שם קבוצת העמודות), מזינים min_family.
      2. בקטע Column family type (סוג קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
      3. ברשימה Aggregator, בוחרים באפשרות Min.
      4. במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
      5. לוחצים על סיום.
    • max_family:

      1. בשדה Column family name (שם קבוצת העמודות), מזינים max_family.
      2. בקטע Column family type (סוג קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
      3. ברשימה Aggregator בוחרים באפשרות Max.
      4. במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
      5. לוחצים על סיום.
  5. לוחצים על יצירה.

  6. כדי לראות את משפחות העמודות החדשות ואת הגדרות הצבירה שלהן:

    1. בתפריט הניווט, לוחצים על Bigtable Studio.
    2. בעץ Object Explorer בצד ימין, מרחיבים את Tables, ואז מרחיבים את counters_quickstart_table ואת Column Families.

cbt

  1. משתמשים בפקודה cbt createtable כדי ליצור טבלה בשם counters_quickstart_table עם שלוש משפחות של עמודות מצטברות. מגדירים לכל קבוצת עמודות סוג צבירה שונה:

    • סוג הנתונים של קבוצת העמודות max_family הוא Max, וסוג הקלט הוא Int64.
    • סוג הנתונים של קבוצת העמודות min_family הוא Min, וסוג הקלט הוא Int64.
    • קבוצת העמודות sum_family היא מסוג Sum עם סוג קלט של Int64.
    cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
    
  2. מריצים את הפקודה cbt ls כדי לראות את רשימת העמודות.

    cbt ls counters_quickstart_table
    

    הפלט שמוצג במעטפת אמור להיראות כך:

    Family Name     GC Policy
    -----------     ---------
    max_family      <never>
    min_family      <never>
    sum_family      <never>
    

יצירת מונה בטבלה

  1. משתמשים בפקודה cbt addtocell כדי לכתוב ערך ראשוני של 5 בעמודה חדשה בכל אחת משלוש משפחות העמודות, באמצעות מפתח שורה של row-key1 וחותמת זמן של 0. הפעולה הזו יוצרת תאים מצטברים, שמשמשים כדלפקים.

    cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=5@0
    cbt addtocell counters_quickstart_table row-key1 min_family:min_column=5@0
    cbt addtocell counters_quickstart_table row-key1 max_family:max_column=5@0
    

קריאת הנתונים

אפשר לקרוא את הנתונים מהטבלה על ידי שליחת שאילתה באמצעות SQL במסוף Cloud de Confiance או באמצעות cbt CLI.

שליחת שאילתה לטבלה במסוף Cloud de Confiance באמצעות SQL

  1. במסוף Cloud de Confiance , פותחים את הדף Bigtable instances.

    כניסה לרשימת המקרים

  2. בוחרים באפשרות counters-quickstart-instance מהרשימה.

  3. בתפריט הניווט, לוחצים על Bigtable Studio.

  4. לוחצים על הכרטיסייה עורך.

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

    SELECT * FROM `counters_quickstart_table`
    
  6. לוחצים על Run. תוצאות השאילתה מופיעות בטבלה Results ונראות בערך כך:

    _key max_family min_family sum_family
    row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 5 }

קריאה באמצעות ‫cbt CLI

  1. כדי להציג את ערכי המונה כמספרים שלמים ולא כבייטים, צריך להגדיר קובץ YAML שבו ה-CLI של cbt יכול להשתמש כדי לעצב את הפלט. מריצים את הפקודה הבאה:

    echo "families:" > ~/cbtformat.yaml
    echo "  max_family:" >> ~/cbtformat.yaml
    echo "    default_encoding: BigEndian" >> ~/cbtformat.yaml
    echo "    default_type: INT64" >> ~/cbtformat.yaml
    echo "  min_family:" >> ~/cbtformat.yaml
    echo "    default_encoding: BigEndian" >> ~/cbtformat.yaml
    echo "    default_type: INT64" >> ~/cbtformat.yaml
    echo "  sum_family:" >> ~/cbtformat.yaml
    echo "    default_encoding: BigEndian" >> ~/cbtformat.yaml
    echo "    default_type: INT64" >> ~/cbtformat.yaml
    
  2. מוודאים שהגדרתם את הקובץ cbtformat.yaml בצורה נכונה.

    cat ~/cbtformat.yaml
    

    במסוף מוצג התוכן של הקובץ cbtformat.yaml, שנראה כך:

    families:
      max_family:
        default_encoding: BigEndian
        default_type: INT64
      min_family:
        default_encoding: BigEndian
        default_type: INT64
      sum_family:
        default_encoding: BigEndian
        default_type: INT64
    
  3. משתמשים בפקודה cbt read כדי להעביר את קובץ ה-YAML ולקרוא את הנתונים שהוספתם לטבלה. עכשיו בטבלה יש שלוש עמודות, ולכל אחת מהן יש סוג צבירה שונה.

    cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
    

    הפלט שמוצג ב-Shell אמור להיראות כך: הערכים מפורמטים כמספרים שלמים, וחותמות הזמן הן בפורמט UTC.

    row-key1
      max_family:max_column                    @ 1970/01/01-00:00:00.000000
        5
      min_family:min_column                    @ 1970/01/01-00:00:00.000000
        5
      sum_family:sum_column                    @ 1970/01/01-00:00:00.000000
        5
    

עדכון המונים

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

    cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=3@0
    cbt addtocell counters_quickstart_table row-key1 min_family:min_column=3@0
    cbt addtocell counters_quickstart_table row-key1 max_family:max_column=3@0
    
  2. משתמשים שוב בפקודה cbt read כדי לקרוא את הנתונים בטבלה. כל תא מכיל עכשיו ערך מצטבר.

    cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
    

    התא sum_column מכיל את הסכום של 5 ו-3 (8), התא min_column מכיל את הערך המינימלי מבין שני הערכים שנכתבו בו (3), והתא max_column מכיל את הערך המקסימלי מבין שני הערכים שנכתבו בו (5).

    row-key1
      max_family:max_column                    @ 1970/01/01-00:00:00.000000
        5
      min_family:min_column                    @ 1970/01/01-00:00:00.000000
        3
      sum_family:sum_column                    @ 1970/01/01-00:00:00.000000
        8
    

הסרת המשאבים

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

המסוף

  1. מוחקים את הטבלה counters_quickstart_table:

    1. נכנסים לדף Bigtable instances במסוף Cloud de Confiance .

      כניסה לרשימת המקרים

    2. ברשימת המכונות, לוחצים על Counters quickstart instance.

    3. בחלונית הניווט שמשמאל, לוחצים על Tables (טבלאות).

    4. לוחצים על ליד counters_quickstart_table ואז על מחיקה.

    5. מזינים counters_quickstart_table כדי לאשר, ואז לוחצים על מחיקה.

  2. מוחקים את המכונה:

    1. נכנסים לדף Bigtable instances במסוף Cloud de Confiance .

      כניסה לרשימת המקרים

    2. לוחצים על Counters quickstart instance (מופע של מדריך למתחילים בנושא מוניטורים).

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

    4. מזינים counters-quickstart-instance כדי לאשר, ואז לוחצים על מחיקה.

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

    1. מוחקים את הקובץ .cbtrc:

      rm ~/.cbtrc
      
    2. מוחקים את קובץ העיצוב:

      rm ~/cbtformat.yaml
      
    3. אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:

      gcloud auth revoke
      

cbt

  1. במסוף, מוחקים את הטבלה counters_quickstart_table:

    cbt deletetable counters_quickstart_table
    
  2. מוחקים את המכונה:

    cbt deleteinstance counters-quickstart-instance
    
  3. מוחקים את הקובץ .cbtrc:

    rm ~/.cbtrc
    
  4. מוחקים את קובץ העיצוב:

    rm ~/cbtformat.yaml
    
  5. אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:

    gcloud auth revoke
    

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