תבנית הטקסט Spanner to Cloud Storage היא צינור להעברת נתונים באצוות שקורא נתונים מטבלה ב-Spanner וכותב אותם ב-Cloud Storage כקובצי טקסט בפורמט CSV.
הדרישות לגבי צינורות עיבוד נתונים
- טבלת הקלט של Spanner צריכה להתקיים לפני שמריצים את צינור העיבוד.
פרמטרים של תבניות
פרמטרים נדרשים
- spannerTable: טבלת Spanner שממנה יקראו את הנתונים.
- spannerProjectId: המזהה של הפרויקט ב-Google Cloud שמכיל את מסד הנתונים של Spanner שממנו רוצים לקרוא נתונים.
- spannerInstanceId: מזהה המופע של הטבלה המבוקשת.
- spannerDatabaseId: מזהה מסד הנתונים של הטבלה המבוקשת.
- textWritePrefix: התחילית של הנתיב ב-Cloud Storage שמציינת את המקום שבו הנתונים נכתבים. לדוגמה,
gs://mybucket/somefolder/.
פרמטרים אופציונליים
- csvTempDirectory: הנתיב ב-Cloud Storage שבו נכתבים קובצי CSV זמניים. לדוגמה,
gs://your-bucket/your-path. - spannerPriority: העדיפות של הבקשה (https://cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions) לקריאות ל-Spanner. הערכים האפשריים הם
HIGH,MEDIUM,LOW. ערך ברירת המחדל הואMEDIUM. - spannerHost: נקודת הקצה של Cloud Spanner שאליה מתקשרים בתבנית. משמש רק לבדיקה. לדוגמה,
https://batch-spanner.googleapis.com. ברירת המחדל היא: https://batch-spanner.googleapis.com. - spannerSnapshotTime: חותמת הזמן שמתאימה לגרסה של מסד הנתונים של Spanner שממנה רוצים לקרוא. חותמת הזמן צריכה להיות בפורמט UTC Zulu Time של RFC 3339 (https://tools.ietf.org/html/rfc3339). חותמת הזמן צריכה להיות בעבר, וחלים עליה מגבלות של חותמת זמן (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). לדוגמה,
1990-12-31T23:59:60Z. ברירת המחדל היא ריקה. - dataBoostEnabled: מגדירים את הערך
trueכדי להשתמש במשאבי החישוב של Spanner Data Boost להרצת העבודה עם השפעה כמעט אפסית על תהליכי העבודה של Spanner OLTP. אם הערך הוא true, נדרשת הרשאה לניהול זהויות והרשאות גישה (IAM)spanner.databases.useDataBoost. מידע נוסף זמין במאמר בנושא סקירה כללית של Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). ברירת המחדל היא false.
הרצת התבנית
המסוף
- עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow. כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא
us-central1.רשימה של אזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית Dataflow), בוחרים בתבנית Cloud Spanner to Text Files on Cloud Storage (מ-Cloud Spanner לקובצי טקסט ב-Cloud Storage).
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Spanner_to_GCS_Text \ --region REGION_NAME \ --parameters \ spannerProjectId=SPANNER_PROJECT_ID,\ spannerDatabaseId=DATABASE_ID,\ spannerInstanceId=INSTANCE_ID,\ spannerTable=TABLE_ID,\ textWritePrefix=gs://BUCKET_NAME/output/
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
REGION_NAME: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
SPANNER_PROJECT_ID: מזהה הפרויקט ב- Google Cloud של מסד הנתונים של Spanner שממנו רוצים לקרוא נתונים -
DATABASE_ID: מזהה מסד הנתונים של Spanner -
BUCKET_NAME: שם הקטגוריה של Cloud Storage -
INSTANCE_ID: מזהה מכונת Spanner -
TABLE_ID: מזהה טבלת Spanner
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/Spanner_to_GCS_Text { "jobName": "JOB_NAME", "parameters": { "spannerProjectId": "SPANNER_PROJECT_ID", "spannerDatabaseId": "DATABASE_ID", "spannerInstanceId": "INSTANCE_ID", "spannerTable": "TABLE_ID", "textWritePrefix": "gs://BUCKET_NAME/output/" }, "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 -
SPANNER_PROJECT_ID: מזהה הפרויקט ב- Google Cloud של מסד הנתונים של Spanner שממנו רוצים לקרוא נתונים -
DATABASE_ID: מזהה מסד הנתונים של Spanner -
BUCKET_NAME: שם הקטגוריה של Cloud Storage -
INSTANCE_ID: מזהה מכונת Spanner -
TABLE_ID: מזהה טבלת Spanner
המאמרים הבאים
- מידע נוסף על תבניות Dataflow
- כאן אפשר לעיין ברשימת התבניות ש-Google סיפקה.