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