התבנית AstraDB to BigQuery היא צינור (pipeline) של אצווה שקורא רשומות מ-AstraDB וכותב אותן ל-BigQuery.
אם טבלת היעד לא קיימת ב-BigQuery, צינור הנתונים יוצר טבלה עם הערכים הבאים:
- ה-
Dataset ID, שעובר בירושה ממרחב המפתחות של Cassandra. - השדה
Table ID, שמתקבל בירושה מהטבלה של Cassandra.
הסכמה של טבלת היעד נגזרת מטבלת המקור של Cassandra.
-
Listו-Setממופים לשדותREPEATEDב-BigQuery. -
Mapממופים לשדותRECORDב-BigQuery. - כל שאר הסוגים ממופים לשדות BigQuery עם הסוגים המתאימים.
- אין תמיכה בסוגי נתונים של טאפל ובסוגים מוגדרים על ידי המשתמש (UDT) ב-Cassandra.
הדרישות לגבי צינורות עיבוד נתונים
- חשבון AstraDB עם טוקן
פרמטרים של תבניות
פרמטרים נדרשים
- astraToken: ערך האסימון או מזהה המשאב הסודי. לדוגמה,
AstraCS:abcdefghij. - astraDatabaseId: המזהה הייחודי (UUID) של מסד הנתונים. לדוגמה,
cf7af129-d33a-498f-ad06-d97a6ee6eb7. - astraKeyspace: השם של מרחב המפתחות של Cassandra בתוך מסד הנתונים של Astra.
- astraTable: השם של הטבלה במסד הנתונים של Cassandra. לדוגמה,
my_table.
פרמטרים אופציונליים
- astraQuery: השאילתה שמשמשת לסינון שורות במקום לקרוא את כל הטבלה.
- astraDatabaseRegion: אם לא מציינים אזור, נבחר אזור ברירת מחדל, וזה שימושי במסדי נתונים עם מספר אזורים.
- minTokenRangesCount: המספר המינימלי של פיצולים שמשמשים להפצת השאילתה.
- outputTableSpec: מיקום הטבלה ב-BigQuery שאליה ייכתב הפלט. בפורמט
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>. הסכימה של הטבלה צריכה להתאים לאובייקטים של הקלט.
הפעלת התבנית
המסוף
- עוברים לדף Dataflow Create job from template (יצירת משימה מתבנית). כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא
us-central1.רשימת האזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית של העברת נתונים), בוחרים באפשרות the AstraDB to BigQuery template.
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/AstraDB_To_BigQuery \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ astraToken=ASTRA_TOKEN,\ astraDatabaseId=ASTRA_DATABASE_ID,\ astraKeyspace=ASTRA_KEYSPACE,\ astraTable=ASTRA_TABLE,\
מחליפים את מה שכתוב בשדות הבאים:
-
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 -
ASTRA_TOKEN: אסימון Astra -
ASTRA_DATABASE_ID: מזהה מסד הנתונים -
ASTRA_KEYSPACE: מרחב המפתחות של Cassandra -
ASTRA_TABLE: טבלת Cassandra
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": { "astraToken": "ASTRA_TOKEN", "astraDatabaseId": "ASTRA_DATABASE_ID", "astraKeyspace": "ASTRA_KEYSPACE", "astraTable": "ASTRA_TABLE", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/AstraDB_To_BigQuery", "environment": { "maxWorkers": "10" } } }
מחליפים את מה שכתוב בשדות הבאים:
-
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 -
ASTRA_TOKEN: אסימון Astra -
ASTRA_DATABASE_ID: מזהה מסד הנתונים -
ASTRA_KEYSPACE: מרחב המפתחות של Cassandra -
ASTRA_TABLE: טבלת Cassandra