إنشاء جداول

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

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

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