תבנית Cloud Storage SequenceFile ל-Bigtable

התבנית Cloud Storage SequenceFile to Bigtable היא פייפליין שקורא נתונים מקובצי SequenceFile בקטגוריה של Cloud Storage וכותב את הנתונים לטבלת Bigtable. אפשר להשתמש בתבנית כדי להעתיק נתונים מ-Cloud Storage ל-Bigtable.

הדרישות לגבי צינורות עיבוד נתונים

  • הטבלה ב-Bigtable חייבת להתקיים.
  • קבצי SequenceFile של הקלט צריכים להיות בקטגוריה של Cloud Storage לפני שמריצים את צינור העיבוד.
  • קובצי SequenceFiles של הקלט חייבים להיות קבצים שיוצאו מ-Bigtable או מ-HBase.

פרמטרים של תבניות

פרמטרים נדרשים

  • bigtableProject: המזהה של פרויקט בענן של Google שמכיל את מופע Bigtable שאליו רוצים לכתוב נתונים.
  • bigtableInstanceId: המזהה של מכונת Bigtable שמכילה את הטבלה.
  • bigtableTableId: המזהה של טבלת Bigtable לייבוא.
  • sourcePattern: תבנית הנתיב ב-Cloud Storage למיקום הנתונים. לדוגמה, gs://your-bucket/your-path/prefix*.

פרמטרים אופציונליים

  • bigtableAppProfileId: המזהה של פרופיל האפליקציה ב-Bigtable שבו רוצים להשתמש לייבוא. אם לא מציינים פרופיל אפליקציה, Bigtable משתמש בפרופיל האפליקציה שמוגדר כברירת מחדל במופע (https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile).
  • mutationThrottleLatencyMs: אופציונלי. הגדרה של הגבלת זמן האחזור של מוטציה (הפעלת התכונה). הערך באלפיות השנייה. ברירת המחדל היא 0.

הרצת התבנית

המסוף

  1. עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow.
  2. כניסה לדף Create job from template
  3. בשדה שם המשימה, מזינים שם ייחודי למשימה.
  4. אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא us-central1.

    רשימה של אזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.

  5. בתפריט הנפתח Dataflow template (תבנית Dataflow), בוחרים בתבנית SequenceFile Files on Cloud Storage to Cloud Bigtable (קבצי SequenceFile ב-Cloud Storage אל Cloud Bigtable).
  6. בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
  7. לוחצים על הפעלת העבודה.

gcloud

במעטפת או בטרמינל, מריצים את התבנית:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_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 לייצוא
  • APPLICATION_PROFILE_ID: המזהה של פרופיל האפליקציה של Bigtable שישמש לייצוא
  • SOURCE_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_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "sourcePattern": "SOURCE_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 לייצוא
  • APPLICATION_PROFILE_ID: המזהה של פרופיל האפליקציה של Bigtable שישמש לייצוא
  • SOURCE_PATTERN: תבנית הנתיב ב-Cloud Storage שבה נמצאים הנתונים, לדוגמה, gs://mybucket/somefolder/prefix*

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