Vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
La vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
contiene los metadatos casi en tiempo real sobre el consumo de las tablas de tu conjunto de datos compartido. Para empezar a compartir datos entre organizaciones, consulte Compartir datos de BigQuery (antes Analytics Hub).
Roles obligatorios
Para obtener el permiso que necesitas para consultar la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Propietario de datos de BigQuery (roles/bigquery.dataOwner
) en tu proyecto de origen.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso bigquery.datasets.listSharedDatasetUsage
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
, que es necesario para consultar la vista bigquery.datasets.listSharedDatasetUsage
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
También puedes obtener este permiso con roles personalizados u otros roles predefinidos.
Esquema
Los datos subyacentes se particionan por la columnajob_start_time
y se agrupan en clústeres por project_id
y dataset_id
.
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
tiene el siguiente esquema:
Nombre de la columna | Data type (Dato) | Valor |
---|---|---|
project_id
|
STRING
|
(Columna de clustering) ID del proyecto que contiene el conjunto de datos compartido. |
dataset_id
|
STRING
|
(Columna de clustering): ID del conjunto de datos compartido. |
table_id
|
STRING
|
ID de la tabla a la que se ha accedido. |
data_exchange_id
|
STRING
|
Ruta del recurso del intercambio de datos. |
listing_id
|
STRING
|
Ruta de recurso de la ficha. |
job_start_time
|
TIMESTAMP
|
(Columna de partición) Hora de inicio de este trabajo. |
job_end_time
|
TIMESTAMP
|
Hora de finalización de este trabajo. |
job_id
|
STRING
|
El ID del trabajo. Por ejemplo, bquxjob_1234. |
job_project_number
|
INTEGER
|
Número del proyecto al que pertenece este trabajo. |
job_location
|
STRING
|
La ubicación del trabajo. |
linked_project_number
|
INTEGER
|
El número de proyecto del proyecto del suscriptor. |
linked_dataset_id
|
STRING
|
ID del conjunto de datos vinculado del conjunto de datos del suscriptor. |
subscriber_org_number
|
INTEGER
|
El número de organización en el que se ha ejecutado el trabajo. Es el número de organización del suscriptor. Este campo está vacío en los proyectos que no tienen una organización. |
subscriber_org_display_name
|
STRING
|
Cadena legible por humanos que hace referencia a la organización en la que se ha ejecutado el trabajo. Es el número de organización del suscriptor. Este campo está vacío en los proyectos que no tienen una organización. |
job_principal_subject
|
STRING
|
El identificador principal (ID de correo de usuario, cuenta de servicio, ID de correo de grupo o dominio) de los usuarios que ejecutan trabajos y consultas en conjuntos de datos vinculados. |
num_rows_processed
|
INTEGER
|
Número de filas procesadas de esta tabla por el trabajo. |
total_bytes_processed
|
INTEGER
|
El total de bytes procesados de esta tabla por la tarea. |
Conservación de datos
La vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
contiene los trabajos en curso y el historial de trabajos de los últimos 180 días.
Ámbito y sintaxis
Las consultas en esta vista deben incluir un calificador de región. Si no especifica un calificador regional, los metadatos se obtienen de la región de EE. UU. En la siguiente tabla se explica el ámbito de la región de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito de la región |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Nivel de proyecto | Región de EE. UU. |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Nivel de proyecto | REGION |
-
Opcional:
PROJECT_ID
: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado. -
REGION
: cualquier nombre de región del conjunto de datos. Por ejemplo,`region-us`
.
Ejemplos
Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto con el siguiente formato:
PROJECT_ID
.region-REGION_NAME
.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Por ejemplo, myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
Obtener el número total de trabajos ejecutados en todas las tablas compartidas
En el siguiente ejemplo se calcula el número total de trabajos ejecutados por los suscriptores de un proyecto:
SELECT COUNT(DISTINCT job_id) AS num_jobs FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
El resultado es similar al siguiente:
+------------+ | num_jobs | +------------+ | 1000 | +------------+
Para comprobar el número total de trabajos ejecutados por los suscriptores, usa la cláusula WHERE
:
- En el caso de los conjuntos de datos, usa
WHERE dataset_id = "..."
. - En el caso de las tablas, usa
WHERE dataset_id = "..." AND table_id = "..."
.
Obtener la tabla más usada en función del número de filas procesadas
La siguiente consulta calcula la tabla más usada en función del número de filas procesadas por los suscriptores.
SELECT dataset_id, table_id, SUM(num_rows_processed) AS usage_rows FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE GROUP BY 1, 2 ORDER BY 3 DESC LIMIT 1
El resultado debería ser similar al siguiente:
+---------------+-------------+----------------+ | dataset_id | table_id | usage_rows | +---------------+-------------+----------------+ | mydataset | mytable | 15 | +---------------+-------------+----------------+
Buscar las organizaciones principales que consumen tus tablas
La siguiente consulta calcula los suscriptores principales en función del número de bytes procesados de tus tablas. También puede usar la columna num_rows_processed
como métrica.
SELECT subscriber_org_number, ANY_VALUE(subscriber_org_display_name) AS subscriber_org_display_name, SUM(total_bytes_processed) AS usage_bytes FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE GROUP BY 1
El resultado debería ser similar al siguiente:
+--------------------------+--------------------------------+----------------+ |subscriber_org_number | subscriber_org_display_name | usage_bytes | +-----------------------------------------------------------+----------------+ | 12345 | myorganization | 15 | +--------------------------+--------------------------------+----------------+
Si no tienes una organización, puedes usar job_project_number
en lugar de subscriber_org_number
.
Obtener métricas de uso de tu intercambio de datos
Si su intercambio de datos y su conjunto de datos de origen están en proyectos diferentes, siga estos pasos para ver las métricas de uso de su intercambio de datos:
- Busca todas las fichas que pertenezcan a tu intercambio de datos.
- Recupera el conjunto de datos de origen adjunto a la ficha.
- Para ver las métricas de uso de tu intercambio de datos, usa la siguiente consulta:
SELECT * FROM source_project_1.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE WHERE dataset_id='source_dataset_id' AND data_exchange_id="projects/4/locations/us/dataExchanges/x1" UNION ALL SELECT * FROM source_project_2.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE WHERE dataset_id='source_dataset_id' AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"