本頁面說明如何將 FHIR 資源批次匯出至 BigQuery,以供探索和分析。匯出作業會為 FHIR 存放區中的每個 FHIR 資源類型建立一個 BigQuery 資料表。
如要提升查詢效能並降低成本,建議將 FHIR 資源匯出至分區資料表。如需操作說明,請參閱「將 FHIR 資源匯出至分區資料表」。
如果您定期匯出 FHIR 資源,建議您以遞增方式匯出資料。如需操作說明,請參閱「增量匯出」。
設定 BigQuery 權限
將 FHIR 資源匯出至 BigQuery 前,您必須將額外權限授予 Cloud Healthcare 服務代理程式 服務帳戶。詳情請參閱「FHIR 存放區 BigQuery 權限」。
瞭解匯出行為
匯出作業的行為取決於下列因素:
- 目的地資料表是否存在。
- 您是否設定
force
欄位。 - 是否在
WriteDisposition
中指定列舉。如果指定列舉,請勿設定force
欄位。
各個情況的行為如下:
- 目標資料表存在,且
force
設為true
:匯出作業會覆寫現有資料表 - 目的地資料表存在,且
force
設為false
:發生錯誤 - 目標資料表不存在:匯出作業會建立新資料表,無論您是否指定
force
欄位 目的地資料表存在,且您將
WriteDisposition
設為WRITE_TRUNCATE
或WRITE_APPEND
:匯出作業會成功,而不是傳回錯誤
這項作業會為 FHIR 存放區中的每個資源類型輸出一個 BigQuery 資料表。
批次匯出 FHIR 資源
下列範例說明如何將 FHIR 資源匯出至 BigQuery 資料表。
指定 BigQuery 目的地時,請使用完整 URI:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
控制台
如要使用Google Cloud 控制台將 FHIR 資源匯出至 BigQuery,請完成下列步驟:
在 Google Cloud 控制台中,前往「Datasets」(資料集) 頁面。
按一下含有 FHIR 儲存庫的資料集,該儲存庫包含您要匯出的資料。
在 FHIR 儲存庫所在的資料列中,開啟「動作」清單,然後選取「匯出」。
在隨即顯示的「Export FHIR resources」(匯出 FHIR 資源) 頁面中,找到「Select a destination」(選取目的地) 專區。選取「BigQuery 資料表」。
在「目標資料表寫入配置」部分,選取下列其中一個選項,決定匯出作業的行為:
- 只在目的地資料表空白時匯出資料:這相當於在
WriteDisposition
中選取WRITE_EMPTY
列舉。 - 將資料附加至目的地資料表:這相當於在
WriteDisposition
中選取WRITE_APPEND
列舉。 - 在寫入 FHIR 資源前清除目的地資料表中的所有現有資料:這等同於在
WriteDisposition
中選取WRITE_TRUNCATE
列舉。
- 只在目的地資料表空白時匯出資料:這相當於在
在「FHIR 匯出設定」部分,按一下「瀏覽」,選取 BigQuery 專案和資料集。
在「結構定義類型」下拉式選單中,選取 BigQuery 資料表的輸出結構定義。可用的結構定義如下:
- Analytics。以 FHIR 的 SQL 文件為基礎的結構定義。由於 BigQuery 每張資料表最多只能有 10,000 個資料欄,因此系統不會為
Parameters.parameter.resource
、Bundle.entry.resource
和Bundle.entry.response.outcome
欄位產生結構定義。 - Analytics V2。類似於 Analytics 結構定義的結構定義,但新增了下列支援:Analytics 第 2 版結構定義在目的地表格中使用的空間,比 Analytics 結構定義更多。
- Analytics。以 FHIR 的 SQL 文件為基礎的結構定義。由於 BigQuery 每張資料表最多只能有 10,000 個資料欄,因此系統不會為
在「遞迴結構深度」滑桿中選取深度層級,即可為輸出結構定義中的所有遞迴結構設定深度。根據預設,遞迴值為 2。
詳情請參閱
recursiveStructureDepth
。按一下「匯出」,將 FHIR 資源匯出至 BigQuery。
- 如要追蹤作業狀態,請按一下「Operations」(作業) 分頁標籤。作業完成後,會顯示下列指標:
- 「長時間執行的作業狀態」部分在「OK」標題下方顯示綠色勾號。
- 「總覽」部分會顯示綠色勾號和「OK」指標,與作業 ID 位於同一列。
gcloud
如要將 FHIR 資源匯出至 BigQuery,請執行 gcloud healthcare fhir-stores export bq
指令。
匯出 FHIR 資源。
使用下方的任何指令資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- LOCATION:資料集位置
- DATASET_ID:FHIR 儲存庫的父項資料集
- FHIR_STORE_ID:FHIR 儲存庫 ID
- BIGQUERY_DATASET_ID:現有 BigQuery 資料集的名稱,您要將 FHIR 資源匯出至該資料集
- SCHEMA_TYPE:
SchemaType
的值。請使用下列其中一個值:analytics
. 以 FHIR 上的 SQL 文件為基礎的結構定義。由於 BigQuery 每張資料表最多只能有 10,000 個資料欄,因此系統不會為Parameters.parameter.resource
、Bundle.entry.resource
和Bundle.entry.response.outcome
欄位產生結構定義。analytics_v2
。類似於analytics
的架構,但新增了下列項目的支援:analytics-v2
比analytics
佔用更多目標資料表空間。
- WRITE_DISPOSITION:
WriteDisposition
的值。請使用下列其中一個值:write-empty
。只在目的地 BigQuery 資料表空白時匯出資料。write-truncate
。在寫入 FHIR 資源前,清除 BigQuery 資料表中的所有現有資料。write-append
. 將資料附加至目的地 BigQuery 資料表。
- FHIR_RESOURCE_TYPE:選填欄位。指定一或多個以半形逗號分隔的 FHIR 資源類型,只匯出這些類型的 FHIR 資源。
- SINCE_TIMESTAMP:選填欄位。以
YYYY-MM-DDThh:mm:ss.sss+zz:zz
格式指定值,即可只匯出特定時間後更新的 FHIR 資源。指定時間時須精確到秒,並包含時區。舉例來說,2015-02-07T13:28:17.239+02:00
和2017-01-01T00:00:00Z
都是有效時間。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare fhir-stores export bq FHIR_STORE_ID \ --location=LOCATION \ --dataset=DATASET_ID \ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID \ --schema-type=SCHEMA_TYPE \ --write-disposition=WRITE_DISPOSITION \ --resource-type=FHIR_RESOURCE_TYPE \ --since=SINCE_TIMESTAMP
Windows (PowerShell)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ` --location=LOCATION ` --dataset=DATASET_ID ` --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ` --schema-type=SCHEMA_TYPE ` --write-disposition=WRITE_DISPOSITION ` --resource-type=FHIR_RESOURCE_TYPE ` --since=SINCE_TIMESTAMP
Windows (cmd.exe)
gcloud healthcare fhir-stores export bq FHIR_STORE_ID ^ --location=LOCATION ^ --dataset=DATASET_ID ^ --bq-dataset=bq://PROJECT_ID.BIGQUERY_DATASET_ID ^ --schema-type=SCHEMA_TYPE ^ --write-disposition=WRITE_DISPOSITION ^ --resource-type=FHIR_RESOURCE_TYPE ^ --since=SINCE_TIMESTAMP
name
欄位中輸出作業名稱。請記下OPERATION_ID
的值。您會在下一個步驟中用到這個值。回應
Request issued for: [FHIR_STORE_ID] Waiting for operation [projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID] to complete...⠏ name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
如要查看作業的詳細資料,請執行
gcloud healthcare operations describe
,並提供回應中的 OPERATION_ID。使用下方的任何指令資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- DATASET_ID:資料集 ID
- LOCATION:資料集位置
- OPERATION_ID:長時間執行的作業傳回的 ID
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud healthcare operations describe OPERATION_ID \ --project=PROJECT_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows (PowerShell)
gcloud healthcare operations describe OPERATION_ID ` --project=PROJECT_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud healthcare operations describe OPERATION_ID ^ --project=PROJECT_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
您應該會收到類似以下的回應:
回應
done: true // If there were any errors, an `error` field displays instead of a `response` field. // See Troubleshooting long-running operations for a list of response codes. error: ERROR code: ERROR_CODE message: DESCRIPTION metadata: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata' apiMethodName: 'google.cloud.healthcare.v1.fhir.FhirStoreService.ExportResources_bq' counter: success: 'SUCCESS_COUNT' // If there were any failures, they display in the `failure` field. failure: 'FAILURE_COUNT' createTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' endTime: 'YYYY-MM-DDTHH:MM:SS+ZZ:ZZ' logsUrl: https://console.cloud.google.com/CLOUD_LOGGING_URL name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID // The `response` field only displays if there were no errors. response: '@type': 'type.googleapis.com/google.cloud.healthcare.v1.fhir.ExportResourcesResponse'
REST
如要將 FHIR 資源匯出至 BigQuery,請使用 projects.locations.datasets.fhirStores.export
方法。
匯出 FHIR 資源:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- LOCATION:資料集位置
- DATASET_ID:FHIR 儲存庫的父項資料集
- FHIR_STORE_ID:FHIR 儲存庫 ID
- BIGQUERY_DATASET_ID:現有 BigQuery 資料集的名稱,您要將 FHIR 資源匯出至該資料集
- SCHEMA_TYPE:
SchemaType
的值。請使用下列其中一個值:ANALYTICS
. 以 FHIR 的 SQL 文件為基礎的結構定義。由於 BigQuery 每張資料表最多只能有 10,000 個資料欄,因此系統不會為Parameters.parameter.resource
、Bundle.entry.resource
和Bundle.entry.response.outcome
欄位產生結構定義。ANALYTICS_V2
。類似ANALYTICS
的架構,但新增了下列支援:
。ANALYTICS_V2
在目的地資料表使用的空間比ANALYTICS
多
- WRITE_DISPOSITION:
WriteDisposition
的值。請使用下列其中一個值:WRITE_EMPTY
。只在目的地 BigQuery 資料表空白時匯出資料。WRITE_TRUNCATE
。在寫入 FHIR 資源前,清除 BigQuery 資料表中的所有現有資料。WRITE_APPEND
. 將資料附加至目的地 BigQuery 資料表。
- FHIR_RESOURCE_TYPE:選填欄位。指定一或多個以半形逗號分隔的 FHIR 資源類型,只匯出這些類型的 FHIR 資源。
- SINCE_TIMESTAMP:選填欄位。以
YYYY-MM-DDThh:mm:ss.sss+zz:zz
格式指定值,即可只匯出特定時間後更新的 FHIR 資源。指定時間時須精確到秒,並包含時區。舉例來說,2015-02-07T13:28:17.239+02:00
和2017-01-01T00:00:00Z
都是有效時間。
JSON 要求主體:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為
request.json
的檔案中。 在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } EOF
接著,請執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
將要求主體儲存在名為
request.json
的檔案中。 在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" } '@ | Out-File -FilePath request.json -Encoding utf8
接著,請執行下列指令來傳送 REST 要求:
$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://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPIs Explorer
複製要求內文並開啟方法參考資料頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。將要求內文貼到這項工具中,並填妥其他必填欄位,然後按一下「Execute」(執行)。
OPERATION_ID
的值。您會在下一個步驟中用到這個值。使用
projects.locations.datasets.operations.get
方法取得長時間執行的作業狀態。使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- DATASET_ID:資料集 ID
- LOCATION:資料集位置
- OPERATION_ID:長時間執行的作業傳回的 ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。
"done": true
,表示長時間執行的作業已完成。
將 FHIR 資源匯出至分區資料表
如要將 FHIR 資源匯出至 BigQuery 分區資料表,請在 FHIR 儲存庫的 lastUpdatedPartitionConfig
欄位中設定 TimePartitioning
列舉。
分區資料表運作方式與 BigQuery 時間單位分區資料表類似。分區資料表會新增名為 lastUpdated
的資料欄,這是從 FHIR 資源的 meta.lastUpdated
欄位產生的 meta.lastUpdated
資料欄副本。BigQuery 會使用 lastUpdated
資料欄,依小時、天、月或年將資料表分區。
如需如何選取分區細微程度的建議,請參閱「選取每日、每小時、每月或每年分區」。
您無法將現有的非分區 BigQuery 資料表轉換為分區資料表。如果將 Patient 資源變更匯出至非分區 Patients
資料表,然後建立新的 FHIR 儲存庫 (含資料表分區),並匯出至相同的 BigQuery 資料集,Cloud Healthcare API 仍會將資料匯出至非分區 Patients
資料表。如要開始使用已分割的資料表,請刪除現有的 Patients
資料表,或使用其他 BigQuery 資料集。
如果您在現有的 FHIR 存放區設定中新增分區,仍可匯出至現有的非分區資料表。不過,分區功能只會對新資料表生效。
下列範例說明如何將 FHIR 資源匯出至 BigQuery 分區資料表。
控制台
Google Cloud 控制台和 gcloud CLI 不支援這項操作。請改用 curl
、PowerShell 或偏好語言。
gcloud
Google Cloud 控制台和 gcloud CLI 不支援這項操作。請改用 curl
、PowerShell 或偏好語言。
REST
如要將 FHIR 資源匯出至 BigQuery 分區資料表,請使用 projects.locations.datasets.fhirStores.export
方法。
匯出 FHIR 資源:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- LOCATION:資料集位置
- DATASET_ID:FHIR 儲存庫的父項資料集
- FHIR_STORE_ID:FHIR 儲存庫 ID
- BIGQUERY_DATASET_ID:現有 BigQuery 資料集的名稱,您要將 FHIR 資源匯出至該資料集
- SCHEMA_TYPE:
SchemaType
的值。請使用下列其中一個值:ANALYTICS
. 以 FHIR 的 SQL 文件為基礎的結構定義。由於 BigQuery 每張資料表最多只能有 10,000 個資料欄,因此系統不會為Parameters.parameter.resource
、Bundle.entry.resource
和Bundle.entry.response.outcome
欄位產生結構定義。ANALYTICS_V2
。類似ANALYTICS
的架構,但新增了下列支援:
。ANALYTICS_V2
在目的地資料表使用的空間比ANALYTICS
多
- TIME_PARTITION_TYPE:分割匯出 FHIR 資源的精細程度。請使用下列其中一個值:
HOUR
:按小時分區資料DAY
:按天分區資料MONTH
:按月分區資料YEAR
:按年份劃分資料
- WRITE_DISPOSITION:
WriteDisposition
的值。請使用下列其中一個值:WRITE_EMPTY
:只有在 BigQuery 資料表為空白時,才會匯出資料。WRITE_TRUNCATE
:在寫入 DICOM 執行個體前,清除 BigQuery 資料表中的所有現有資料。WRITE_APPEND
:將資料附加至 BigQuery 資料表。
JSON 要求主體:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為
request.json
的檔案中。 在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:cat > request.json << 'EOF' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } EOF
接著,請執行下列指令來傳送 REST 要求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export"PowerShell
將要求主體儲存在名為
request.json
的檔案中。 在終端機中執行下列指令,在目前目錄中建立或覆寫這個檔案:@' { "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } } '@ | Out-File -FilePath request.json -Encoding utf8
接著,請執行下列指令來傳送 REST 要求:
$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://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:export" | Select-Object -Expand ContentAPIs Explorer
複製要求內文並開啟方法參考資料頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。將要求內文貼到這項工具中,並填妥其他必填欄位,然後按一下「Execute」(執行)。
您應該會收到如下的 JSON 回應:
使用
projects.locations.datasets.operations.get
方法取得長時間執行的作業狀態。使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:您的 Google Cloud 專案 ID
- DATASET_ID:資料集 ID
- LOCATION:資料集位置
- OPERATION_ID:長時間執行的作業傳回的 ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
開啟方法參考頁面。系統會在頁面右側開啟 APIs Explorer 面板。您可以使用這項工具來傳送要求。完成任何必填欄位,然後按一下「執行」。
"done": true
,表示長時間執行的作業已完成。
查詢分區資料表
如要減少查詢分區資料表時的查詢費用,請使用 WHERE
子句依時間單位篩選。
舉例來說,假設您將 PartitionType
列舉設為 DAY
。如要查詢 Patients
資料表,找出在特定日期更新的 Patient 資源,請執行下列查詢:
SELECT * FROM `PROJECT_ID.BIGQUERY_DATASET.Patients` WHERE DATE(lastUpdated) = 'YYYY-MM-DD'
增量匯出
您可以指定時間戳記,只匯出先前成功匯出後新增至 FHIR 儲存庫的 FHIR 資源。這項功能可提升效能,避免重新匯出整個 FHIR 存放區的成本,同時確保匯出的資料一律為最新狀態。
呼叫 fhirStores.export
時,請在 _since
欄位中指定時間戳記。
在 BigQuery 中查詢及分析 FHIR 資料
將 FHIR 資源匯出至 BigQuery 後,請參閱「在 BigQuery 中分析 FHIR 資料」解決方案,瞭解如何查詢及分析匯出的資料。這項解決方案使用 FHIR 格式的 Synthea™ 生成合成資料公開資料集,其中包含超過 100 萬筆以 Synthea™ 和 FHIR 格式生成的合成病患記錄。
排解 FHIR 匯出要求問題
如果 FHIR 匯出要求發生錯誤,系統會將錯誤記錄到 Cloud Logging。詳情請參閱「查看 Cloud Logging 中的錯誤記錄檔」。
如果整個作業傳回錯誤,請參閱「排解長期執行的作業問題」。
無法將資料欄從 NULLABLE 轉換為 REPEATED
這個錯誤是由重複的擴充功能所造成。如要解決這項錯誤,請使用 ANALYTICS_V2
結構化資料類型。如果您使用 ANALYTICS_V2
,可能會有兩個擴充功能之間發生衝突,或是擴充功能與其他欄位發生衝突。
系統會根據擴展網址中最後一個 /
字元後的文字產生資料欄名稱。如果擴展網址以 /resource_field name
等值結尾,可能會發生衝突。\
為避免再次發生這項錯誤,請勿使用欄位名稱與您填入的資源欄位相同的擴充功能。
後續步驟
- 如要進一步瞭解 BigQuery 的資料管理和安全性,請參閱「資料安全和管理總覽」。