תבנית Cloud Storage Parquet ל-Bigtable

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

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

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

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

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

  • ‫bigtableProjectId: מזהה הפרויקט ב-Google Cloud שמשויך למופע Bigtable.
  • ‫bigtableInstanceId: המזהה של מכונת Cloud Bigtable שמכילה את הטבלה.
  • ‫bigtableTableId: המזהה של טבלת Bigtable לייבוא.
  • ‫inputFilePattern: הנתיב ב-Cloud Storage עם הקבצים שמכילים את הנתונים. לדוגמה, gs://your-bucket/your-files/*.parquet.

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

  • ‫splitLargeRows: הדגל להפעלת פיצול של שורות גדולות לכמה בקשות MutateRows. שימו לב: כששורה גדולה מפולגת בין כמה קריאות API, העדכונים בשורה לא אטומיים.

הרצת התבנית

המסוף

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

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

  5. בתפריט הנפתח תבנית Dataflow, בוחרים בתבנית קובצי Parquet ב-Cloud Storage ל-Cloud Bigtable.
  6. בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
  7. לוחצים על הפעלת העבודה.

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Parquet_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/latest/
    • שם הגרסה, כמו 2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
  • ‫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/VERSION/GCS_Parquet_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: מזהה הפרויקט שבו רוצים להריץ את משימת Google Cloud Dataflow
  • ‫JOB_NAME: שם ייחודי של המשימה לפי בחירתכם
  • ‫VERSION: הגרסה של התבנית שרוצים להשתמש בה

    אפשר להשתמש בערכים הבאים:

    • latest כדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/
    • שם הגרסה, כמו 2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
  • ‫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*

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