將單一實體類型所有實體的特徵值匯出至 BigQuery 資料表或 Cloud Storage 值區。您可以選擇取得快照,或完整匯出特徵值。相較於完整匯出作業,快照會針對每個特徵傳回單一值,完整匯出作業則會針對每個特徵傳回多個值。匯出特徵值時,無法選取特定實體 ID 或納入多個實體類型。
匯出特徵值有助於封存資料,或對資料執行臨時分析。舉例來說,您可以定期儲存特徵存放區的快照,以便儲存不同時間點的狀態。如要取得特徵值來建構訓練資料集,請改用批次服務。
快照與完整匯出作業比較
無論是快照還是完整匯出選項,您都可以指定單一時間戳記 (開始時間或結束時間),或同時指定兩個時間戳記,藉此查詢資料。如果是快照,Vertex AI 特徵儲存庫 (舊版) 會傳回指定時間範圍內的最新特徵值。在輸出內容中,與每個特徵值相關聯的時間戳記是快照時間戳記 (而非特徵值時間戳記)。
如要完整匯出,Vertex AI 特徵儲存庫 (舊版) 會傳回指定時間範圍內的所有特徵值。在輸出中,每個特徵值相關聯的時間戳記是特徵時間戳記 (擷取特徵值時指定的時間戳記)。
下表摘要說明 Vertex AI 特徵儲存庫 (舊版) 會根據您選擇的選項和提供的時間戳記傳回的內容。
選項 | 僅限開始時間 (含) | 僅限結束時間 (含) | 開始和結束時間 (含) |
---|---|---|---|
快照 | 從目前時間 (收到要求時) 開始,傳回最新值,並回溯至開始時間。 快照時間戳記會設為目前時間。 |
從結束時間開始,回溯至每個特徵的第一個值,並傳回最新值。 快照時間戳記會設為指定的結束時間。 |
傳回指定時間範圍內的最新值。 快照時間戳記會設為指定的結束時間。 |
完整匯出 | 傳回開始時間之後的所有值,直到目前時間 (傳送要求時)。 | 傳回所有值,直到結束時間為止,並回溯至每個特徵的第一個值。 | 傳回指定時間範圍內的所有值。 |
空值
如果是快照,如果特定時間戳記的最新特徵值為空值,Vertex AI 特徵儲存庫 (舊版) 會傳回先前的非空值特徵值。如果沒有先前的非空值,Vertex AI 特徵儲存庫 (舊版) 會傳回空值。
如果是完整匯出,如果特徵值在特定時間戳記為空值,Vertex AI 特徵儲存庫 (舊版) 會針對該時間戳記傳回空值。
範例
舉例來說,假設您在特徵存放區中擁有下列值,其中 Feature_A
和 Feature_B
的值共用相同時間戳記:
實體 ID | 特徵值時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | 空值 |
123 | T3 | A_T3 | 空值 |
123 | T4 | A_T4 | B_T4 |
123 | T5 | 空值 | B_T5 |
快照
如果是快照,Vertex AI 特徵儲存庫 (舊版) 會根據指定的時間戳記值,傳回下列值:
- 如果只有 start 時間設為
T3
,快照會傳回下列值:
實體 ID | 快照時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- 如果只將結束時間設為
T3
,快照會傳回下列值:
實體 ID | 快照時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- 如果 start 和 end 時間設為
T2
和T3
,快照會傳回下列值:
實體 ID | 快照時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | 空值 |
完整匯出
如要完整匯出,Vertex AI 特徵儲存庫 (舊版) 會根據指定的時間戳記值傳回下列值:
- 如果只有開始時間設為
T3
,完整匯出作業會傳回下列值:
實體 ID | 特徵值時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | 空值 |
123 | T4 | A_T4 | B_T4 |
123 | T5 | 空值 | B_T5 |
- 如果只有結束時間設為
T3
,完整匯出作業會傳回下列值:
實體 ID | 特徵值時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | 空值 |
123 | T3 | A_T3 | 空值 |
- 如果 start 和 end 時間設為
T2
和T4
,完整匯出作業會傳回下列值:
實體 ID | 特徵值時間戳記 | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | 空值 |
123 | T3 | A_T3 | 空值 |
123 | T4 | A_T4 | B_T4 |
匯出特徵值
匯出特徵值時,您可以選擇要查詢的特徵,以及匯出快照或完整資料。下列各節顯示每個選項的範例。
無論選擇哪種方式,輸出目的地都必須與來源特徵存放區位於相同區域。舉例來說,如果您的特徵商店位於 us-central1
,則目的地 Cloud Storage 值區或 BigQuery 資料表也必須位於 us-central1
。
快照
匯出指定時間範圍的最新特徵值。
網路使用者介面
請改用其他方法。您無法從Google Cloud 控制台匯出特徵值。
REST
如要匯出特徵值,請使用 entityTypes.exportFeatureValues 方法傳送 POST 要求。
下列範例會輸出 BigQuery 資料表,但您也可以輸出至 Cloud Storage 值區。提交要求前,每個輸出目的地可能都有一些必要條件。舉例來說,如果您為 bigqueryDestination
欄位指定資料表名稱,就必須有現有資料集。API 參考資料中會說明這些需求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:Featurestore 所在的區域。例如:
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATURESTORE_ID:特徵商店的 ID。
- ENTITY_TYPE_ID:實體類型 ID。
- START_TIME 和 END_TIME:(選用) 如果只指定開始時間,系統會從目前時間 (傳送要求時) 開始,回溯至開始時間,並傳回這段時間內的最新值。如果只指定結束時間,系統會傳回從結束時間 (含) 開始回溯至第一個值的最新值。如果指定開始時間和結束時間,系統會傳回指定時間範圍內的最新值 (含開始和結束時間)。如果兩者皆未指定,系統會傳回每個特徵的最新值,從目前時間開始回溯至第一個值。
- DATASET_NAME:目的地 BigQuery 資料集的名稱。
- TABLE_NAME:目的地 BigQuery 資料表的名稱。
- FEATURE_ID:一或多項功能的 ID。指定單一
*
(星號) 即可選取所有地圖項目。
HTTP 方法和網址:
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 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
在試用這個範例之前,請先按照Node.js使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
其他語言
如要瞭解如何安裝及使用 Python 適用的 Vertex AI SDK,請參閱「使用 Python 適用的 Vertex AI SDK」。詳情請參閱 Vertex AI SDK for Python API 參考說明文件。
完整匯出
匯出指定時間範圍內的所有特徵值。
網路使用者介面
請改用其他方法。您無法從Google Cloud 控制台匯出特徵值。
REST
如要匯出特徵值,請使用 entityTypes.exportFeatureValues 方法傳送 POST 要求。
下列範例會輸出 BigQuery 資料表,但您也可以輸出至 Cloud Storage 值區。提交要求前,每個輸出目的地可能都有一些必要條件。舉例來說,如果您為 bigqueryDestination
欄位指定資料表名稱,就必須有現有資料集。API 參考資料中會說明這些需求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:Featurestore 所在的區域。例如:
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATURESTORE_ID:特徵商店的 ID。
- ENTITY_TYPE_ID:實體類型 ID。
- START_TIME 和 END_TIME:(選用) 如果只指定開始時間,系統會傳回目前時間 (傳送要求時) 和開始時間之間的所有值 (含開始時間)。如果只指定結束時間,系統會傳回結束時間 (含) 與最早值時間戳記之間的所有值 (適用於各項功能)。如果您指定開始時間和結束時間,系統會傳回指定時間範圍內的所有值 (包括開始和結束時間)。如果兩者皆未指定,則會傳回目前時間和第一個值時間戳記之間的所有值 (適用於每個特徵)。
- DATASET_NAME:目的地 BigQuery 資料集的名稱。
- TABLE_NAME:目的地 BigQuery 資料表的名稱。
- FEATURE_ID:一或多項功能的 ID。指定單一
*
(星號) 即可選取所有地圖項目。
HTTP 方法和網址:
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 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
在試用這個範例之前,請先按照Node.js使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
其他語言
如要瞭解如何安裝及使用 Python 適用的 Vertex AI SDK,請參閱「使用 Python 適用的 Vertex AI SDK」。詳情請參閱 Vertex AI SDK for Python API 參考說明文件。