טבלאות זמניות וטבלאות מתמידות עוזרות לך לייעל את העבודה כדי שיהיה קל יותר להבין ולתחזק אותן. על ידי יצירת ביניים תוצאות שאפשר להשתמש בהן שוב, ובמקביל לתת לך את האפשרות לשמור לא נצברים, אפשר לצמצם את המשאבים שנדרשים להפעלת שאילתות, שיפור הביצועים.
טבלאות שנוצרות כפופות לאותות סטטיים
בדיקות פרטיות,
פונקציות מותרות,
וגם
מגבלות על האיחוד של שדות
נאכפות בכל Ads Data Hub. בדיקות הפרטיות הרגילות חלות כשהנתונים
מההצהרה הסופית SELECT
מתקבל פלט אל BigQuery.
כדי ליצור טבלאות, צריך לפעול לפי התחביר של BigQuery:
CREATE [OR REPLACE] [TEMP | TEMPORARY] TABLE TABLE_NAME
[OPTIONS(privacy_checked_export=<true | false>)] AS query_statement;
אין תמיכה בסעיפים הבאים:
IF NOT EXISTS
PARTITION BY
CLUSTER BY
טבלאות זמניות
טבלאות זמניות (או זמניות) משפרות את נוחות הקריאות של השאילתות ומאפשרות כדי ליצור תוצאות ביניים שאינן כפופות לצבירת נתונים או להבדלים בדרישות שלנו.
טבלאות טמפרטורה:
- קיימות רק ברמת הסשן, והתוקף שלהן פג אחרי הרצת השאילתה
- אפשר להשתמש בו רק בתוך השאילתה שבה הוא נוצר.
- הם לא כפופים לדרישות של צבירת נתונים או של פרטיות דיפרנציאלית
- תמיכה במרחב השמות האופציונלי
tmp
כדי ליצור טבלה זמנית, משתמשים במשפט CREATE TEMP TABLE
. הדוגמה הזו
יוצר טבלה זמנית כדי לאחסן את התוצאות של שאילתה, ואז משתמש בטבלה הזמנית
בשאילתת משנה:
-- 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;
טבלאות מתמידות
אם אתם צריכים ליצור טבלת ביניים לשימוש בשאילתות אחרות, אפשר
ליצור טבלה קבועה. התחביר זהה לתחביר של טבלאות זמניות,
ללא הסעיף TEMP
. טבלאות מתמידות מסוננות מראש, כלומר צבירה
בדיקות לא מיושמות, ונמשכות 72 שעות. אם טבלה עם השם שנבחר
כבר קיים, הוא הוחלף.
טבלאות מתמידות:
- הם תקפים אחרי 72 שעות
- אפשר להשתמש בו מחוץ לשאילתה שיצרה אותו
- כפופים לדרישות לצבירת נתונים
- לדרוש את מרחב השמות של
tmp
רק כשניגשים לטבלה משאילתה מאוחרת יותר
כדי ליצור טבלה קבועה, משתמשים במשפט CREATE TABLE
. הדוגמה הזו
יוצרת טבלה קבועה לאחסון תוצאות של שאילתה, ואז משתמשת
טבלה קבועה בשאילתה מאוחר יותר:
שאילתה 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
);
שאילתה 2
-- Return creatives which had more than 100 impressions
SELECT
creative_id,
COUNT(*) AS imps
FROM
tmp.creative_list
WHERE
imps > 100;
החלת בדיקות לאימות הפרטיות
Ads Data Hub תומך גם בתחביר SQL כדי ליצור טבלאות של תוצאות ביניים כפופים לבדיקות פרטיות.
כדי ליצור טבלה שכפופה לבדיקות פרטיות, צריך להוסיף את הסעיף OPTIONS
אל
השאילתה שלך:
OPTIONS(privacy_checked_export=true)
בדוגמה הזו נוצרת טבלה זמנית ברמת הסשן ומחילה את בדיקות הפרטיות:
-- 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
);
בדוגמה הזו נוצרת טבלה קבועה, מחילה בדיקות לאימות הפרטיות ומייצאת אותה לפרויקט שלכם ב-Google Cloud:
-- 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
);
ייצוא מספר טבלאות באמצעות שאילתה אחת
Ads Data Hub תומך בתחביר SQL גמיש לייצוא תוצאות שניתנות לצפייה טבלאות במקרים שבהם טבלה אחת לכל שאילתה לא מספיקה. הטבלאות האלה כפופים לאותן בדיקות פרטיות נאכפות בכל Ads Data Hub.
התחביר לייצוא טבלה לצד ביטוי ה-SQL הראשי הוא:
CREATE TABLE <project_name.dataset_name.table_name>
OPTIONS(privacy_checked_export=true) AS query_statement;
לדוגמה, כדי לייצא טבלה ליעד ב-BigQuery
myproject.mydataset.mytable
שמכיל ספירת שורות לכל קמפיין
המזהה מהטבלה adh.google_ads_impressions
:
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;
אפשר גם להפנות לטבלאות באותה שאילתה שבה הן נוצרו. לדוגמה, השאילתה:
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`;
בפלט שתי טבלאות:
- אחת בסכום
myproject.mydataset.mytable
, עם העמודותcampaign_id
ו-ct
- צריך להיות אחד במיקום שצוין בשדה Destination table של המשימה
ארגומנטים עם העמודה
ct
אפשר גם להוסיף לטבלאות האלה סיכום של שורה מסוננת. מידע על סיכומי שורות שסוננו