Visualizzazione INFORMATION_SCHEMA.SHARED_DATASET_USAGE

La visualizzazione INFORMATION_SCHEMA.SHARED_DATASET_USAGE contiene le informazioni quasi in tempo reale e metadati sul consumo delle tabelle del set di dati condivisi. Per iniziare condividere i dati tra le organizzazioni, consulta Analytics Hub.

Ruoli obbligatori

Per ottenere l'autorizzazione di cui hai bisogno per eseguire query sulla vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE, chiedi all'amministratore di concederti Ruolo IAM Proprietario dati BigQuery (roles/bigquery.dataOwner) nel progetto di origine. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene bigquery.datasets.listSharedDatasetUsage, che è necessaria per eseguire query sulla vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

Potresti anche riuscire a ottenere questa autorizzazione con ruoli personalizzati altri ruoli predefiniti.

Schema

I dati sottostanti sono partizionati in base alla colonna job_start_time e raggruppati in cluster per project_id e dataset_id.

INFORMATION_SCHEMA.SHARED_DATASET_USAGE ha il seguente schema:

Nome colonna Tipo di dati Valore
project_id STRING (Colonna clustering) L'ID del progetto che contiene il set di dati condiviso.
dataset_id STRING (Colonna clustering) L'ID del set di dati condiviso.
table_id STRING L'ID della tabella a cui è stato eseguito l'accesso.
data_exchange_id STRING Il percorso della risorsa dello scambio di dati.
listing_id STRING Il percorso della risorsa della scheda.
job_start_time TIMESTAMP (Colonna di partizionamento) L'ora di inizio di questo job.
job_end_time TIMESTAMP L'ora di fine di questo job.
job_id STRING L'ID job. Ad esempio, bquxjob_1234.
job_project_number INTEGER Il numero del progetto a cui appartiene questo job.
job_location STRING La posizione del lavoro.
linked_project_number INTEGER Il numero del progetto del sottoscrittore.
linked_dataset_id STRING L'ID del set di dati collegato del set di dati del sottoscrittore.
subscriber_org_number INTEGER Il numero dell'organizzazione in cui è stato eseguito il job. Si tratta del numero dell'organizzazione sottoscrittore. Questo campo è vuoto per i progetti che non hanno un'organizzazione.
subscriber_org_display_name STRING Una stringa leggibile che fa riferimento all'organizzazione in cui è stato eseguito il job. Questo è il organizzazione del sottoscrittore. Questo campo è vuoto per i progetti che non hanno un'organizzazione.
num_rows_processed INTEGER Il numero di righe elaborate da questa tabella dal job.
total_bytes_processed INTEGER Byte totali elaborati da questa tabella dal job.

Conservazione dei dati

La vista INFORMATION_SCHEMA.SHARED_DATASET_USAGE contiene dati in esecuzione i job e la cronologia dei job negli ultimi 180 giorni.

Ambito e sintassi

Le query relative a questa vista devono includere un qualificatore regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati dagli Stati Uniti regione. La tabella seguente spiega l'ambito della regione per questa visualizzazione:

Visualizza nome Ambito risorsa Ambito della regione
[PROJECT_ID.]INFORMATION_SCHEMA.SHARED_DATASET_USAGE Livello di progetto Regione degli Stati Uniti
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE Livello di progetto REGION
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito.
  • REGION: qualsiasi nome della regione del set di dati. Ad esempio: region-us.

Esempi

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi ID progetto nel seguente formato:

PROJECT_ID.region-REGION_NAME.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

Ad esempio, myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

Ottieni il numero totale di job eseguiti su tutte le tabelle condivise

L'esempio seguente calcola i job totali eseguiti dai sottoscrittori per un progetto:

SELECT
  COUNT(DISTINCT job_id) AS num_jobs
FROM
  `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE

Il risultato è simile al seguente:

+------------+
| num_jobs   |
+------------+
| 1000       |
+------------+

Per controllare i job totali eseguiti dai sottoscrittori, utilizza la clausola WHERE:

  • Per i set di dati, utilizza WHERE dataset_id = "...".
  • Per le tabelle, utilizza WHERE dataset_id = "..." AND table_id = "...".

Ottieni la tabella più utilizzata in base al numero di righe elaborate

La seguente query calcola la tabella più utilizzata in base al numero di righe elaborati dagli abbonati.

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

L'output è simile al seguente:

+---------------+-------------+----------------+
| dataset_id    | table_id      | usage_rows     |
+---------------+-------------+----------------+
| mydataset     | mytable     | 15             |
+---------------+-------------+----------------+

Trova le principali organizzazioni che utilizzano le tue tabelle

La seguente query calcola i sottoscrittori principali in base al numero di byte elaborati dalle tue tabelle. Puoi anche utilizzare la colonna num_rows_processed come di una metrica.

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

L'output è simile al seguente:

+--------------------------+--------------------------------+----------------+
|subscriber_org_number     | subscriber_org_display_name    | usage_bytes    |
+-----------------------------------------------------------+----------------+
| 12345                    | myorganization                 | 15             |
+--------------------------+--------------------------------+----------------+

Per gli abbonati che non hanno un'organizzazione, puoi usare job_project_number anziché subscriber_org_number.

Ottieni metriche di utilizzo per lo scambio di dati

Se lo scambio di dati e il set di dati di origine si trovano in progetti diversi, segui questo passaggio per visualizzare le metriche di utilizzo per lo scambio di dati:

  1. Trova tutte le schede che appartengono al tuo scambio di dati.
  2. Recupera il set di dati di origine collegato alla scheda.
  3. Per visualizzare le metriche di utilizzo per lo scambio di dati, utilizza la seguente query:
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"