Esta página descreve como exportar em lote recursos FHIR para o BigQuery para exploração e análise. A operação de exportação cria uma tabela do BigQuery para cada tipo de recurso FHIR na sua loja FHIR.
Para melhorar o desempenho das consultas e reduzir os custos, considere exportar recursos FHIR para tabelas com partições. Para ver instruções, consulte o artigo Exporte recursos FHIR para tabelas particionadas.
Se exportar recursos FHIR de forma programada, considere exportar os dados de forma incremental. Para ver instruções, consulte o artigo Exportações incrementais.
Definir autorizações do BigQuery
Antes de exportar recursos FHIR para o BigQuery, tem de conceder autorizações adicionais à conta de serviço do agente do Cloud Healthcare Service . Para mais informações, consulte as autorizações do BigQuery da loja FHIR.
Compreenda o comportamento de exportação
O comportamento da operação de exportação depende do seguinte:
- Indica se a tabela de destino existe.
- Se define o campo
force
. - Se especifica uma enumeração em
WriteDisposition
. Se especificar uma enumeração, não defina o campoforce
.
O comportamento em cada caso é o seguinte:
- A tabela de destino existe e
force
está definido comotrue
: a operação de exportação substitui a tabela existente - A tabela de destino existe e
force
está definida comofalse
: ocorre um erro - A tabela de destino não existe: a operação de exportação cria uma nova tabela, independentemente de especificar o campo
force
A tabela de destino existe e definiu
WriteDisposition
comoWRITE_TRUNCATE
ouWRITE_APPEND
: a operação de exportação é bem-sucedida em vez de devolver um erro
A operação gera uma tabela do BigQuery para cada tipo de recurso no FHIR store.
Exporte recursos FHIR em lote
Os exemplos seguintes mostram como exportar recursos FHIR para uma tabela do BigQuery.
Quando especificar o destino do BigQuery, use o URI totalmente qualificado:
bq://PROJECT_ID.BIGQUERY_DATASET_ID.BIGQUERY_TABLE_ID
Consola
Para exportar recursos FHIR para o BigQuery através da Google Cloud consola, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Conjuntos de dados.
Clique no conjunto de dados que tem o FHIR store com os dados que está a exportar.
Na mesma linha que a loja FHIR, abra a lista Ações e selecione Exportar.
Na página Exporte recursos FHIR apresentada, encontre a secção Selecione um destino. Selecione Tabela do BigQuery.
Na secção Destination table write disposition, selecione uma das seguintes opções para determinar o comportamento da operação de exportação:
- Exporte dados apenas se as tabelas de destino estiverem vazias: isto é equivalente
a selecionar a enumeração
WRITE_EMPTY
emWriteDisposition
. - Anexar dados às tabelas de destino: isto é equivalente
a selecionar a enumeração
WRITE_APPEND
emWriteDisposition
. - Apagar todos os dados existentes nas tabelas de destino antes de escrever os recursos FHIR: isto é equivalente a selecionar a enumeração
WRITE_TRUNCATE
emWriteDisposition
.
- Exporte dados apenas se as tabelas de destino estiverem vazias: isto é equivalente
a selecionar a enumeração
Na secção Configuração da exportação FHIR, clique em Procurar para selecionar o projeto e o conjunto de dados do BigQuery.
No menu pendente Tipo de esquema, selecione o esquema de saída para a tabela do BigQuery. Estão disponíveis os seguintes esquemas:
- Analytics. Um esquema baseado no documento SQL on FHIR. Uma vez que o BigQuery só permite 10 000 colunas por tabela, os esquemas não são gerados para os campos
Parameters.parameter.resource
,Bundle.entry.resource
eBundle.entry.response.outcome
. - Analytics V2. Um esquema semelhante ao esquema do Analytics, com apoio técnico adicional para o seguinte: O esquema do Analytics V2 usa mais espaço na tabela de destino do que o esquema do Analytics.
- Analytics. Um esquema baseado no documento SQL on FHIR. Uma vez que o BigQuery só permite 10 000 colunas por tabela, os esquemas não são gerados para os campos
Selecione um nível de profundidade no controlo de deslize Profundidade da estrutura recursiva para definir a profundidade de todas as estruturas recursivas no esquema de saída. Por predefinição, o valor recursivo é 2.
Para mais informações, consulte
recursiveStructureDepth
.Clique em Exportar para exportar recursos FHIR para o BigQuery.
- Para acompanhar o estado da operação, clique no separador Operações. Após a conclusão da operação, são apresentadas as seguintes indicações:
- A secção Estado da operação de longa duração tem uma marca de verificação verde no cabeçalho OK.
- A secção Vista geral tem uma marca de verificação verde e um indicador OK na mesma linha que o ID da operação.
gcloud
Para exportar recursos FHIR para o BigQuery, execute o comando
gcloud healthcare fhir-stores export bq
.
Exporte os recursos FHIR.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- BIGQUERY_DATASET_ID: o nome do conjunto de dados do BigQuery existente para o qual está a exportar recursos FHIR
- SCHEMA_TYPE: um valor para
SchemaType
. Use um dos seguintes valores:analytics
. Um esquema baseado no documento SQL on FHIR. Uma vez que o BigQuery só permite 10 000 colunas por tabela, os esquemas não são gerados para os camposParameters.parameter.resource
,Bundle.entry.resource
eBundle.entry.response.outcome
.analytics_v2
. Um esquema semelhante aoanalytics
com suporte adicional para o seguinte:analytics-v2
usa mais espaço na tabela de destino do queanalytics
.
- WRITE_DISPOSITION: um valor para
WriteDisposition
. Use um dos seguintes valores:write-empty
. Exporte dados apenas se as tabelas do BigQuery de destino estiverem vazias.write-truncate
. Apague todos os dados existentes nas tabelas do BigQuery antes de escrever os recursos FHIR.write-append
. Anexar dados às tabelas do BigQuery de destino.
- FHIR_RESOURCE_TYPE: um campo opcional. Especifique um ou mais tipos de recursos FHIR delimitados por vírgulas para exportar apenas recursos FHIR desses tipos.
- SINCE_TIMESTAMP: um campo opcional. Especifique um valor no formato
YYYY-MM-DDThh:mm:ss.sss+zz:zz
para exportar apenas recursos FHIR atualizados após um momento específico. Especifique a hora até ao segundo e inclua um fuso horário. Por exemplo,2015-02-07T13:28:17.239+02:00
e2017-01-01T00:00:00Z
são horas válidas.
Execute o seguinte comando:
Linux, macOS ou 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
após a conclusão da exportação. Repare no valor deOPERATION_ID
. Precisa deste valor no passo seguinte.Resposta
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
Para ver mais detalhes sobre a operação, execute o comando
gcloud healthcare operations describe
e indique o OPERATION_ID da resposta.Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- DATASET_ID: o ID do conjunto de dados
- LOCATION: a localização do conjunto de dados
- OPERATION_ID: o ID devolvido pela operação de longa duração
Execute o seguinte comando:
Linux, macOS ou 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
Deve receber uma resposta semelhante à seguinte:
Resposta
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
Para exportar recursos FHIR para o BigQuery, use o método
projects.locations.datasets.fhirStores.export
.
Exporte os recursos FHIR:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- BIGQUERY_DATASET_ID: o nome do conjunto de dados do BigQuery existente para o qual está a exportar recursos FHIR
- SCHEMA_TYPE: um valor para
SchemaType
. Use um dos seguintes valores:ANALYTICS
. Um esquema baseado no documento SQL on FHIR. Uma vez que o BigQuery só permite 10 000 colunas por tabela, os esquemas não são gerados para os camposParameters.parameter.resource
,Bundle.entry.resource
eBundle.entry.response.outcome
.ANALYTICS_V2
. Um esquema semelhante aoANALYTICS
com suporte adicional para o seguinte:
.ANALYTICS_V2
usa mais espaço na tabela de destino do queANALYTICS
- WRITE_DISPOSITION: um valor para
WriteDisposition
. Use um dos seguintes valores:WRITE_EMPTY
. Exporte dados apenas se as tabelas do BigQuery de destino estiverem vazias.WRITE_TRUNCATE
. Apague todos os dados existentes nas tabelas do BigQuery antes de escrever os recursos FHIR.WRITE_APPEND
. Anexar dados às tabelas do BigQuery de destino.
- FHIR_RESOURCE_TYPE: um campo opcional. Especifique um ou mais tipos de recursos FHIR delimitados por vírgulas para exportar apenas recursos FHIR desses tipos.
- SINCE_TIMESTAMP: um campo opcional. Especifique um valor no formato
YYYY-MM-DDThh:mm:ss.sss+zz:zz
para exportar apenas recursos FHIR atualizados após um momento específico. Especifique a hora até ao segundo e inclua um fuso horário. Por exemplo,2015-02-07T13:28:17.239+02:00
e2017-01-01T00:00:00Z
são horas válidas.
Corpo JSON do pedido:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", }, "writeDisposition": "WRITE_DISPOSITION" }, "_type": "FHIR_RESOURCE_TYPE", "_since": "SINCE_TIMESTAMP" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual: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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "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
Em seguida, execute o seguinte comando para enviar o seu pedido 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 ContentExplorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
OPERATION_ID
. Precisa deste valor no passo seguinte.Use o método
projects.locations.datasets.operations.get
para obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- DATASET_ID: o ID do conjunto de dados
- LOCATION: a localização do conjunto de dados
- OPERATION_ID: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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 ContentExplorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, a operação de longa duração terminou.
Exporte recursos FHIR para tabelas particionadas
Para exportar recursos FHIR para tabelas particionadas do BigQuery, defina a enumeração TimePartitioning
no campo lastUpdatedPartitionConfig
na sua loja FHIR.
As tabelas particionadas funcionam como tabelas particionadas por unidade de tempo do BigQuery.
As tabelas particionadas têm uma coluna adicionada denominada lastUpdated
, que é uma duplicada
da coluna meta.lastUpdated
gerada a partir do campo meta.lastUpdated
num
recurso FHIR. O BigQuery usa a coluna lastUpdated
para particionar tabelas por hora, dia, mês ou ano.
Consulte Selecione a partição diária, por hora, mensal ou anual para ver recomendações sobre como selecionar um nível de detalhe da partição.
Não é possível converter tabelas do BigQuery existentes não particionadas em tabelas particionadas. Se exportar alterações do recurso Patient para uma tabela Patients
não particionada e, posteriormente, criar um novo FHIR store com a partição de tabelas que exporta para o mesmo conjunto de dados do BigQuery, a Cloud Healthcare API continua a exportar dados para a tabela Patients
não particionada. Para começar a usar uma tabela particionada,
elimine a tabela Patients
existente ou use um conjunto de dados do BigQuery diferente.
Se adicionar a partição a uma configuração da loja FHIR existente, ainda pode exportar para tabelas não particionadas existentes. No entanto, a partição só entra em vigor em novas tabelas.
Os exemplos seguintes mostram como exportar recursos FHIR para tabelas particionadas do BigQuery.
Consola
A consola Google Cloud e a CLI gcloud não suportam esta ação. Em alternativa, use curl
, o PowerShell ou o seu idioma preferido.
gcloud
A consola Google Cloud e a CLI gcloud não suportam esta ação. Em alternativa, use curl
, o PowerShell ou o seu idioma preferido.
REST
Para exportar recursos FHIR para tabelas particionadas do BigQuery, use o método
projects.locations.datasets.fhirStores.export
.
Exporte os recursos FHIR:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o conjunto de dados principal do FHIR store
- FHIR_STORE_ID: o ID da loja FHIR
- BIGQUERY_DATASET_ID: o nome do conjunto de dados do BigQuery existente para o qual está a exportar recursos FHIR
- SCHEMA_TYPE: um valor para
SchemaType
. Use um dos seguintes valores:ANALYTICS
. Um esquema baseado no documento SQL on FHIR. Uma vez que o BigQuery só permite 10 000 colunas por tabela, os esquemas não são gerados para os camposParameters.parameter.resource
,Bundle.entry.resource
eBundle.entry.response.outcome
.ANALYTICS_V2
. Um esquema semelhante aoANALYTICS
com suporte adicional para o seguinte:
.ANALYTICS_V2
usa mais espaço na tabela de destino do queANALYTICS
- TIME_PARTITION_TYPE: o nível de detalhe ao qual particionar os recursos FHIR exportados. Use um dos seguintes valores:
HOUR
: particione os dados por horaDAY
: particione os dados por diaMONTH
: particione os dados por mêsYEAR
: crie partições de dados por ano
- WRITE_DISPOSITION: um valor para
WriteDisposition
. Use um dos seguintes valores:WRITE_EMPTY
: exportar dados apenas se a tabela do BigQuery estiver vazia.WRITE_TRUNCATE
: apaga todos os dados existentes na tabela do BigQuery antes de escrever as instâncias DICOM.WRITE_APPEND
: acrescentar dados à tabela do BigQuery.
Corpo JSON do pedido:
{ "bigqueryDestination": { "datasetUri": "bq://PROJECT_ID.BIGQUERY_DATASET_ID", "schemaConfig": { "schemaType": "SCHEMA_TYPE", "lastUpdatedPartitionConfig": { "type": "TIME_PARTITION_TYPE" } }, "writeDisposition": "WRITE_DISPOSITION" } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual: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
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado
request.json
. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:@' { "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
Em seguida, execute o seguinte comando para enviar o seu pedido 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 ContentExplorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Use o método
projects.locations.datasets.operations.get
para obter o estado da operação de execução longa.Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- DATASET_ID: o ID do conjunto de dados
- LOCATION: a localização do conjunto de dados
- OPERATION_ID: o ID devolvido pela operação de longa duração
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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 ContentExplorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
"done": true
, a operação de longa duração terminou.
Consulte uma tabela particionada
Para reduzir os custos de consulta ao consultar tabelas particionadas, use a cláusula
WHERE
para filtrar por unidades de tempo.
Por exemplo, suponha que define a enumeração
PartitionType
como DAY
.
Para consultar uma tabela Patients
para recursos de pacientes que foram atualizados numa data específica, execute a seguinte consulta:
SELECT * FROM `PROJECT_ID.BIGQUERY_DATASET.Patients` WHERE DATE(lastUpdated) = 'YYYY-MM-DD'
Exportações incrementais
Pode especificar uma data/hora para exportar apenas recursos FHIR adicionados à sua loja FHIR desde uma exportação bem-sucedida anterior. Isto melhora o desempenho e evita o custo de reexportar toda a loja FHIR, ao mesmo tempo que garante que os dados exportados estão sempre atualizados.
Quando chamar fhirStores.export
,
especifique a data/hora no campo _since
.
Consultar e analisar dados FHIR no BigQuery
Depois de exportar os recursos FHIR para o BigQuery, consulte a solução Analisar dados FHIR no BigQuery para ver informações sobre como consultar e analisar os dados exportados. A solução usa o conjunto de dados público Synthea™ Generated Synthetic Data in FHIR, que aloja mais de 1 milhão de registos de pacientes sintéticos gerados nos formatos Synthea™ e FHIR.
Resolução de problemas de pedidos de exportação de FHIR
Se ocorrerem erros durante um pedido de exportação FHIR, os erros são registados no Cloud Logging. Para mais informações, consulte o artigo Ver registos de erros nos Registos na nuvem.
Se toda a operação devolver um erro, consulte o artigo Resolução de problemas de operações de longa duração.
Não é possível converter a coluna de NULLABLE para REPEATED
Este erro é causado por uma extensão repetida. Para resolver este erro,
use o tipo de esquema ANALYTICS_V2
. Se estiver a usar o ANALYTICS_V2
, pode ter um conflito entre duas extensões ou um conflito entre uma extensão e outro campo.
Os nomes das colunas são gerados a partir do texto após o último caráter /
nos URLs das extensões. Se um URL de extensão terminar com um valor como /resource_field name
, pode ocorrer um conflito. \
Para evitar que este erro ocorra novamente, não use extensões se os respetivos nomes dos campos forem iguais aos campos de recursos que está a preencher.
O que se segue?
- Para saber mais sobre a governação e a segurança de dados no BigQuery, consulte o artigo Vista geral da segurança e governação de dados.