ייצוא ערכי מאפיינים של כל הישויות מסוג ישות יחיד לטבלה ב-BigQuery או לקטגוריה של Cloud Storage. אתם יכולים לבחור לקבל תמונת מצב או לייצא את כל ערכי התכונות. תמונת מצב מחזירה ערך יחיד לכל תכונה, לעומת ייצוא מלא שיכול להחזיר כמה ערכים לכל תכונה. אי אפשר לבחור מזהי ישויות ספציפיים או לכלול כמה סוגי ישויות כשמייצאים ערכי תכונות.
ייצוא של ערכי תכונות שימושי לארכיון או לביצוע ניתוח אד-הוק של הנתונים. לדוגמה, אפשר לשמור תמונות מצב רגילות של מאגר פיצ'רים כדי לשמור את המצב שלו בנקודות זמן שונות. אם אתם צריכים לקבל ערכי תכונות כדי ליצור מערך נתונים לאימון, עדיף להשתמש בהצגת מודעות באצווה.
השוואה בין תמונת מצב לייצוא מלא
גם באפשרות של צילום מצב וגם באפשרות של ייצוא מלא, אפשר לשלוח שאילתות לגבי נתונים על ידי ציון חותמת זמן אחת (שעת ההתחלה או שעת הסיום) או שתי חותמות זמן. במקרה של תמונות מצב, Vertex AI Feature Store (Legacy) מחזיר את ערך התכונה האחרון בטווח זמן נתון. בפלט, חותמת הזמן שמשויכת לכל ערך של מאפיין היא חותמת הזמן של התמונה (ולא חותמת הזמן של ערך המאפיין).
בייצוא מלא, Vertex AI Feature Store (Legacy) מחזיר את כל ערכי התכונות בטווח זמן נתון. בפלט, חותמת הזמן שמשויכת לכל ערך של מאפיין היא חותמת הזמן של המאפיין (חותמת הזמן שצוינה כשערך המאפיין נקלט).
בטבלה הבאה מפורטות התוצאות שמתקבלות מ-Vertex AI Feature Store (גרסה קודמת) בהתאם לאפשרות שבוחרים ולחותמות הזמן שמספקים.
| אפשרות | שעת התחלה בלבד (כולל) | שעת סיום בלבד (כולל) | שעת התחלה ושעת סיום (כולל) |
|---|---|---|---|
| תמונת מצב | הפונקציה מחזירה את הערך האחרון החל מהשעה הנוכחית (שבה הבקשה התקבלה), תוך חיפוש אחורה עד שעת ההתחלה. חותמת הזמן של תמונת המצב מוגדרת לשעה הנוכחית. |
הפונקציה מחזירה את הערך האחרון, החל משעת הסיום, ומסתמכת על הערך הראשון של כל תכונה. חותמת הזמן של ה-snapshot מוגדרת לשעת הסיום שצוינה. |
הפונקציה מחזירה את הערך האחרון בטווח הזמן שצוין. חותמת הזמן של ה-snapshot מוגדרת לשעת הסיום שצוינה. |
| ייצוא מלא | הפונקציה מחזירה את כל הערכים שמתקבלים החל משעת ההתחלה ועד לשעה הנוכחית (בזמן שליחת הבקשה). | הפונקציה מחזירה את כל הערכים עד לשעת הסיום, החל מהערך הראשון של כל תכונה. | הפונקציה מחזירה את כל הערכים בטווח הזמן שצוין. |
ערכי Null
במקרה של תמונות מצב, אם ערך המאפיין האחרון הוא null בחותמת זמן מסוימת, Feature Store של Vertex AI (גרסה קודמת) מחזיר את ערך המאפיין הקודם שאינו null. אם אין ערכים קודמים שאינם null, Vertex AI Feature Store (Legacy) מחזיר null.
בייצוא מלא, אם ערך של תכונה הוא null בחותמת זמן מסוימת, Vertex AI Feature Store (Legacy) מחזיר null עבור חותמת הזמן הזו.
דוגמאות
לדוגמה, נניח שיש לכם את הערכים הבאים במאגר פיצ'רים, שבהם הערכים של Feature_A ו-Feature_B חולקים את אותה חותמת זמן:
| מזהה ישות | חותמת זמן של ערך התכונה | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T1 | A_T1 | B_T1 |
| 123 | T2 | A_T2 | NULL |
| 123 | T3 | A_T3 | NULL |
| 123 | T4 | A_T4 | B_T4 |
| 123 | T5 | NULL | B_T5 |
תמונת מצב
במקרה של תמונות מצב, Vertex AI Feature Store (Legacy) מחזיר את הערכים הבאים על סמך ערכי חותמת הזמן שצוינו:
- אם רק שעת ההתחלה מוגדרת ל-
T3, תמונת המצב מחזירה את הערכים הבאים:
| מזהה ישות | חותמת הזמן של תמונת המצב | Feature_A | Feature_B |
|---|---|---|---|
| 123 | CURRENT_TIME | A_T4 | B_T5 |
- אם רק שעת הסיום מוגדרת ל-
T3, תמונת המצב מחזירה את הערכים הבאים:
| מזהה ישות | חותמת הזמן של תמונת המצב | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T3 | A_T3 | B_T1 |
- אם שעות ההתחלה והסיום מוגדרות ל-
T2ול-T3, התמונה של מצב המערכת מחזירה את הערכים הבאים:
| מזהה ישות | חותמת הזמן של תמונת המצב | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T3 | A_T3 | NULL |
ייצוא מלא
בייצוא מלא, Vertex AI Feature Store (גרסה קודמת) מחזיר את הערכים הבאים על סמך ערכי חותמת הזמן שצוינו:
- אם רק שעת ההתחלה מוגדרת ל-
T3, הייצוא המלא מחזיר את הערכים הבאים:
| מזהה ישות | חותמת זמן של ערך התכונה | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T3 | A_T3 | NULL |
| 123 | T4 | A_T4 | B_T4 |
| 123 | T5 | NULL | B_T5 |
- אם רק שעת הסיום מוגדרת ל-
T3, הייצוא המלא מחזיר את הערכים הבאים:
| מזהה ישות | חותמת זמן של ערך התכונה | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T1 | A_T1 | B_T1 |
| 123 | T2 | A_T2 | NULL |
| 123 | T3 | A_T3 | NULL |
- אם שעות ההתחלה והסיום מוגדרות ל-
T2ול-T4, הייצוא המלא מחזיר את הערכים הבאים:
| מזהה ישות | חותמת זמן של ערך התכונה | Feature_A | Feature_B |
|---|---|---|---|
| 123 | T2 | A_T2 | NULL |
| 123 | T3 | A_T3 | NULL |
| 123 | T4 | A_T4 | B_T4 |
ייצוא של ערכי תכונות
כשמייצאים ערכי מאפיינים, בוחרים אילו מאפיינים לשלוח לגביהם שאילתה, וקובעים אם מדובר בתמונת מצב או בייצוא מלא. בקטעים הבאים מוצגת דוגמה לכל אפשרות.
בשתי האפשרויות, יעד הפלט צריך להיות באותו אזור שבו נמצא מאגר הפיצ'רים של המקור. לדוגמה, אם מאגר התכונות נמצא ב-us-central1, אז גם קטגוריית היעד ב-Cloud Storage או הטבלה ב-BigQuery צריכות להיות ב-us-central1.
תמונת מצב
ייצוא של ערכי התכונות העדכניים לטווח זמן נתון.
ממשק משתמש באינטרנט
אפשר לנסות שיטה אחרת. אי אפשר לייצא ערכי תכונות ממסוףGoogle Cloud .
REST
כדי לייצא ערכי תכונות, שולחים בקשת POST באמצעות השיטה entityTypes.exportFeatureValues.
בדוגמה הבאה מוצגת טבלה ב-BigQuery, אבל אפשר גם לייצא לקטגוריה של Cloud Storage. יכול להיות שלכל יעד פלט יש דרישות מוקדמות שצריך לעמוד בהן לפני ששולחים בקשה. לדוגמה, אם מציינים שם טבלה בשדה bigqueryDestination, צריך שיהיה קיים מערך נתונים. הדרישות האלה מתועדות בהפניית ה-API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו נמצא מאגר התכונות. לדוגמה,
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATURESTORE_ID: מזהה של מאגר התכונות.
- ENTITY_TYPE_ID: מזהה סוג הישות.
- START_TIME ו-END_TIME: (אופציונלי) אם מציינים רק את שעת ההתחלה, המערכת מחזירה את הערך האחרון החל מהשעה הנוכחית (כשנשלחת הבקשה) ועד לשעת ההתחלה. אם מציינים רק את שעת הסיום, המערכת מחזירה את הערך האחרון החל משעת הסיום (כולל) ועד הערך הראשון. אם מציינים שעת התחלה ושעת סיום, הפונקציה מחזירה את הערך האחרון בטווח הזמן שצוין (כולל). אם לא מציינים אף אחד מהם, הפונקציה מחזירה את הערכים האחרונים של כל תכונה, החל מהשעה הנוכחית ועד לערך הראשון.
- DATASET_NAME: השם של מערך הנתונים ביעד ב-BigQuery.
- TABLE_NAME: השם של טבלת היעד ב-BigQuery.
- FEATURE_ID: מזהה של תכונה אחת או יותר. מציינים
*(כוכבית) כדי לבחור את כל התכונות.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
גוף בקשת JSON:
{
"snapshotExport": {
"start_time": "START_TIME",
"snapshot_time": "END_TIME"
},
"destination" : {
"bigqueryDestination": {
"outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
}
},
"featureSelector": {
"idMatcher": {
"ids": ["FEATURE_ID", ...]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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:exportFeatureValues"
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:exportFeatureValues" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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.ExportFeatureValuesOperationMetadata",
"genericMetadata": {
"createTime": "2021-12-03T22:55:25.974976Z",
"updateTime": "2021-12-03T22:55:25.974976Z"
}
}
}
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
במאמר שימוש ב-Vertex AI SDK ל-Python מוסבר איך להתקין את Vertex AI SDK ל-Python ואיך להשתמש בו. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Vertex AI SDK.
ייצוא מלא
ייצוא של כל ערכי התכונות בטווח זמן נתון.
ממשק משתמש באינטרנט
אפשר לנסות שיטה אחרת. אי אפשר לייצא ערכי תכונות ממסוףGoogle Cloud .
REST
כדי לייצא ערכי תכונות, שולחים בקשת POST באמצעות השיטה entityTypes.exportFeatureValues.
בדוגמה הבאה מוצגת טבלה ב-BigQuery, אבל אפשר גם לייצא לקטגוריה של Cloud Storage. יכול להיות שלכל יעד פלט יש דרישות מוקדמות שצריך לעמוד בהן לפני ששולחים בקשה. לדוגמה, אם מציינים שם טבלה בשדה bigqueryDestination, צריך שיהיה קיים מערך נתונים. הדרישות האלה מתועדות בהפניית ה-API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו נמצא מאגר התכונות. לדוגמה,
us-central1. - PROJECT_ID: .
- FEATURESTORE_ID: מזהה של מאגר התכונות.
- ENTITY_TYPE_ID: מזהה סוג הישות.
- START_TIME ו-END_TIME: (אופציונלי) אם מציינים רק את שעת ההתחלה, הפונקציה מחזירה את כל הערכים בין השעה הנוכחית (כשנשלחת הבקשה) לבין שעת ההתחלה (כולל). אם מציינים רק את שעת הסיום, הפונקציה מחזירה את כל הערכים בין שעת הסיום (כולל) לבין חותמת הזמן של הערך הראשון (עבור כל תכונה). אם מציינים שעת התחלה ושעת סיום, הפונקציה מחזירה את כל הערכים בטווח הזמן שצוין (כולל). אם לא מציינים אף אחד מהם, הפונקציה מחזירה את כל הערכים בין השעה הנוכחית לבין חותמת הזמן של הערך הראשון (לכל תכונה).
- DATASET_NAME: השם של מערך הנתונים ביעד ב-BigQuery.
- TABLE_NAME: השם של טבלת היעד ב-BigQuery.
- FEATURE_ID: מזהה של תכונה אחת או יותר. מציינים
*(כוכבית) כדי לבחור את כל התכונות.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
גוף בקשת JSON:
{
"fullExport": {
"start_time": "START_TIME",
"end_time": "END_TIME"
},
"destination" : {
"bigqueryDestination": {
"outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME"
}
},
"featureSelector": {
"idMatcher": {
"ids": ["FEATURE_ID", ...]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues"
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/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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.ExportFeatureValuesOperationMetadata",
"genericMetadata": {
"createTime": "2021-12-03T22:55:25.974976Z",
"updateTime": "2021-12-03T22:55:25.974976Z"
}
}
}
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
במאמר שימוש ב-Vertex AI SDK ל-Python מוסבר איך להתקין את Vertex AI SDK ל-Python ואיך להשתמש בו. מידע נוסף מופיע במאמרי העזרה של ה-API בשפת Python של Vertex AI SDK.
המאמרים הבאים
- איך מבצעים העלאה של ערכי מאפיינים בקבוצות
- כך מציגים תכונות באמצעות הצגה אונליין.
- צפייה במכסת המשימות בו-זמניות של אצווה ב-Vertex AI Feature Store (גרסה קודמת).
- פתרון בעיות נפוצות ב-Vertex AI Feature Store (גרסה קודמת).