Tabellen erstellen

Mit temporären Tabellen und persistenten Tabellen können Sie Abfragen optimieren, sodass sie verständlicher und leichter zu verwalten sind. Da Zwischenergebnisse erstellt werden, die sich wiederverwenden lassen, müssen die temporären Daten nicht aggregiert werden. Dadurch sind weniger Ressourcen für das Ausführen von Abfragen erforderlich, was sich wiederum positiv auf die Leistung auswirkt.

Die erstellten Tabellen unterliegen den statischen Datenschutzprüfungen, zulässigen Funktionen und Einschränkungen für verknüpfte Felder, die generell in Ads Data Hub gelten. Wenn die Daten aus der abschließenden SELECT-Anweisung in BigQuery ausgegeben werden, gelten die standardmäßigen Datenschutzprüfungen.

Folgen Sie der BigQuery-Syntax, um Tabellen zu erstellen:

CREATE [OR REPLACE] [TEMP | TEMPORARY] TABLE TABLE_NAME
 [OPTIONS(privacy_checked_export=<true | false>)] AS query_statement;

Folgende Anweisungen werden nicht unterstützt:

  • IF NOT EXISTS
  • PARTITION BY
  • CLUSTER BY

Temporäre Tabellen

Temporäre Tabellen (auch Temp-Tabellen genannt) verbessern die Verständlichkeit von Abfragen und ermöglichen das Erstellen von Zwischenergebnissen, die nicht den Aggregations- oder Differential Privacy-Anforderungen unterliegen.

Temporäre Tabellen…

  • existieren nur auf Sitzungsebene und werden nach dem Ausführen der Abfrage gelöscht.
  • können nur in der Abfrage verwendet werden, in der sie erstellt wurden.
  • unterliegen nicht den Aggregations- oder Differential Privacy-Anforderungen.
  • unterstützen den optionalen tmp-Namespace.

Verwenden Sie die CREATE TEMP TABLE-Anweisung, um eine temporäre Tabelle zu erstellen. Im folgenden Beispiel wird eine temporäre Tabelle erstellt, um die Ergebnisse einer Abfrage zu speichern. Dann wird die temporäre Tabelle in einer Unterabfrage verwendet.

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);
-- Return creatives with a count of impressions greater than 100
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  creative_list -- Alternative: tmp.creative_list
WHERE
  imps > 100
GROUP BY
  creative_id;

Persistente Tabellen

Wenn Sie eine Zwischentabelle benötigen, um sie in anderen Abfragen zu verwenden, können Sie eine persistente Tabelle erstellen. Die Syntax entspricht der für temporäre Tabellen, allerdings ohne die TEMP-Anweisung. Da persistente Tabellen bereits gefiltert sind, sind keine Aggregationsprüfungen erforderlich. Sie können 72 Stunden lang verwendet werden. Ist bereits eine Tabelle mit dem ausgewählten Namen vorhanden, wird sie überschrieben.

Persistente Tabellen…

  • haben eine Lebensdauer von 72 Stunden.
  • können außerhalb der Abfrage verwendet werden, in der sie erstellt wurden.
  • unterliegen Aggregationsanforderungen.
  • erfordern den tmp-Namespace nur dann, wenn über eine spätere Abfrage auf die Tabelle zugegriffen wird.

Verwenden Sie die CREATE TABLE-Anweisung, um eine persistente Tabelle zu erstellen. Im folgenden Beispiel wird eine persistente Tabelle erstellt, um die Ergebnisse einer Abfrage zu speichern. Dann wird die persistente Tabelle in einer späteren Abfrage verwendet.

Abfrage 1

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Abfrage 2

-- Return creatives which had more than 100 impressions
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  tmp.creative_list
WHERE
  imps > 100;

Datenschutzprüfungen anwenden

Ads Data Hub unterstützt auch eine SQL-Syntax zum Erstellen von Zwischenergebnistabellen, die Datenschutzprüfungen unterliegen.

Um eine Tabelle, die Datenschutzprüfungen unterliegt, zu erstellen, fügen Sie die OPTIONS-Anweisung in Ihre Abfrage ein:

OPTIONS(privacy_checked_export=true)

In diesem Beispiel wird eine temporäre Tabelle auf Sitzungsebene erstellt, auf die Datenschutzprüfungen angewendet werden:

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

In diesem Beispiel wird eine persistente Tabelle erstellt, auf die Datenschutzprüfungen angewendet werden und die dann in Ihr Google Cloud-Projekt exportiert wird:

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE `myproject.mydataset.creative_list` OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Mehrere Tabellen mit einer einzigen Abfrage exportieren

Ads Data Hub unterstützt eine flexible SQL-Syntax zum Exportieren sichtbarer Ergebnistabellen für Fälle, in denen eine Tabelle pro Abfrage nicht ausreicht. Diese Tabellen unterliegen den Datenschutzprüfungen, die generell in Ads Data Hub gelten.

Die Syntax für den Export einer Tabelle neben dem SQL-Hauptausdruck lautet:


CREATE TABLE <project_name.dataset_name.table_name>
  OPTIONS(privacy_checked_export=true) AS query_statement;

So exportieren Sie beispielsweise eine Tabelle in das BigQuery-Ziel myproject.mydataset.mytable, das die Anzahl der Zeilen für jede Kampagnen-ID aus der Tabelle adh.google_ads_impressions enthält:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

Auf Tabellen kann auch in der Abfrage verwiesen werden, in der sie erstellt wurden. Hier ein Beispiel:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;
SELECT ct FROM `myproject.mydataset.mytable`;

Bei dieser Abfrage werden zwei Tabellen ausgegeben:

  • eine mit den Spalten campaign_id und ct unter myproject.mydataset.mytable und
  • eine mit der Spalte ct an dem Ort, der im Feld Zieltabelle der Jobargumente angegeben ist

Sie können diesen Tabellen auch eine Zusammenfassung herausgefilterter Zeilen hinzufügen. Weitere Informationen