ייבוא באצ' מאפשר לייבא ערכי מאפיינים בכמות גדולה ממקור נתונים תקין. בבקשת ייבוא באצווה, אפשר לייבא ערכים לעד 100 מאפיינים של סוג ישות. שימו לב: כדי למנוע התנגשויות, אפשר להריץ רק משימת ייבוא אחת של קבוצת נתונים לכל סוג ישות.
בבקשת ייבוא באצווה, מציינים את המיקום של נתוני המקור ואת המיפוי שלהם לתכונות במאגר התכונות. מכיוון שכל בקשה לייבוא באצווה מיועדת לסוג ישות אחד, נתוני המקור צריכים להיות גם הם מסוג ישות אחד.
אחרי שהייבוא מסתיים בהצלחה, ערכי התכונות זמינים לפעולות קריאה עוקבות.
- מידע על הדרישות בנוגע לנתוני המקור זמין במאמר הדרישות בנוגע לנתוני המקור.
- במאמר Vertex AI Feature Store (Legacy) שבקטע Quotas and limits (מכסות ומגבלות) מוסבר כמה זמן נשמרים הנתונים שלכם במאגר הנתונים הלא מקוון של Vertex AI Feature Store (Legacy).
- במאמר מכסות ומגבלות בנושא Vertex AI Feature Store (גרסה קודמת) מוסבר מהי חותמת הזמן הכי ישנה של ערך תכונה שאפשר לייבא.
- אי אפשר לייבא ערכי מאפיינים שחותמות הזמן שלהם מציינות תאריכים או שעות עתידיים.
ייבוא נתוני הביצועים של משרות
Vertex AI Feature Store (גרסה קודמת) מספק ייבוא עם תפוקה גבוהה, אבל זמן האחזור המינימלי יכול להימשך כמה דקות. כל בקשה ל-Vertex AI Feature Store (Legacy) מתחילה עבודה להשלמת המשימה. משימת ייבוא נמשכת כמה דקות, גם אם מייבאים רשומה אחת.
אם רוצים לבצע שינויים באופן הפעולה של משימה, צריך לשנות את שני המשתנים הבאים:
- מספר הצמתים של שרתים אונליין במאגר התכונות.
- מספר העובדים שמשמשים למשימת הייבוא. תהליכי Worker מעבדים נתונים וכותבים אותם למאגר התכונות.
מספר העובדים המומלץ הוא עובד אחד לכל 10 צמתים של שרתים אונליין במאגר התכונות. אפשר להגדיר ערך גבוה יותר אם עומס מילוי הבקשה באופן מיידי נמוך. אפשר לציין עד 100 עובדים. לקבלת הנחיות נוספות, אפשר לעיין במאמר בנושא מעקב אחרי משאבים והתאמה שלהם כדי לייעל את הייבוא של קובצי אצווה.
אם לא הוקצו מספיק משאבים לאשכול מילוי הבקשות באופן מיידי, יכול להיות שהייבוא ייכשל. במקרה של כשל, צריך לנסות שוב את בקשת הייבוא כשהעומס על מילוי בקשה באופן מיידי נמוך, או להגדיל את מספר הצמתים של מאגר הפיצ'רים ואז לנסות שוב את הבקשה.
אם למאגר התכונות אין מאגר אונליין (אפס צמתים להצגת נתונים אונליין), עבודת הייבוא כותבת רק למאגר האופליין, והביצועים של העבודה תלויים רק במספר העובדים שמבצעים את הייבוא.
עקביות הנתונים
אם נתוני המקור משתנים במהלך הייבוא, יכול להיות שיהיו אי-התאמות. חשוב לוודא שכל השינויים בנתוני המקור הושלמו לפני שמתחילים את עבודת הייבוא. בנוסף, ערכים כפולים של מאפיינים עלולים לגרום להצגת ערכים שונים בבקשות אונליין ובבקשות אצווה. מוודאים שיש ערך תכונה אחד לכל מזהה ישות וצמד חותמת זמן.
אם פעולת ייבוא נכשלת, יכול להיות שמאגר הפיצ'רים יכיל רק נתונים חלקיים, מה שעלול להוביל להחזרת ערכים לא עקביים בין בקשות להצגת נתונים אונליין לבין בקשות לשליפת נתונים ב-batch. כדי למנוע את חוסר העקביות הזה, צריך לנסות שוב את אותה בקשת יבוא ולחכות עד שהבקשה תושלם בהצלחה.
ערכי Null ומערכים ריקים
במהלך הייבוא, מערכת Vertex AI Feature Store (גרסה קודמת) מתייחסת לערכים סקלריים מסוג null או למערכים ריקים כאל ערכים ריקים. הם כוללים ערכים ריקים בעמודת CSV. מאגר התכונות של Vertex AI (גרסה קודמת) לא תומך בערכי null לא סקלריים, כמו ערך null במערך.
במהלך מילוי בקשה באופן מיידי ושליפת נתונים ב-batch, Vertex AI Feature Store (גרסה מדור קודם) מחזיר את הערך האחרון של התכונה שלא ריק או null. אם אין ערך היסטורי של התכונה, Vertex AI Feature Store (Legacy) מחזיר null.
ערכי NaN
Vertex AI Feature Store (Legacy) תומך בערכי NaN (Not a Number) במשתנים Double ו-DoubleArray. במהלך הייבוא, אפשר להזין NaN בקובץ ה-CSV של נתוני ההצגה כדי לייצג ערך NaN. במהלך מילוי בקשות באופן מיידי ושליפת נתונים ב-batch, Vertex AI Feature Store (Legacy) מחזיר NaN לערכי NaN.
ייבוא באצווה
ייבוא ערכים בכמות גדולה למאגר פיצ'רים של תכונה אחת או יותר מסוג ישות יחיד.
ממשק משתמש באינטרנט
- בקטע Vertex AI במסוף Google Cloud , עוברים לדף Features.
- בוחרים אזור מהרשימה הנפתחת Region (אזור).
- בטבלת התכונות, מעיינים בעמודה Entity type ומחפשים את סוג הישות שמכיל את התכונות שרוצים לייבא עבורן ערכים.
- לוחצים על השם של סוג הישות.
- בסרגל הפעולות, לוחצים על הוספת ערכים.
- בקטע מקור נתונים, בוחרים באחת מהאפשרויות הבאות:
- קובץ CSV ב-Cloud Storage: בוחרים באפשרות הזו כדי לייבא נתונים מכמה קובצי CSV מ-Cloud Storage. מציינים את הנתיב והשם של קובץ ה-CSV. כדי לציין קבצים נוספים, לוחצים על הוספת קובץ נוסף.
- קובץ AVRO ב-Cloud Storage: בוחרים באפשרות הזו כדי לייבא נתונים מקובץ AVRO מ-Cloud Storage. מציינים את הנתיב והשם של קובץ ה-AVRO.
- טבלה ב-BigQuery: בוחרים באפשרות הזו כדי לייבא נתונים מטבלה ב-BigQuery או מתצוגה של BigQuery. מחפשים ובוחרים טבלה או תצוגה לשימוש, בפורמט הבא:
PROJECT_ID.DATASET_ID.TABLE_ID
- לוחצים על Continue.
- בקטע Map column to features (מיפוי עמודה לפיצ'רים), מציינים אילו עמודות בנתוני המקור ממופות לישויות ולפיצ'רים במאגר הפיצ'רים.
- מציינים את שם העמודה בנתוני המקור שמכילה את מזהי הישות.
- לגבי חותמת הזמן, מציינים עמודה של חותמות זמן בנתוני המקור או מציינים חותמת זמן אחת שמשויכת לכל ערכי התכונות שמייבאים.
- ברשימת התכונות, מזינים את שם העמודה של נתוני המקור שממופה לכל תכונה. כברירת מחדל, Vertex AI Feature Store (Legacy) מניח ששם התכונה ושם העמודה זהים.
- לוחצים על הזנה.
REST
כדי לייבא ערכי מאפיינים למאפיינים קיימים, שולחים בקשת POST באמצעות השיטה featurestores.entityTypes.importFeatureValues. שימו לב: אם השמות של עמודות נתוני המקור ומזהי התכונות של היעד שונים, צריך לכלול את הפרמטר sourceField.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו מאגר התכונות נוצר. לדוגמה,
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATURESTORE_ID: מזהה מאגר התכונות.
- ENTITY_TYPE_ID: מזהה סוג הישות.
- ENTITY_SOURCE_COLUMN_ID: המזהה של עמודת המקור שמכילה את מזהי הישויות.
- FEATURE_TIME_ID: המזהה של עמודת המקור שמכילה את חותמות הזמן של התכונות עבור ערכי התכונות.
- FEATURE_ID: מזהה של תכונה קיימת במאגר התכונות שאליה רוצים לייבא ערכים.
- FEATURE_SOURCE_COLUMN_ID: המזהה של עמודת המקור שמכילה את ערכי התכונות של הישויות.
- SOURCE_DATA_DETAILS: מיקום נתוני המקור, שמציין גם את הפורמט, למשל:
"bigquerySource": { "inputUri": "bq://test.dataset.sourcetable" }לטבלה או לתצוגה ב-BigQuery. - WORKER_COUNT: מספר העובדים שישמשו לכתיבת נתונים למאגר התכונות.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:importFeatureValues
גוף בקשת JSON:
{
"entityIdField": "ENTITY_SOURCE_COLUMN_ID",
"featureTimeField": "FEATURE_TIME_ID",
SOURCE_DATA_DETAILS,
"featureSpecs": [{
"id": "FEATURE_ID",
"sourceField": "FEATURE_SOURCE_COLUMN_ID"
}],
"workerCount": WORKER_COUNT
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:importFeatureValues"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:importFeatureValues" | Select-Object -Expand Content
הפלט שיוצג אמור להיות דומה לזה שמופיע בהמשך. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportFeatureValuesOperationMetadata",
"genericMetadata": {
"createTime": "2021-03-02T00:04:13.039166Z",
"updateTime": "2021-03-02T00:04:13.039166Z"
}
}
}
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הצגת משימות ייבוא
אפשר להשתמש במסוף Google Cloud כדי להציג משימות של ייבוא באצווה בGoogle Cloud פרויקט.
ממשק משתמש באינטרנט
- בקטע Vertex AI במסוף Google Cloud , עוברים לדף Features.
- בוחרים אזור מהרשימה הנפתחת Region (אזור).
- בסרגל הפעולות, לוחצים על הצגת משימות ההטמעה כדי להציג רשימה של משימות ייבוא לכל מאגרי התכונות.
- לוחצים על המזהה של עבודת ייבוא כדי לראות את הפרטים שלה, כמו מקור הנתונים, מספר ישויות הייבוא ומספר ערכי התכונות שייובאו.
החלפת נתונים קיימים במאגר תכונות
אתם יכולים לייבא מחדש ערכים כדי להחליף ערכים קיימים של תכונות, אם לשניהם יש חותמות זמן זהים. אין צורך למחוק קודם את ערכי התכונות הקיימים. לדוגמה, יכול להיות שאתם מסתמכים על נתוני מקור בסיסיים שהשתנו לאחרונה. כדי לשמור על עקביות בין מאגר הפיצ'רים לבין נתוני הבסיס, צריך לייבא מחדש את ערכי התכונות. אם יש חוסר התאמה בין חותמות הזמן, המערכת תתייחס לערכים המיובאים כאל ערכים ייחודיים, והערכים הישנים ימשיכו להתקיים (לא יוחלפו).
כדי להבטיח עקביות בין בקשות להצגת מודעות אונליין לבין בקשות לשליפת נתונים ב-batch, צריך לחכות עד לסיום של עבודת הייבוא לפני ששולחים בקשות להצגת מודעות.
מילוי חוזר של נתונים היסטוריים
אם אתם מבצעים מילוי חוסרים בנתונים, כלומר מייבאים ערכים קודמים של תכונות, אתם צריכים להשבית את ההצגה אונליין של משימת הייבוא. מילוי בקשה באופן מיידי מיועד רק להצגת הערכים העדכניים ביותר של התכונות, ולא כולל מילוי חוסרים. השבתת ההצגה אונליין מועילה כי היא מבטלת את העומס על הצמתים של ההצגה אונליין ומגדילה את קצב העברת הנתונים של עבודת הייבוא, מה שיכול לקצר את זמן ההשלמה שלה.
כשמשתמשים ב-API או בספריות הלקוח, אפשר להשבית את ההצגה אונליין של משימות ייבוא. מידע נוסף זמין בשדה disableOnlineServing של השיטה importFeatureValue.
המאמרים הבאים
- כך מציגים תכונות באמצעות הצגה אונליין או הצגה באצווה.
- איך עוקבים אחרי ערכי מאפיינים מיובאים לאורך זמן
- צפייה במכסת המשימות באצווה המקבילות ב-Vertex AI Feature Store (גרסה קודמת).
- פתרון בעיות נפוצות ב-Vertex AI Feature Store (גרסה קודמת).