অস্থায়ী সারণী এবং স্থায়ী সারণী আপনাকে প্রশ্নগুলিকে সহজতর করতে সাহায্য করে, যা তাদের বোঝা এবং রক্ষণাবেক্ষণ করা সহজ করে তোলে। আপনি পুনরায় ব্যবহার করতে পারেন এমন মধ্যবর্তী ফলাফল তৈরি করে, অস্থায়ী ডেটা একত্রিত না রাখার বিকল্প প্রদান করে, আপনি প্রশ্নগুলি কার্যকর করার জন্য প্রয়োজনীয় সংস্থানগুলি হ্রাস করতে পারেন, কর্মক্ষমতা উন্নত করতে পারেন।
তৈরি করা টেবিলগুলি একই স্ট্যাটিক গোপনীয়তা পরীক্ষা , অনুমোদিত ফাংশন এবং ফিল্ড জয়েন সীমাবদ্ধতার অধীনে থাকে যা 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 ) টেবিলগুলি কোয়েরির পঠনযোগ্যতা উন্নত করে এবং আপনাকে অন্তর্বর্তী ফলাফল তৈরি করতে দেয় যাতে অ-সমষ্টিগত ডেটা অন্তর্ভুক্ত থাকতে পারে।
তাপমাত্রা সারণী:
- শুধুমাত্র সেশন লেভেলে বিদ্যমান থাকে এবং কোয়েরি এক্সিকিউশনের পরে মেয়াদ শেষ হয়ে যায়
- শুধুমাত্র যে কোয়েরিতে এটি তৈরি করা হয়েছিল তার ভিতরেই ব্যবহার করা যেতে পারে
- গোপনীয়তা পরীক্ষা প্রয়োগ না করা তথ্য একত্রিত না করা থাকতে পারে।
- কোনও প্রয়োজনীয় নেমস্পেস ছাড়াই নাম অনুসারে উল্লেখ করা হয়েছে
একটি টেম্প টেবিল তৈরি করতে, 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
WHERE
imps > 100
GROUP BY
creative_id;
স্থায়ী টেবিল
যদি আপনার অন্যান্য কোয়েরিতে ব্যবহারের জন্য একটি মধ্যবর্তী টেবিল তৈরি করার প্রয়োজন হয়, তাহলে আপনি একটি স্থায়ী টেবিল তৈরি করতে পারেন। সিনট্যাক্সটি টেম্প টেবিলের মতোই, TEMP ক্লজ ছাড়াই। এই টেবিলগুলি 72 ঘন্টা স্থায়ী হয়। যদি নির্বাচিত নামের একটি টেবিল ইতিমধ্যেই বিদ্যমান থাকে, তাহলে এটি ওভাররাইট করা হয়।
স্থায়ী টেবিলগুলি অ-সমষ্টিগত ডেটা সংরক্ষণ করতে পারে, তবে গোপনীয়তা-পরীক্ষিত ক্যোয়ারী ফলাফল ছাড়া টেবিলের বিষয়বস্তু দৃশ্যমান হয় না।
স্থায়ী টেবিল:
- ৭২ ঘন্টা পরে মেয়াদ শেষ হবে
- যে কোয়েরিটি তৈরি করেছে তার বাইরেও ব্যবহার করা যেতে পারে
- গোপনীয়তা পরীক্ষা প্রয়োগ না করা তথ্য একত্রিত না করা থাকতে পারে।
-
tmpনেমস্পেসের মাধ্যমে রেফারেন্স করা হয়, তবে একই কোয়েরিতে নাম দ্বারাও রেফারেন্স করা যেতে পারে
একটি স্থায়ী টেবিল তৈরি করতে, CREATE TABLE স্টেটমেন্টটি ব্যবহার করুন। এই উদাহরণটি একটি প্রশ্নের ফলাফল সংরক্ষণ করার জন্য একটি স্থায়ী টেবিল তৈরি করে, তারপর পরবর্তী প্রশ্নের জন্য স্থায়ী টেবিলটি ব্যবহার করে:
প্রশ্ন ১
-- 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
);
-- Return the total count of impressions in the table
SELECT
COUNT(*) AS imps
FROM
tmp.creative_list -- Alternative: creative_list
প্রশ্ন ২
-- Return creatives which had more than 100 impressions
SELECT
creative_id,
COUNT(*) AS imps
FROM
tmp.creative_list
WHERE
imps > 100
GROUP BY
creative_id;
গোপনীয়তা পরীক্ষা প্রয়োগ করুন
বিজ্ঞাপন ডেটা হাব একটি 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 ক্লাউড প্রকল্পে রপ্তানি করে:
-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE project_name.dataset_name.creative_list` OPTIONS(privacy_checked_export=true) AS (
SELECT
adgroup_id,
advertiser_id,
creative_id
FROM
adh.dv360_youtube_impressions
);
একটি একক কোয়েরি ব্যবহার করে একাধিক টেবিল রপ্তানি করুন
বিজ্ঞাপন ডেটা হাব একটি নমনীয় SQL সিনট্যাক্স সমর্থন করে যা প্রতিটি কোয়েরির জন্য একটি টেবিল যথেষ্ট না হলে দৃশ্যমান ফলাফল টেবিল রপ্তানি করতে পারে। এই টেবিলগুলি বিজ্ঞাপন ডেটা হাব জুড়ে প্রয়োগ করা একই গোপনীয়তা পরীক্ষা সাপেক্ষে।
মূল SQL এক্সপ্রেশনের পাশাপাশি একটি টেবিল এক্সপোর্ট করার সিনট্যাক্স হল:
CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
OPTIONS(privacy_checked_export=true) AS query_statement;
উদাহরণস্বরূপ, BigQuery গন্তব্য PROJECT_NAME.DATASET.TABLE_NAME এ একটি টেবিল রপ্তানি করতে যেখানে adh.google_ads_impressions টেবিল থেকে প্রতিটি ক্যাম্পেইন আইডির জন্য সারির সংখ্যা থাকে:
CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
OPTIONS(privacy_checked_export=true) AS
SELECT campaign_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY campaign_id;
নিম্নলিখিত উদাহরণটি এই ধারণাটি আরও বিস্তৃত করে এবং BigQuery-তে দুটি টেবিল রপ্তানি করতে একই কোয়েরি ব্যবহার করে:
CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
OPTIONS(privacy_checked_export=true) AS
SELECT campaign_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY campaign_id;
CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME_2
OPTIONS(privacy_checked_export=true) AS
SELECT advertiser_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY advertiser_id;
টেবিলগুলি যে কোয়েরিতে তৈরি করা হয়েছিল সেই একই কোয়েরিতেও উল্লেখ করা যেতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরি দুটি টেবিল আউটপুট করে:
CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
OPTIONS(privacy_checked_export=true) AS
SELECT campaign_id, COUNT(*) AS ct
FROM adh.google_ads_impressions
GROUP BY campaign_id;
SELECT ct FROM PROJECT_NAME.DATASET.TABLE_NAME;
- প্রথম টেবিলটি
PROJECT_NAME.DATASET.TABLE_NAMEএ তৈরি করা হয়েছে,campaign_idএবংctকলাম সহ। - দ্বিতীয় টেবিলটি জব আর্গুমেন্টের গন্তব্য টেবিল ক্ষেত্রে নির্দিষ্ট স্থানে
ctকলাম দিয়ে তৈরি করা হয়েছে।
একটি ফিল্টার করা সারির সারাংশ যোগ করা হচ্ছে
এই টেবিলগুলিতে একটি ফিল্টার করা-সারি সারাংশ যোগ করাও সম্ভব। ফিল্টার করা সারি সারাংশ সম্পর্কে পড়ুন ।
রানটাইমে একাধিক টেবিলের নামকরণ
একটি কোয়েরিতে একাধিক টেবিল তৈরি করার সময়, তাদের নামকরণের দুটি উপায় রয়েছে:
- নিম্নলিখিত ফর্ম্যাট ব্যবহার করে SQL-এ টেবিলের স্পষ্ট নামকরণ করুন:
PROJECT_NAME.DATASET.TABLE_NAME। - SQL-এ প্লেসহোল্ডার হিসেবে প্যারামিটার ব্যবহার করুন, এবং তারপর রানটাইমে টেবিলের নাম দিন।