התבנית Pub/Sub to Avro files on Cloud Storage היא צינור סטרימינג שקורא נתונים מנושא Pub/Sub וכותב קובצי Avro לקטגוריה שצוינה ב-Cloud Storage.
הדרישות לגבי צינורות עיבוד נתונים
- נושא ה-Pub/Sub שמוזן צריך להתקיים לפני הפעלת צינור הנתונים.
פרמטרים של תבניות
פרמטרים נדרשים
- inputTopic: נושא Pub/Sub להרשמה לצורך צריכת הודעות. שם הנושא חייב להיות בפורמט
projects/<PROJECT_ID>/topics/<TOPIC_NAME>. - outputDirectory: ספריית הפלט שבה קובצי הפלט של Avro מאוחסנים בארכיון. חייב להכיל את הערך
/בסוף. לדוגמה:gs://example-bucket/example-directory/. - avroTempDirectory: הספרייה לקובצי Avro זמניים. חייב להכיל את הערך
/בסוף. לדוגמה:gs://example-bucket/example-directory/.
פרמטרים אופציונליים
- outputFilenamePrefix: הקידומת של שם קובץ הפלט לקובצי Avro. ברירת המחדל היא: output.
- outputFilenameSuffix: הסיומת של שם קובץ הפלט לקובצי Avro. ברירת המחדל היא ריקה.
- outputShardTemplate: תבנית השארד מגדירה את החלק הדינמי של כל קובץ עם חלון זמן. כברירת מחדל, צינור הנתונים משתמש בשבר אחד לפלט למערכת הקבצים בכל חלון. לכן, כל פלט הנתונים נכנס לקובץ יחיד לכל חלון.
outputShardTemplatedefaultsto W-P-SS-of-NN, כאשרWהוא טווח התאריכים של החלון,Pהוא פרטי החלונית,Sהוא מספר הרסיס ו-Nהוא מספר הרסיסים. במקרה של קובץ יחיד, החלקSS-of-NNשלoutputShardTemplateהוא00-of-01. - yearPattern: תבנית לעיצוב השנה. הערך חייב להיות אחד או יותר מהערכים הבאים:
yאוY. הרישיות לא משנה את השנה. אפשר להוסיף לתבנית תווים שהם לא אלפאנומריים או את התו של הספרייה (/). ברירת המחדל היאYYYY. - monthPattern: תבנית לעיצוב החודש. חייב להכיל תו אחד או יותר מתוך התווים
M. אפשר להוסיף לתבנית תווים שהם לא אלפאנומריים או את התו של הספרייה (/). ברירת המחדל היאMM. - dayPattern: תבנית לעיצוב היום. הערך חייב להיות
d(יום בחודש) אוD(יום בשנה). אפשר להוסיף לתבנית תווים שהם לא אלפאנומריים או את התו של הספרייה (/). ברירת המחדל היאdd. - hourPattern: תבנית לפורמט של השעה. חייב להכיל תו אחד או יותר מתוך התווים
H. אפשר להוסיף לתבנית תווים שהם לא אלפאנומריים או את התו של הספרייה (/). ברירת המחדל היאHH. - minutePattern: תבנית לעיצוב הדקה. חייב להכיל תו אחד או יותר מתוך התווים
m. אפשר להוסיף לתבנית תווים שהם לא אלפאנומריים או את התו של הספרייה (/). ברירת המחדל היאmm.
הרצת התבנית
המסוף
- עוברים לדף Create job from template (יצירת משימה מתבנית) ב-Dataflow. כניסה לדף Create job from template
- בשדה שם המשימה, מזינים שם ייחודי למשימה.
- אופציונלי: בשדה Regional endpoint (נקודת קצה אזורית), בוחרים ערך מהתפריט הנפתח. אזור ברירת המחדל הוא
us-central1.רשימה של אזורים שבהם אפשר להריץ משימת Dataflow מופיעה במאמר מיקומי Dataflow.
- בתפריט הנפתח Dataflow template (תבנית Dataflow), בוחרים בתבנית Pub/Sub to Avro Files on Cloud Storage (מ-Pub/Sub לקובצי Avro ב-Cloud Storage).
- בשדות הפרמטרים שמופיעים, מזינים את ערכי הפרמטרים.
- לוחצים על הפעלת העבודה.
gcloud
במעטפת או בטרמינל, מריצים את התבנית:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=FILENAME_PREFIX,\ outputFilenameSuffix=FILENAME_SUFFIX,\ outputShardTemplate=SHARD_TEMPLATE,\ avroTempDirectory=gs://BUCKET_NAME/temp/
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
REGION_NAME: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
STAGING_LOCATION: המיקום של קבצים מקומיים להעברה (לדוגמה,gs://your-bucket/staging) -
TOPIC_NAME: שם הנושא ב-Pub/Sub -
BUCKET_NAME: שם הקטגוריה של Cloud Storage -
FILENAME_PREFIX: הקידומת המועדפת של שם קובץ הפלט -
FILENAME_SUFFIX: הסיומת המועדפת של שם קובץ הפלט -
SHARD_TEMPLATE: תבנית השבר המועדפת של הפלט
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/Cloud_PubSub_to_Avro { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME", "outputDirectory": "gs://BUCKET_NAME/output/", "avroTempDirectory": "gs://BUCKET_NAME/temp/", "outputFilenamePrefix": "FILENAME_PREFIX", "outputFilenameSuffix": "FILENAME_SUFFIX", "outputShardTemplate": "SHARD_TEMPLATE" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים להריץ את משימת Google Cloud Dataflow -
JOB_NAME: שם ייחודי של המשימה לפי בחירתכם -
LOCATION: האזור שבו רוצים לפרוס את עבודת Dataflow, לדוגמה:us-central1 -
VERSION: הגרסה של התבנית שרוצים להשתמש בהאפשר להשתמש בערכים הבאים:
latestכדי להשתמש בגרסה העדכנית של התבנית, שזמינה בתיקיית ההורה ללא תאריך בדלי – gs://dataflow-templates/latest/- שם הגרסה, כמו
2023-09-12-00_RC00, כדי להשתמש בגרסה ספציפית של התבנית. אפשר למצוא את הגרסה הזו בתיקיית ההורה המתאימה עם התאריך בדלי – gs://dataflow-templates/
-
STAGING_LOCATION: המיקום של קבצים מקומיים להעברה (לדוגמה,gs://your-bucket/staging) -
TOPIC_NAME: שם הנושא ב-Pub/Sub -
BUCKET_NAME: שם הקטגוריה של Cloud Storage -
FILENAME_PREFIX: הקידומת המועדפת של שם קובץ הפלט -
FILENAME_SUFFIX: הסיומת המועדפת של שם קובץ הפלט -
SHARD_TEMPLATE: תבנית השבר המועדפת של הפלט
המאמרים הבאים
- מידע נוסף על תבניות Dataflow
- כאן אפשר לעיין ברשימת התבניות ש-Google סיפקה.