יצירה ועדכון של מוניטורים ב-Bigtable
במאמר הזה מוסבר איך ליצור ולעדכן מונים ב-Bigtable באמצעות aggregates, תאים בטבלה שמצטברים בהם ערכים בזמן הכתיבה. במדריך למתחילים הזה משתמשים במסוףGoogle Cloud , ב-Google Cloud CLI או ב-cbt CLI כדי ליצור את המונים הבאים:
- מונה שמציג סכום מצטבר
- מונה שעוקב אחרי הערך המינימלי מבין כל הערכים שנוספו
- מונה שעוקב אחרי הערך המקסימלי מכל הערכים שנוספו
לפני שמתחילים
-
נכנסים לחשבון Google.
אם עדיין אין חשבון, יוצרים חשבון חדש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
אחרי שתאתחלו את ה-CLI של gcloud, עדכנו אותו והתקינו את הרכיבים הנדרשים:
gcloud components update gcloud components install cbt
-
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את 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 -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
אחרי שתאתחלו את ה-CLI של gcloud, עדכנו אותו והתקינו את הרכיבים הנדרשים:
gcloud components update gcloud components install cbt
-
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את 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 - מריצים את הפקודות הבאות כדי לוודא ש-CLI של gcloud מעודכן וכולל את
cbtCLI:gcloud components updategcloud components install cbt
יצירת מכונה של Bigtable
המסוף
נכנסים לדף Create instance במסוף Google Cloud .
בשדה Instance name, מזינים
Counters quickstart instance.בשדה Instance ID (מזהה המופע), מזינים את הערך
counters-quickstart-instance.לוחצים על Continue.
בקטע בחירת מהדורה, בוחרים באפשרות Enterprise.
לוחצים על Continue.
בקטע Storage type בוחרים באפשרות SSD.
לוחצים על Continue.
בשדה Cluster ID (מזהה האשכול), מזינים
counters-quickstart-cluster.ברשימה Region בוחרים באפשרות us-east1 (South Carolina).
ברשימה Zone בוחרים באפשרות us-east1-c.
בקטע 'שינוי גודל הצומת', בוחרים באפשרות שינוי גודל אוטומטי ומבצעים את הפעולות הבאות:
- במספר המינימלי של הצמתים, מזינים
1. - כדי להזין את המספר המקסימלי של צמתים, מזינים
3.
- במספר המינימלי של הצמתים, מזינים
לוחצים על יצירה כדי ליצור את המופע.
gcloud
משתמשים בפקודה
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"
התחברות למכונה
כדי להגדיר את ה-CLI של
cbtכך שישתמש בפרויקט ובמופע שלכם, צריך ליצור קובץ.cbtrc.echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrcמחליפים את PROJECT_ID במזהה הפרויקט שבו אתם משתמשים.
מוודאים שהגדרתם את הקובץ
.cbtrcבצורה נכונה.cat ~/.cbtrcבמסוף מוצג התוכן של הקובץ
.cbtrc, שנראה כך:project = PROJECT_ID instance = counters-quickstart-instance
עכשיו אפשר להשתמש ב-
cbtCLI עם המופע.
יצירת טבלה עם משפחות עמודות מצטברות
המסוף
בחלונית הניווט הימנית של Google Cloud המסוף, לוחצים על Tables (טבלאות).
לוחצים על יצירת טבלה.
בשדה Table ID (מזהה הטבלה), מזינים את הערך
counters_quickstart_table.בקטע Column families (משפחות עמודות), לוחצים על Add a column family (הוספת משפחת עמודות) עבור כל משפחת עמודות שרוצים להוסיף ומזינים את ההגדרות הבאות:
sum_family:- בשדה Column family name (שם קבוצת העמודות), מזינים
sum_family. - בקטע Column family type (סוג של קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
- ברשימה Aggregator, בוחרים באפשרות Sum.
- במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
- לוחצים על סיום.
- בשדה Column family name (שם קבוצת העמודות), מזינים
min_family:- בשדה Column family name (שם קבוצת העמודות), מזינים
min_family. - בקטע Column family type (סוג של קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
- ברשימה Aggregator, בוחרים באפשרות Min.
- במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
- לוחצים על סיום.
- בשדה Column family name (שם קבוצת העמודות), מזינים
max_family:- בשדה Column family name (שם קבוצת העמודות), מזינים
max_family. - בקטע Column family type (סוג של קבוצת עמודות), בוחרים באפשרות Aggregate (מצטבר).
- ברשימה Aggregator בוחרים באפשרות Max.
- במקטע הגדר מדיניות איסוף אשפה , בחר לעולם אל תאסוף אשפה .
- לוחצים על סיום.
- בשדה Column family name (שם קבוצת העמודות), מזינים
לוחצים על יצירה.
כדי לראות את משפחות העמודות החדשות ואת התצורות המצטברות שלהן:
- בתפריט הניווט, לוחצים על Bigtable Studio.
- בעץ Object Explorer בצד ימין, מרחיבים את Tables, ואז מרחיבים את
counters_quickstart_tableואת Column Families.
cbt
משתמשים בפקודה
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- קבוצת עמודות
מריצים את הפקודה
cbt lsכדי לראות את רשימת העמודות.cbt ls counters_quickstart_tableהפלט שמוצג במעטפת אמור להיראות כך:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>
יצירת מוני נתונים בטבלה
משתמשים בפקודה
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 במסוף Google Cloud או באמצעות cbt CLI.
הפעלת שאילתה בטבלה במסוף Google Cloud באמצעות SQL
במסוף Google Cloud , פותחים את הדף Bigtable instances.
בוחרים באפשרות
counters-quickstart-instanceמהרשימה.בתפריט הניווט, לוחצים על Bigtable Studio.
לוחצים על הכרטיסייה עורך.
מדביקים את השאילתה הזו בעורך:
SELECT * FROM `counters_quickstart_table`לוחצים על Run. תוצאות השאילתה מופיעות בטבלה Results ונראות כך:
_key max_family min_family sum_family row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 5 }
קריאה באמצעות
cbt CLI
כדי להציג את ערכי המונה כמספרים שלמים ולא כבייטים, צריך להגדיר קובץ YAML שבו אפשר להשתמש בפקודה
cbtב-CLI כדי לעצב את הפלט. מריצים את הפקודה הבאה: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מוודאים שהגדרתם את הקובץ
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כדי להעביר את קובץ ה-YAML ולקרוא את הנתונים שהוספתם לטבלה, משתמשים בפקודה
cbt read. עכשיו בטבלה יש שלוש עמודות, ולכל אחת מהן יש סוג צבירה שונה.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
עדכון המונים
מוסיפים ערך של 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משתמשים שוב בפקודה
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
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט Google Cloud יחד עם המשאבים.
המסוף
מוחקים את הטבלה
counters_quickstart_table:נכנסים לדף Bigtable instances במסוף Google Cloud .
ברשימת המכונות, לוחצים על Counters quickstart instance.
בחלונית הניווט הימנית, לוחצים על טבלאות.
לוחצים על לצד
counters_quickstart_tableואז על מחיקה.מזינים
counters_quickstart_tableכדי לאשר, ואז לוחצים על מחיקה.
מוחקים את המכונה:
נכנסים לדף Bigtable instances במסוף Google Cloud .
לוחצים על Counters quickstart instance (מופע של מדדים להפעלה מהירה).
לוחצים על מחיקת מופע.
מזינים
counters-quickstart-instanceכדי לאשר, ואז לוחצים על מחיקה.
בטרמינל, מוחקים את קובצי ההגדרות ואת פרטי הכניסה האופציונליים:
מוחקים את הקובץ
.cbtrc:rm ~/.cbtrcמחיקת קובץ העיצוב:
rm ~/cbtformat.yamlאם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:
gcloud auth revoke
cbt
בטרמינל, מוחקים את הטבלה
counters_quickstart_table:cbt deletetable counters_quickstart_tableמוחקים את המכונה:
cbt deleteinstance counters-quickstart-instanceמוחקים את הקובץ
.cbtrc:rm ~/.cbtrcמחיקת קובץ העיצוב:
rm ~/cbtformat.yamlאם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud:
gcloud auth revoke