התבנית Cloud Storage Avro to Bigtable היא צינור שקורא נתונים מקובצי Avro בקטגוריה של Cloud Storage וכותב את הנתונים לטבלת Bigtable. אפשר להשתמש בתבנית כדי להעתיק נתונים מ-Cloud Storage ל-Bigtable.
הדרישות לגבי צינורות עיבוד נתונים
- הטבלה ב-Bigtable צריכה להתקיים ולכלול את אותן משפחות עמודות כמו אלה שיוצאו בקובצי ה-Avro.
- קבצי ה-Avro של הקלט צריכים להיות בקטגוריה של Cloud Storage לפני שמריצים את צינור העיבוד.
- Bigtable מצפה ל סכימה ספציפית מקובצי ה-Avro של הקלט.
פרמטרים של תבניות
פרמטרים נדרשים
- bigtableProjectId: המזהה של הפרויקט ב-Google Cloud שמכיל את מופע Bigtable שאליו רוצים לכתוב נתונים.
- bigtableInstanceId: המזהה של מכונת Bigtable שמכילה את הטבלה.
- bigtableTableId: המזהה של טבלת Bigtable לייבוא.
- inputFilePattern: תבנית הנתיב ב-Cloud Storage שבה נמצאים הנתונים. לדוגמה,
gs://<BUCKET_NAME>/FOLDER/PREFIX*.
פרמטרים אופציונליים
- splitLargeRows: הדגל להפעלת פיצול של שורות גדולות לכמה בקשות MutateRows. חשוב לזכור שכאשר שורה גדולה מפולחת בין כמה קריאות API, העדכונים לשורה לא מתבצעים באופן אטומי.
הפעלת התבנית
המסוף
- עוברים לדף Dataflow Create job from template (יצירת משימה מתבנית). כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא
us-central1.רשימת האזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית של העברת נתונים), בוחרים באפשרות the Avro Files on Cloud Storage to Cloud Bigtable template.
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שבה רוצים להשתמשאפשר להשתמש בערכים הבאים:
-
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates-REGION_NAME/latest/ - שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית, שאפשר למצוא אותה בתיקיית האב המתאימה עם התאריך בדלי – gs://dataflow-templates-REGION_NAME/
-
-
REGION_NAME: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
BIGTABLE_PROJECT_ID: המזהה של Google Cloud הפרויקט של מופע Bigtable שממנו רוצים לקרוא נתונים -
INSTANCE_ID: המזהה של מופע Bigtable שמכיל את הטבלה -
TABLE_ID: המזהה של טבלת Bigtable לייצוא -
INPUT_FILE_PATTERN: תבנית הנתיב ב-Cloud Storage שבה נמצאים הנתונים, לדוגמה,gs://mybucket/somefolder/prefix*
API
כדי להריץ את התבנית באמצעות API בארכיטקטורת REST, שולחים בקשת HTTP POST. מידע נוסף על ה-API ועל היקפי ההרשאות שלו זמין במאמר projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים להריץ את משימת Dataflow Google Cloud -
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שבה רוצים להשתמשאפשר להשתמש בערכים הבאים:
-
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates-REGION_NAME/latest/ - שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית, שאפשר למצוא אותה בתיקיית האב המתאימה עם התאריך בדלי – gs://dataflow-templates-REGION_NAME/
-
-
LOCATION: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
BIGTABLE_PROJECT_ID: המזהה של Google Cloud הפרויקט של מופע Bigtable שממנו רוצים לקרוא נתונים -
INSTANCE_ID: המזהה של מופע Bigtable שמכיל את הטבלה -
TABLE_ID: המזהה של טבלת Bigtable לייצוא -
INPUT_FILE_PATTERN: תבנית הנתיב ב-Cloud Storage שבה נמצאים הנתונים, לדוגמה,gs://mybucket/somefolder/prefix*