הטמעת נתונים באצווה
הדרך העיקרית להעברת נתונים אל Manufacturing Data Engine (MDE) היא באמצעות סטרימינג דרך Manufacturing Connect edge (MCe) או שליחת הודעות אל Pub/Sub, אבל אפשר גם להעביר קבצים בשיטת Batch. האפשרות הזו יכולה להיות שימושית לעיבוד מחדש של נתונים או לייבוא נתונים ממערכות חיצוניות.
העלאה באצווה מתבצעת על ידי יצירת IngestionSpecification באמצעות ממשק האינטרנט או ה-API, ולאחר מכן העלאה של קובץ אחד או יותר לתיקייה בקטגוריית Cloud Storage שהוגדרה על ידי MDE, ששמה הוא <project-id>-batch-ingestion כברירת מחדל. כשמעלים קובץ חדש לקטגוריה הזו, הוא מזוהה על ידי משימת Cloud Storage Reader Dataflow. המשימה מפצלת את הקובץ לכל הודעה בנפרד ושולחת כל אחת מהן לנושא input-messages Pub/Sub.
פורמטים נתמכים
טעינת נתונים באצווה תומכת בפורמטים הבאים של נתונים:
- JSON: מופרד בתו שורה חדשה. כל שורה תישלח כהודעה חדשה.
- CSV: עם כותרות או בלי (אפשר להגדיר), תומך בדילוג על שורות ובמפרידים שונים. ההודעה מומרת ל-JSON באמצעות כל עמודת כותרת כמפתח ועמודת השורה התואמת כערך.
- AVRO: ממפה כל שורה מ-AVRO ל-JSON.
- AVRO_RAW_WRITER: קורא את ההודעות שלא עברו עיבוד שנכתבו על ידי Cloud Storage Writer וכותב כל הודעה בחזרה תוך שמירה על מזהה ההודעה ב-Pub/Sub.
הגדרות אישיות
כדי שהכלי Cloud Storage Reader יוכל לעבד קבצים, צריך להגדיר File Ingestion Specification שבו מציינים את סוג הקובץ שהכלי אמור לקבל, את האפשרויות שלו ואת התיקייה שאליה הקובץ יועלה.
כל הפורמטים דורשים את הפרמטרים הבאים:
- name: השם של
File Ingestion Specification. - folderName: התיקייה שאליה יועלו הקבצים של
File Ingestion Specificationהפריט הזה. - source: הפורמט לשימוש (
JSON/CSV/AVRO/AVRO_RAW_WRITER).
בנוסף, מקור CSV תומך באפשרויות הבאות:
- separator: המפריד שבו רוצים להשתמש (אם לא מציינים מפריד, נעשה שימוש ב-
,). - skip_rows: האם לדלג על שורות לפני שמתחילים לקרוא את קובץ ה-CSV.
- headers:
- infer_headers: אם צריך להסיק את הכותרות מהשורה הראשונה שנקראת.
- headerNames: מספקים רשימה מסודרת של שמות הכותרות לשימוש.
- insert_metadata: האם לכלול מטא-נתונים שקשורים לקובץ שהועלה (
filePath, fileName, ingestionName). המטא-נתונים האלה מתווספים כזוגות נוספים של מפתח וערך להודעה שנשלחת.
הגדרות לדוגמה
בקטע הזה מפורטות כמה דוגמאות להגדרות של טעינת נתונים באצווה.
הוספת קבצים בפורמט JSON שמופרדים בתו שורה חדשה
REST
POST configuration/v1/ingestions
{
"name": "json-simple",
"source": "JSON",
"folderName": "jsonFiles"
}
המסוף
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על 'הוספת מפרט חדש להעלאת קבצים'. תפריט צד חדש יוצג בצד שמאל של המסך, עם כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור מפרט חדש להטמעה של קבצים מופרדים ב-JSON עם מעברי שורה, בוחרים באפשרות JSON בתפריט 'סוג המקור' ומזינים את שני הפרמטרים הנדרשים. בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.

אחרי שממלאים את הפרמטרים, לוחצים על יצירה. אם מפרט הטמעת הקובץ החדש נוצר בהצלחה, תוצג הודעת אישור.
העלאת קובצי AVRO
REST
POST configuration/v1/ingestions
{
"name": "avro-simple",
"source": "AVRO",
"folderName": "avroFiles"
}
המסוף
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על ADD NEW INGESTION SPECIFICATION (הוספת מפרט חדש להעלאת קבצים).
תפריט צד חדש יוצג בצד שמאל של המסך, ובו כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור מפרט חדש להעלאת קובץ AVRO, בוחרים באפשרות AVRO בתפריט 'סוג מקור'.
מציינים את שני הפרמטרים הנדרשים, בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.

אחרי שממלאים את הפרמטרים, לוחצים על יצירה. אם מפרט הטמעת הקובץ החדש נוצר בהצלחה, תוצג הודעת אישור.
הוספת קובצי CSV תוך הסקת שמות העמודות מהכותרות
REST
POST configuration/v1/ingestions
{
"name": "csv-simple",
"source": "CSV",
"folderName": "csv-simple",
"separator": ",",
"headers": {
"inferHeaders": true
}
}
המסוף
- עוברים אל ממשק האינטרנט של Manufacturing Connect.
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על ADD NEW INGESTION SPECIFICATION (הוספת מפרט חדש להעלאת קבצים).
תפריט צד חדש יוצג בצד שמאל של המסך, ובו כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על 'הוספת מפרט חדש להעלאה'.
תפריט צד חדש יוצג בצד שמאל של המסך ויכיל את כל הפרמטרים שצריך להגדיר.
מפרט הטמעת קבצים:

כדי ליצור מפרט חדש להעלאת קובצי CSV עם שמות עמודות שמוסקים מהכותרות, בוחרים באפשרות CSV בתפריט 'סוג המקור' ומזינים את שבעת הפרמטרים הנדרשים. בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.
- separator: המפריד שבו רוצים להשתמש (אם לא מציינים מפריד, נעשה שימוש ב-
,). - skip_rows: האם לדלג על שורות לפני שמתחילים לקרוא את קובץ ה-CSV.
- headers:
- infer_headers: אם צריך להסיק את הכותרות מהשורה הראשונה שנקראת. בוחרים באפשרות 'YES' כדי להסיק את שמות העמודות מהכותרות.
- insert_metadata: האם לכלול מטא-נתונים שקשורים לקובץ שהועלה (filePath, fileName, ingestionName).

אחרי שממלאים את הפרמטרים, לוחצים על יצירה.
אם יצירת המפרט החדש להטמעת קובץ הצליחה, תופיע הודעת אישור.
הוספת מטא-נתונים של הטמעה והטמעה של קובצי CSV עם שמות עמודות
REST
POST configuration/v1/ingestions
{
"name": "csv-headers-metadata",
"source": "CSV",
"folderName": "csv-headers",
"separator": ",",
"insertMetadata": true,
"headers": {
"headerNames": {
"names": ["one", "two", "three"]
}
}
}
המסוף
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על ADD NEW INGESTION SPECIFICATION (הוספת מפרט חדש להעלאת קבצים).
תפריט צד חדש יוצג בצד שמאל של המסך, ובו כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור קובצי CSV עם שמות עמודות ולהוסיף מטא-נתונים של הטמעה, בוחרים באפשרות CSV מתוך 'סוג המקור'.
מספקים את שמונת הפרמטרים הנדרשים, בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.
- separator: המפריד שבו רוצים להשתמש (אם לא מציינים מפריד, נעשה שימוש ב-
,). - skip_rows: האם לדלג על שורות לפני שמתחילים לקרוא את קובץ ה-CSV.
- headers:
- infer_headers: אם צריך להסיק את הכותרות מהשורה הראשונה שנקראת. בוחרים באפשרות 'לא' כדי לא להסיק את שמות העמודות מהכותרות.
- headerNames: מציינים רשימה מסודרת של שמות הכותרות לשימוש.
- insert_metadata: האם לכלול מטא-נתונים שקשורים לקובץ שהועלה (filePath, fileName, ingestionName).

אחרי שממלאים את הפרמטרים, לוחצים על הלחצן יצירה. אם מפרט הטמעת הקובץ החדש נוצר בהצלחה, תוצג הודעת אישור.
הטמעה של קובצי CSV עם הסקת שמות של כותרות ודילוג על 5 שורות לפני תחילת הקריאה של הקובץ
REST
POST configuration/v1/ingestions
{
"name": "csv-skip-rows",
"source": "CSV",
"folderName": "csv-skip",
"skipRows": 5,
"separator": ",",
"headers": {
"inferHeaders": true
}
}
המסוף
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על ADD NEW INGESTION SPECIFICATION (הוספת מפרט חדש להעלאת קבצים).
תפריט צד חדש יוצג בצד שמאל של המסך, ובו כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור מפרט להטמעת קובצי CSV עם שמות כותרות משוערים ודילוג על 5 שורות, בוחרים באפשרות CSV בתפריט 'סוג המקור'.
מספקים את שבעת הפרמטרים הנדרשים, בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.
- separator: המפריד שבו רוצים להשתמש (אם לא מציינים מפריד, נעשה שימוש ב-
,). - skip_rows: בוחרים את מספר השורות שרוצים לדלג עליהן, במקרה הזה 5.
- headers:
- infer_headers: אם צריך להסיק את הכותרות מהשורה הראשונה שנקראת. בוחרים באפשרות 'YES' כדי להסיק את שמות העמודות מהכותרות.
- insert_metadata: האם לכלול מטא-נתונים שקשורים לקובץ שהועלה (filePath, fileName, ingestionName).

אחרי שממלאים את הפרמטרים, לוחצים על יצירה.
אם יצירת המפרט החדש להטמעת קובץ הצליחה, תופיע הודעת אישור.
הטמעה של קובצי AVRO שנוצרו על ידי נתיב גולמי של Cloud Storage Writer
REST
POST configuration/v1/ingestions
{
"name": "avro-reprocess",
"source": "AVRO_RAW_WRITER",
"folderName": "avro-raw"
}
האפשרות הזו שימושית במיוחד אם צריך לעבד מחדש קבצים. אפשר להשתמש במחיצת התאריכים בתיקיית הקבצים הגולמיים כדי להעתיק רק את הקבצים מטווח הזמן הנדרש. לדוגמה:
gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
gs://<project-id>-batch-ingestion/avro-raw/
המסוף
- ניגשים להגדרות של מפרט הטמעת קבצים.
פותחים את הקטע FILE INGESTION בתפריט העליון של הקטע Cloud Management.

מפרטים קיימים של הטמעת קבצים מופיעים בקטע הטמעת קבצים . אפשר לשנות, להפעיל, להשבית או למחוק אותם באמצעות סמל הפעולות בצד של כל מפרט העברה.

כדי ליצור מפרט חדש להעלאת קבצים, לוחצים על ADD NEW INGESTION SPECIFICATION (הוספת מפרט חדש להעלאת קבצים).
תפריט צד חדש יוצג בצד שמאל של המסך, ובו כל הפרמטרים שנדרשים להגדרת מפרט חדש להעלאת קבצים:

כדי ליצור מפרט חדש של AVRO files generated by the Cloud Storage Writer raw paths, בוחרים באפשרות AVRO Raw בתפריט 'Source Type' ומזינים את שני הפרמטרים הנדרשים. בדוגמה הזו:
- name: שם מפרט הטמעת הקובץ.
- folderName: התיקייה שאליה יועלו הקבצים של מפרט הטמעת הקבצים הזה.

אחרי שממלאים את הפרמטרים, לוחצים על יצירה.
אם יצירת המפרט החדש להטמעת קובץ הצליחה, תופיע הודעת אישור.
האפשרות הזו שימושית במיוחד אם צריך לעבד מחדש קבצים. אפשר להשתמש בחלוקה לפי תאריך בתיקיית הקבצים הגולמיים כדי להעתיק רק את הקבצים מטווח הזמן הרצוי, למשל:
gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
gs://<project-id>-batch-ingestion/avro-raw/