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 conjuntos de datos compartidos. Para comenzar a compartir tus datos entre organizaciones, consulta Analytics Hub.
Roles obligatorios
Para obtener el permiso que necesitas para consultar la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
, pídele a tu administrador que te otorgue el rol de IAM de propietario de datos de BigQuery (roles/bigquery.dataOwner
) en tu proyecto de origen.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Este rol predefinido contiene el permiso bigquery.datasets.listSharedDatasetUsage
, que se requiere para consultar la vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Esquema
La columnajob_start_time
particiona los datos subyacentes y project_id
y dataset_id
los agrupan.
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
project_id
|
STRING
|
(Columna de agrupamiento en clústeres) El ID del proyecto que contiene el conjunto de datos compartido. |
dataset_id
|
STRING
|
(Columna de agrupamiento en clústeres) el ID del conjunto de datos compartido. |
table_id
|
STRING
|
ID de la tabla a la que se accede. |
data_exchange_id
|
STRING
|
La ruta del recurso del intercambio de datos. |
listing_id
|
STRING
|
La ruta de acceso al recurso de la ficha. |
job_start_time
|
TIMESTAMP
|
(Columna de partición) La hora de inicio de este trabajo. |
job_end_time
|
TIMESTAMP
|
La hora de finalización de este trabajo. |
job_id
|
STRING
|
El ID del trabajo. Por ejemplo, bquxjob_1234. |
job_project_number
|
INTEGER
|
El número del proyecto al que pertenece este trabajo. |
job_location
|
STRING
|
Es la ubicación del trabajo. |
linked_project_number
|
INTEGER
|
El número de proyecto del proyecto del suscriptor. |
linked_dataset_id
|
STRING
|
Es el ID del conjunto de datos vinculado del conjunto de datos del suscriptor. |
subscriber_org_number
|
INTEGER
|
El número de organización en la que se ejecutó el trabajo. Este es el número de organización del suscriptor. Este campo está vacío para los proyectos que no tienen una organización. |
subscriber_org_display_name
|
STRING
|
Una string legible que hace referencia a la organización en la que se ejecutó el trabajo. Este es el número de organización del suscriptor. Este campo está vacío para los proyectos que no tienen una organización. |
num_rows_processed
|
INTEGER
|
La cantidad de filas procesadas de esta tabla por el trabajo. |
total_bytes_processed
|
INTEGER
|
Es el total de bytes procesados por el trabajo de esta tabla. |
Retención de datos
La vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE
contiene trabajos en ejecución y el historial de trabajos de los últimos 180 días.
Permiso y sintaxis
Las consultas realizadas a esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se recuperan de la región de EE.UU. En la siguiente tabla, se explica el permiso de la región para esta vista:
Nombre de la vista | Permiso del recurso | Permiso 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 del proyecto de Google Cloud. 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, agrega 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
.
Obtén la cantidad total de trabajos ejecutados en todas las tablas compartidas
En el siguiente ejemplo, se calcula el total de trabajos que ejecutan los suscriptores para 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 verificar el total de trabajos que ejecutan los suscriptores, usa la cláusula WHERE
:
- Para los conjuntos de datos, usa
WHERE dataset_id = "..."
. - Para las tablas, usa
WHERE dataset_id = "..." AND table_id = "..."
.
Obtén la tabla más usada según la cantidad de filas procesadas
La siguiente consulta calcula la tabla más usada según la cantidad 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 es similar a este:
+---------------+-------------+----------------+ | dataset_id | table_id | usage_rows | +---------------+-------------+----------------+ | mydataset | mytable | 15 | +---------------+-------------+----------------+
Busca las organizaciones principales que consumen tus tablas
En la siguiente consulta, se calculan los suscriptores principales según la cantidad de bytes procesados de tus tablas. También puedes usar la columna num_rows_processed
como una 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 es similar a este:
+--------------------------+--------------------------------+----------------+ |subscriber_org_number | subscriber_org_display_name | usage_bytes | +-----------------------------------------------------------+----------------+ | 12345 | myorganization | 15 | +--------------------------+--------------------------------+----------------+
Para los suscriptores sin una organización, puedes usar job_project_number
en lugar de subscriber_org_number
.
Obtén métricas de uso para tu intercambio de datos
Si tu intercambio de datos y conjunto de datos de origen están en proyectos diferentes, sigue estos pasos para ver las métricas de uso de tu intercambio de datos:
- Busca todas las fichas que pertenecen 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"