Ansicht INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Die Ansicht INFORMATION_SCHEMA.SHARED_DATASET_USAGE
enthält Metadaten in nahezu Echtzeit zum Verbrauch Ihrer freigegebenen Dataset-Tabellen. Informationen zum Freigeben von Daten für andere Organisationen finden Sie unter Analytics Hub.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Dateninhaber (roles/bigquery.dataOwner
) für Ihr Quellprojekt zuzuweisen. Diese Rolle enthält die Berechtigung, die Sie zum Abfragen der Ansicht INFORMATION_SCHEMA.SHARED_DATASET_USAGE
benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigung bigquery.datasets.listSharedDatasetUsage
, die zum Abfragen der INFORMATION_SCHEMA.SHARED_DATASET_USAGE
-Ansicht erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Schema
Die zugrunde liegenden Daten werden nach der Spaltejob_start_time
partitioniert und nach project_id
und dataset_id
geclustert.
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
hat das folgende Schema:
Spaltenname | Datentyp | Wert |
---|---|---|
project_id
|
STRING
|
(Clustering-Spalte) Die ID des Projekts, das das freigegebene Dataset enthält. |
dataset_id
|
STRING
|
(Clustering-Spalte) Die ID des freigegebenen Datensatzes. |
table_id
|
STRING
|
Die ID der Tabelle, auf die zugegriffen wurde. |
data_exchange_id
|
STRING
|
Der Ressourcenpfad des Datenaustauschs. |
listing_id
|
STRING
|
Der Ressourcenpfad des Eintrags. |
job_start_time
|
TIMESTAMP
|
(Partitionierungsspalte) Der Beginn dieses Jobs. |
job_end_time
|
TIMESTAMP
|
Die Endzeit dieses Jobs. |
job_id
|
STRING
|
Die Job-ID. Beispiel: bquxjob_1234. |
job_project_number
|
INTEGER
|
Die Nummer des Projekts, zu dem dieser Job gehört. |
job_location
|
STRING
|
Der Standort der Stelle. |
linked_project_number
|
INTEGER
|
Die Projektnummer des Projekts des Abonnenten. |
linked_dataset_id
|
STRING
|
Die verknüpfte Dataset-ID des Datasets des Abonnenten. |
subscriber_org_number
|
INTEGER
|
Die Organisationsnummer, in der der Job ausgeführt wurde. Dies ist die Organisationsnummer des Abonnenten. Dieses Feld ist für Projekte ohne Organisation leer. |
subscriber_org_display_name
|
STRING
|
Ein visuell lesbarer String, der sich auf die Organisation bezieht, in der der Job ausgeführt wurde. Dies ist die Organisationsnummer des Abonnenten. Dieses Feld ist für Projekte ohne Organisation leer. |
num_rows_processed
|
INTEGER
|
Die Anzahl der Zeilen, die aus dieser Tabelle vom Job verarbeitet wurden. |
total_bytes_processed
|
INTEGER
|
Die Gesamtzahl der Byte, die aus dieser Tabelle vom Job verarbeitet wurden. |
Datenaufbewahrung
Die Ansicht INFORMATION_SCHEMA.SHARED_DATASET_USAGE
enthält laufende Jobs und den Jobverlauf der letzten 180 Tage.
Bereich und Syntax
Für Abfragen dieser Ansicht muss ein Regions-Qualifier verwendet werden. Wenn Sie keinen Regions-Qualifier angeben, werden Metadaten aus der US-Region abgerufen. In der folgenden Tabelle wird der Regionsbereich für diese Ansicht erläutert:
Ansichtsname | Ressourcenbereich | Regionsbereich |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Projektebene | US-Region |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Projektebene | REGION |
Optional: PROJECT_ID
: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
REGION
: ist ein beliebiger Dataset-Regionsname.
Beispiel: `region-us`
Beispiele
Wenn Sie die Abfrage für ein anderes Projekt als Ihr Standardprojekt ausführen möchten, fügen Sie die Projekt-ID im folgenden Format hinzu:
PROJECT_ID
.region-REGION_NAME
.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Beispiel: myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
Gesamtzahl der Jobs abrufen, die in allen freigegebenen Tabellen ausgeführt werden
Im folgenden Beispiel werden die Jobs insgesamt berechnet, die von Abonnenten für ein Projekt ausgeführt werden:
SELECT COUNT(DISTINCT job_id) AS num_jobs FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Das Ergebnis sieht etwa so aus:
+------------+ | num_jobs | +------------+ | 1000 | +------------+
Verwenden Sie die Klausel WHERE
, um die von Abonnenten ausgeführten Jobs zu prüfen:
- Verwenden Sie für Datasets
WHERE dataset_id = "..."
. - Verwenden Sie
WHERE dataset_id = "..." AND table_id = "..."
für Tabellen.
Anhand der Anzahl der verarbeiteten Zeilen die am häufigsten verwendete Tabelle abrufen
Die folgende Abfrage berechnet die am häufigsten verwendete Tabelle basierend auf der Anzahl der von Abonnenten verarbeiteten Zeilen.
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
Die Ausgabe sieht in etwa so aus:
+---------------+-------------+----------------+ | dataset_id | table_id | usage_rows | +---------------+-------------+----------------+ | mydataset | mytable | 15 | +---------------+-------------+----------------+
Top-Organisationen suchen, die Ihre Tabellen verwenden
Bei der folgenden Abfrage werden die Top-Abonnenten basierend auf der Anzahl der Byte berechnet, die aus Ihren Tabellen verarbeitet werden. Sie können auch die Spalte num_rows_processed
als Messwert verwenden.
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
Die Ausgabe sieht in etwa so aus:
+--------------------------+--------------------------------+----------------+ |subscriber_org_number | subscriber_org_display_name | usage_bytes | +-----------------------------------------------------------+----------------+ | 12345 | myorganization | 15 | +--------------------------+--------------------------------+----------------+
Für Abonnenten ohne Organisation können Sie job_project_number
anstelle von subscriber_org_number
verwenden.
Nutzungsmesswerte für Ihren Datenaustausch abrufen
Wenn sich Ihr Datenpool und Ihr Quell-Dataset in verschiedenen Projekten befinden, führen Sie die folgenden Schritte aus, um die Nutzungsmesswerte für Ihren Datenaustausch aufzurufen:
- Finden Sie alle Einträge, die zu Ihrem Datenaustausch gehören.
- Rufen Sie das Quell-Dataset ab, das dem Eintrag zugeordnet ist.
- Verwenden Sie die folgende Abfrage, um die Nutzungsmesswerte für Ihren Datenaustausch aufzurufen:
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"