התבנית הזו יוצרת צינור סטרימינג כדי להזרים רשומות של שינויים בנתוני Bigtable ולכתוב אותן ל-Vertex AI Vector Search באמצעות Dataflow Portable Runner.
הדרישות לגבי צינורות
- צריך לוודא שמופע המקור של Bigtable קיים.
- טבלת המקור ב-Bigtable צריכה להתקיים, וצריך להפעיל בטבלה את סנכרון השינויים בזרמי נתונים.
- פרופיל האפליקציה של Bigtable חייב להתקיים.
- נתיב אינדקס החיפוש הווקטורי חייב להתקיים.
פרמטרים של תבניות
פרמטרים נדרשים
- embeddingColumn: השם המוגדר במלואו של העמודה שבה מאוחסנים ההטמעות. בפורמט cf:col.
- embeddingByteSize: גודל הבייט של כל רשומה במערך ההטמעות. משתמשים ב-4 ל-Float וב-8 ל-Double. ברירת המחדל היא 4.
- vectorSearchIndex: האינדקס ב-Vector Search שאליו יועברו השינויים בסטרימינג, בפורמט 'projects/{projectID}/locations/{region}/indexes/{indexID}' (ללא רווחים מובילים או נגררים). לדוגמה,
projects/123/locations/us-east1/indexes/456. - bigtableChangeStreamAppProfile: מזהה פרופיל האפליקציה של Bigtable. פרופיל האפליקציה צריך להשתמש בניתוב של אשכול יחיד ולאפשר עסקאות של שורה אחת.
- bigtableReadInstanceId: מזהה מכונת Bigtable של המקור.
- bigtableReadTableId: מזהה טבלת Bigtable של המקור.
הרצת התבנית
המסוף
- עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow. כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בתפריט הנפתח Regional endpoint (נקודת קצה אזורית), בוחרים ערך. אזור ברירת המחדל הוא
us-central1.רשימת האזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית של Dataflow), בוחרים בתבנית Bigtable Change Streams to Vector Search (העברת נתוני שינויים ב-Bigtable לחיפוש וקטורי).
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
CLI של gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/Bigtable_Change_Streams_to_Vector_Search \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ embeddingColumn=EMBEDDING_COLUMN,\ embeddingByteSize=EMBEDDING_BYTE_SIZE,\ vectorSearchIndex=VECTOR_SEARCH_INDEX,\ bigtableChangeStreamAppProfile=BIGTABLE_CHANGE_STREAM_APP_PROFILE,\ bigtableReadInstanceId=BIGTABLE_READ_INSTANCE_ID,\ bigtableReadTableId=BIGTABLE_READ_TABLE_ID,\
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
REGION_NAME: האזור שבו רוצים לפרוס את משימת Dataflow, לדוגמה:us-central1 EMBEDDING_COLUMN: עמודת ההטמעה-
EMBEDDING_BYTE_SIZE: גודל הבייטים של מערך ההטמעות. הערך יכול להיות 4 או 8. -
VECTOR_SEARCH_INDEX: הנתיב של אינדקס חיפוש וקטורי -
BIGTABLE_CHANGE_STREAM_APP_PROFILE: מזהה פרופיל האפליקציה של Bigtable -
BIGTABLE_READ_INSTANCE_ID: מזהה מכונת Bigtable של המקור -
BIGTABLE_READ_TABLE_ID: מזהה טבלת Bigtable של המקור
API
כדי להריץ את התבנית באמצעות API בארכיטקטורת REST, שולחים בקשת HTTP POST. מידע נוסף על ממשק ה-API ועל היקפי ההרשאות שלו זמין במאמר projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "embeddingColumn": "EMBEDDING_COLUMN", "embeddingByteSize": "EMBEDDING_BYTE_SIZE", "vectorSearchIndex": "VECTOR_SEARCH_INDEX", "bigtableChangeStreamAppProfile": "BIGTABLE_CHANGE_STREAM_APP_PROFILE", "bigtableReadInstanceId": "BIGTABLE_READ_INSTANCE_ID", "bigtableReadTableId": "BIGTABLE_READ_TABLE_ID", }, "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/Bigtable_Change_Streams_to_Vector_Search", "environment": { "maxWorkers": "10" } } }
מחליפים את מה שכתוב בשדות הבאים:
-
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 EMBEDDING_COLUMN: עמודת ההטמעה-
EMBEDDING_BYTE_SIZE: גודל הבייטים של מערך ההטמעות. הערך יכול להיות 4 או 8. -
VECTOR_SEARCH_INDEX: הנתיב של אינדקס חיפוש וקטורי -
BIGTABLE_CHANGE_STREAM_APP_PROFILE: מזהה פרופיל האפליקציה של Bigtable -
BIGTABLE_READ_INSTANCE_ID: מזהה מכונת Bigtable של המקור -
BIGTABLE_READ_TABLE_ID: מזהה טבלת Bigtable של המקור