Visualização INFORMATION_SCHEMA.INSIGHTS
Para solicitar feedback ou suporte para esse recurso, envie um e-mail para bq-recommendations+feedback@google.com.
A visualização INFORMATION_SCHEMA.INSIGHTS
contém insights sobre todos os dados do BigQuery
e recomendações no projeto atual. O BigQuery recupera
insights de todos os tipos de insights do BigQuery do Hub de recomendações
e os apresenta nesta visualização. Os insights do BigQuery são sempre
associados a uma recomendação.
A visualização INFORMATION_SCHEMA.INSIGHTS
é compatível com estas
recomendações:
- Recomendações de partição e cluster
- Recomendações de visualização materializada
- Recomendações de função para conjuntos de dados do BigQuery
Permissão necessária
Para acessar insights com a visualização INFORMATION_SCHEMA.INSIGHTS
, você
precisa ter as permissões necessárias para o recomendador correspondente. A
visualização INFORMATION_SCHEMA.INSIGHTS
só retorna insights de recomendações
que você tem permissão para visualizar.
Peça ao administrador para conceder acesso para visualizar os insights. Para conferir as permissões necessárias para cada recomendador, consulte:
- Permissões do recomendador de partição e cluster
- Permissões de recomendações de visualização materializada
- Recomendações de função para permissões de conjuntos de dados
Esquema
A visualização INFORMATION_SCHEMA.INSIGHTS
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
insight_id |
STRING |
ID codificado em Base64 que contém o tipo e o ID do insight |
insight_type |
STRING |
O tipo do insight. Por exemplo, google.bigquery.materializedview.Insight |
subtype |
STRING |
O subtipo do insight. |
project_id |
STRING |
O ID do projeto. |
project_number |
STRING |
O número do projeto. |
description |
STRING |
A descrição da recomendação. |
last_updated_time |
TIMESTAMP |
Esse campo representa a hora em que o insight foi atualizado pela última vez. |
category |
STRING |
A categoria de otimização do impacto. |
target_resources |
STRING |
Nomes de recursos totalmente qualificados que esse insight está segmentando. |
state |
STRING |
O estado do insight. Para uma lista de valores possíveis, consulte Valor. |
severity |
STRING |
A gravidade do insight. Para uma lista de valores possíveis, consulte Gravidade. |
associated_recommendation_ids |
STRING |
Nomes completos de recomendações a que esse insight está associado. O nome da recomendação é a representação codificada em Base64 do tipo de recomendador e o ID das recomendações. |
additional_details |
RECORD |
Detalhes adicionais sobre o insight.
|
Escopo e sintaxe
As consultas nessa visualização precisam incluir um qualificador de região. Um ID do projeto é opcional. Se nenhum ID de projeto for especificado, o projeto em que a consulta será executada será usado.
Nome da visualização | Escopo do recurso | Escopo da região |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.INSIGHTS[_BY_PROJECT] |
Nível do projeto | REGION |
Opcional: PROJECT_ID
: o ID do seu
projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
REGION
: qualquer nome da região do conjunto de dados.
Por exemplo, `region-us`
.
Exemplo
Para executar a consulta em um projeto diferente do projeto padrão, adicione o ID do projeto no seguinte formato:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.INSIGHTS
PROJECT_ID
: o ID do projeto.REGION_NAME
: a região do projeto.
Por exemplo, `myproject`.`region-us`.INFORMATION_SCHEMA.INSIGHTS
Conferir insights ativos com economia de custos
O exemplo a seguir une a visualização de insights à visualização de recomendações para retornar três recomendações para os insights que estão ATIVOS na categoria CUSTO:
WITH
insights as (SELECT * FROM `region-us`.INFORMATION_SCHEMA.INSIGHTS),
recs as (SELECT recommender, recommendation_id, additional_details FROM `region-us`.INFORMATION_SCHEMA.RECOMMENDATIONS)
SELECT
recommender,
target_resources,
LAX_INT64(recs.additional_details.overview.bytesSavedMonthly) / POW(1024, 3) as est_gb_saved_monthly,
LAX_INT64(recs.additional_details.overview.slotMsSavedMonthly) / (1000 * 3600) as slot_hours_saved_monthly,
insights.additional_details.observation_period_seconds / 86400 as observation_period_days,
last_updated_time
FROM
insights
JOIN recs
ON
recommendation_id in UNNEST(associated_recommendation_ids)
WHERE
state = 'ACTIVE'
AND
category = 'COST'
LIMIT 3;
O resultado será semelhante ao seguinte:
+---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+ | recommender | target_resource | gb_saved_monthly | slot_hours_saved_monthly | observation_period_days | last_updated_time | +---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+ | google.bigquery.table.PartitionClusterRecommender | ["table_resource1"] | 3934.07264107652 | 10.499466666666667 | 30.0 | 2024-07-01 16:41:25 | | google.bigquery.table.PartitionClusterRecommender | ["table_resource2"] | 4393.7416711859405 | 56.61476777777777 | 30.0 | 2024-07-01 16:41:25 | | google.bigquery.materializedview.Recommender | ["project_resource"]| 140805.38289248943 | 9613.139166666666 | 2.0 | 2024-07-01 13:00:31 | +---------------------------------------------------+---------------------+--------------------+--------------------------+-------------------------+---------------------+