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