إنشاء جداول

تساعدك الجداول المؤقتة والجداول الدائمة في تنفيذ عمليات البحث بسهولة الاستعلامات، مما يسهل فهمها وصيانتها. من خلال إنشاء وسيط يمكنك إعادة استخدامه، مع منحك خيار الاحتفاظ بالخيار غير مجمعة، يمكنك تقليل الموارد المطلوبة لتنفيذ الاستعلامات، على تحسين الأداء.

تخضع الجداول التي تم إنشاؤها لنفس الجدول الثابت عمليات التحقّق من الخصوصية الدوال المسموح بها، أو قيود ربط الحقول تم فرضها في جميع أقسام 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

الجداول المؤقتة

تعمل المؤقتة (أو temp) الجداول في تحسين سهولة قراءة طلب البحث والسماح لك بذلك. لإنشاء نتائج وسيطة لا تخضع للتجميع أو الاختلاف متطلبات المشروع.

الجداول المؤقتة:

  • موجودة على مستوى الجلسة فقط، وتنتهي صلاحيتها بعد تنفيذ طلب البحث
  • لا يمكن استخدامها إلا داخل الاستعلام الذي تم إنشاؤه فيه
  • لا تخضع لمتطلبات التجميع أو الخصوصية التفاضلية
  • إتاحة مساحة الاسم الاختيارية 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
  • أحدهما في الموقع المحدد في حقل جدول الوجهة للوظيفة وسيطات، مع العمود ct

ومن الممكن أيضًا إضافة ملخص صف مفلتر إلى هذه الجداول. قراءة المزيد ملخّصات الصفوف التي تمّت فلترتها