BigQuery-এ পার্টিশন এবং ক্লাস্টারিং

1. ভূমিকা

BigQuery হল একটি সম্পূর্ণ-পরিচালিত, পেটাবাইট-স্কেল, বিশ্লেষণের জন্য কম খরচের এন্টারপ্রাইজ ডেটা গুদাম। BigQuery সার্ভারহীন। আপনাকে ক্লাস্টারগুলি সেট আপ এবং পরিচালনা করার দরকার নেই।

একটি BigQuery ডেটাসেট একটি GCP প্রকল্পে থাকে এবং এতে এক বা একাধিক টেবিল থাকে। আপনি এসকিউএল দিয়ে এই ডেটাসেটগুলি জিজ্ঞাসা করতে পারেন।

এই কোডল্যাবে, আপনি BigQuery-এ পার্টিশন এবং ক্লাস্টারিং বোঝার জন্য GCP কনসোলে BigQuery ওয়েব UI ব্যবহার করবেন। BigQuery-এর টেবিল পার্টিশন এবং ক্লাস্টারিং সাধারণ ডেটা অ্যাক্সেস প্যাটার্নের সাথে মেলে আপনার ডেটা গঠন করতে সাহায্য করে। পার্টিশন এবং ক্লাস্টারিং হল একটি নির্দিষ্ট ডেটা পরিসরের উপর অনুসন্ধান করার সময় BigQuery কার্যক্ষমতা এবং খরচ সম্পূর্ণরূপে সর্বাধিক করার জন্য। এর ফলে প্রতি ক্যোয়ারীতে কম ডেটা স্ক্যান করা হয় এবং ক্যোয়ারী শুরুর সময়ের আগে ছাঁটাই নির্ধারণ করা হয়।

BigQuery সম্পর্কে আরও তথ্যের জন্য, BigQuery ডকুমেন্টেশন দেখুন।

আপনি কি শিখবেন

  • বিভাজন এবং ক্লাস্টার টেবিলগুলি কীভাবে তৈরি এবং অনুসন্ধান করবেন
  • পার্টিশন এবং ক্লাস্টার টেবিলের সাথে ক্যোয়ারী কর্মক্ষমতা তুলনা করুন

আপনি কি প্রয়োজন হবে

এই ল্যাবটি সম্পূর্ণ করতে, আপনার প্রয়োজন:

  • Google Chrome এর সর্বশেষ সংস্করণ
  • একটি Google ক্লাউড প্ল্যাটফর্ম বিলিং অ্যাকাউন্ট

2. সেট আপ করা হচ্ছে

BigQuery-এর সাথে কাজ করার জন্য, আপনাকে একটি GCP প্রকল্প তৈরি করতে হবে বা একটি বিদ্যমান প্রকল্প নির্বাচন করতে হবে।

একটি প্রকল্প তৈরি করুন

একটি নতুন প্রকল্প তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার যদি ইতিমধ্যে একটি Google অ্যাকাউন্ট না থাকে (Gmail বা Google Apps), একটি তৈরি করুন
  2. Google ক্লাউড প্ল্যাটফর্ম কনসোলে সাইন-ইন করুন ( console.cloud.google.com ) এবং একটি নতুন প্রকল্প তৈরি করুন৷
  3. আপনার যদি কোনো প্রকল্প না থাকে, প্রকল্প তৈরি করুন বোতামে ক্লিক করুন:

870a3cbd6541ee86.png

অন্যথায়, প্রকল্প নির্বাচন মেনু থেকে একটি নতুন প্রকল্প তৈরি করুন:

f6dff3437a20cf2.png

  1. একটি প্রকল্পের নাম লিখুন এবং তৈরি করুন নির্বাচন করুন। প্রজেক্ট আইডি নোট করুন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম।

1884405a64ce5765.png

3. পাবলিক ডেটাসেটের সাথে কাজ করা

BigQuery আপনাকে BBC News, GitHub repos, Stack Overflow এবং US National Oceanic and Atmospheric Administration (NOAA) ডেটাসেট সহ সর্বজনীন ডেটাসেটের সাথে কাজ করতে দেয়। আপনার এই ডেটাসেটগুলি BigQuery-এ লোড করার দরকার নেই৷ BigQuery-এ ব্রাউজ করতে এবং জিজ্ঞাসা করার জন্য আপনাকে শুধুমাত্র ডেটাসেটগুলি খুলতে হবে। এই কোডল্যাবে, আপনি স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেটের সাথে কাজ করবেন।

স্ট্যাক ওভারফ্লো ডেটাসেট ব্রাউজ করুন

স্ট্যাক ওভারফ্লো ডেটাসেটে পোস্ট, ট্যাগ, ব্যাজ, মন্তব্য, ব্যবহারকারী এবং আরও অনেক কিছু সম্পর্কে তথ্য রয়েছে। BigQuery ওয়েব UI-তে স্ট্যাক ওভারফ্লো ডেটাসেট ব্রাউজ করতে, এই ধাপগুলি অনুসরণ করুন:

  1. স্ট্যাক ওভারফ্লো ডেটাসেট খুলুন। BigQuery ওয়েব UI GCP কনসোলে খোলে এবং স্ট্যাকওভারফ্লো ডেটাসেট সম্পর্কে তথ্য প্রদর্শন করে।
  2. নেভিগেশন প্যানেলে, bigquery-public-data নির্বাচন করুন। মেনুটি সর্বজনীন ডেটাসেটের তালিকায় প্রসারিত হয়। প্রতিটি ডেটাসেটে এক বা একাধিক টেবিল থাকে।
  3. নিচে স্ক্রোল করুন এবং স্ট্যাকওভারফ্লো নির্বাচন করুন। স্ট্যাক ওভারফ্লো ডেটাসেটে টেবিলগুলি তালিকাভুক্ত করতে মেনুটি প্রসারিত হয়।
  4. ব্যাজ টেবিলের স্কিমা দেখতে ব্যাজ নির্বাচন করুন। সারণীতে ক্ষেত্রগুলোর নাম নোট করুন।
  5. ক্ষেত্রের নামের উপরে, ব্যাজ টেবিলের নমুনা ডেটা দেখতে পূর্বরূপ ক্লিক করুন।

BigQuery-এ উপলব্ধ সমস্ত পাবলিক ডেটাসেট সম্পর্কে আরও তথ্যের জন্য, Google BigQuery পাবলিক ডেটাসেটগুলি দেখুন৷

স্ট্যাকওভারফ্লো ডেটাসেট জিজ্ঞাসা করুন

আপনি যে ডেটা নিয়ে কাজ করছেন তা বোঝার জন্য একটি ডেটাসেট ব্রাউজ করা একটি ভাল উপায়, কিন্তু ডেটাসেটগুলি অনুসন্ধান করা হল যেখানে BigQuery সত্যিই উজ্জ্বল। এই বিভাগটি আপনাকে শেখায় কিভাবে BigQuery কোয়েরি চালাতে হয়। এই মুহুর্তে আপনার কোন SQL জানার দরকার নেই। আপনি নীচের প্রশ্নগুলি কপি এবং পেস্ট করতে পারেন৷

একটি ক্যোয়ারী চালানোর জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।
  2. ক্যোয়ারী এডিটর টেক্সট এলাকায়, নিম্নলিখিত SQL ক্যোয়ারী কপি এবং পেস্ট করুন। BigQuery ক্যোয়ারী যাচাই করে এবং ওয়েব UI টেক্সট এরিয়ার নিচে একটি সবুজ চেকমার্ক প্রদর্শন করে যে সিনট্যাক্সটি বৈধ।
SELECT
  EXTRACT(YEAR FROM creation_date) AS creation_year,
  COUNT(*) AS total_posts
FROM `bigquery-public-data.stackoverflow.posts_questions`
GROUP BY creation_year
ORDER BY total_posts DESC
LIMIT 10
  1. রান নির্বাচন করুন। প্রশ্নটি স্ট্যাক ওভারফ্লো পোস্টের সংখ্যা বা প্রতি বছর পোস্ট করা প্রশ্ন প্রদান করে।

4. একটি নতুন টেবিল তৈরি করা

পূর্ববর্তী বিভাগে, আপনি সর্বজনীন ডেটাসেটগুলি জিজ্ঞাসা করেছেন যা BigQuery আপনাকে উপলব্ধ করে। এই বিভাগে, আপনি একটি বিদ্যমান টেবিল থেকে BigQuery-এ একটি নতুন টেবিল তৈরি করবেন। আপনি স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেট posts_questions সারণী থেকে নমুনাকৃত ডেটা সহ একটি নতুন টেবিল তৈরি করবেন এবং তারপর টেবিলটি জিজ্ঞাসা করবেন।

একটি নতুন ডেটাসেট তৈরি করুন

BigQuery-এ টেবিল ডেটা তৈরি এবং লোড করতে, প্রথমে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে ডেটা ধরে রাখতে একটি BigQuery ডেটাসেট তৈরি করুন:

  1. GCP কনসোল নেভিগেশন প্যানেলে, সেটআপের অংশ হিসাবে তৈরি করা প্রকল্পের নাম নির্বাচন করুন।
  2. ডানদিকে, বিশদ প্যানেলে, ডেটাসেট তৈরি করুন নির্বাচন করুন।

acc6378c49622323.png

  1. ডেটাসেট আইডির জন্য ডেটাসেট তৈরি করুন ডায়ালগে, stackoverflow টাইপ করুন। অন্য সব ডিফল্ট সেটিংস জায়গায় রেখে ওকে ক্লিক করুন।

7a2dfd8bcb8f259a.png

2018 StackOverflow পোস্ট সহ একটি নতুন টেবিল তৈরি করুন

এখন আপনি একটি BigQuery ডেটাসেট তৈরি করেছেন, আপনি BigQuery-এ একটি নতুন টেবিল তৈরি করতে পারেন। একটি বিদ্যমান টেবিল থেকে ডেটা সহ একটি টেবিল তৈরি করতে, আপনি 2018 স্ট্যাক ওভারফ্লো পোস্ট ডেটাসেট অনুসন্ধান করবেন এবং নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করে একটি নতুন টেবিলে ফলাফল লিখবেন:

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।

9ca55f544e8da8bd.png

  1. ক্যোয়ারী এডিটর টেক্সট এলাকায়, একটি নতুন টেবিল তৈরি করতে নিম্নলিখিত SQL ক্যোয়ারীটি কপি করে পেস্ট করুন, যা একটি DDL স্টেটমেন্ট
CREATE OR REPLACE TABLE `stackoverflow.questions_2018` AS
SELECT id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count, tags
FROM `bigquery-public-data.stackoverflow.posts_questions`
WHERE creation_date BETWEEN '2018-01-01' AND '2019-01-01';
  1. রান নির্বাচন করুন। ক্যোয়ারীটি আপনার প্রকল্পের stackoverflow ডেটাসেটে BigQuery স্ট্যাক ওভারফ্লো ডেটাসেট bigquery-public-data.stackoverflow.posts_questions এ একটি কোয়েরি চালানোর ফলে ডেটা সহ একটি নতুন টেবিল questions_2018 তৈরি করে।

2018 স্ট্যাক ওভারফ্লো পোস্ট সহ নতুন টেবিলের জন্য প্রশ্ন করুন

এখন যেহেতু আপনি একটি BigQuery টেবিল তৈরি করেছেন, আসুন প্রশ্ন এবং শিরোনাম সহ আরও কিছু পরিসংখ্যান যেমন উত্তরের সংখ্যা, মন্তব্য, ভিউ এবং পছন্দের স্ট্যাক ওভারফ্লো পোস্টগুলি ফেরত দেওয়ার জন্য একটি ক্যোয়ারী চালাই৷ নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।
  2. ক্যোয়ারী এডিটর টেক্সট এলাকায়, নিম্নলিখিত SQL ক্যোয়ারী কপি এবং পেস্ট করুন
SELECT id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count 
FROM  `stackoverflow.questions_2018` 
WHERE creation_date BETWEEN '2018-01-01' AND '2018-02-01'
AND tags = 'android';
  1. রান নির্বাচন করুন। প্রশ্নটি 2018 সালের জানুয়ারী মাসে তৈরি করা স্ট্যাক ওভারফ্লো প্রশ্নগুলিকে ফেরত দেয় যেগুলিকে প্রশ্ন এবং কিছু অন্যান্য পরিসংখ্যানের সাথে android হিসাবে ট্যাগ করা হয়েছে৷
  2. ডিফল্টরূপে, BigQuery ক্যোয়ারী ফলাফল ক্যাশ করেএকই ক্যোয়ারী চালান এবং আপনি দেখতে পাবেন BigQuery ফলাফল ফেরাতে অনেক কম সময় নিয়েছে কারণ এটি ক্যাশে থেকে ফলাফল ফেরত দেয়।
  3. একই ক্যোয়ারী আবার চালান কিন্তু এবার BigQuery ক্যাশিং অক্ষম করা আছে। আমরা বিভাজিত এবং ক্লাস্টার টেবিলের তুলনায় কার্যক্ষমতার তুলনায় ন্যায্য ল্যাবের জন্য ক্যাশে নিষ্ক্রিয় করব, যা পরবর্তী বিভাগে চালানো হবে। ক্যোয়ারী এডিটরে, আরও ক্লিক করুন এবং ক্যোয়ারী সেটিংস নির্বাচন করুন। ক্যোয়ারী সেটিংস
  4. ক্যাশে পছন্দের অধীনে, ক্যাশে ফলাফল ব্যবহার করুন টিক চিহ্ন সরিয়ে দিন। ক্যাশে ফলাফল বিকল্প
  5. ক্যোয়ারী ফলাফলে, আপনার ক্যোয়ারীটি সম্পূর্ণ হতে কত সময় লেগেছে এবং ফলাফল পেতে ডেটার পরিমাণ দেখতে হবে।

f197b022b4276338.png

5. একটি পার্টিশন করা টেবিল তৈরি করা এবং অনুসন্ধান করা

আগের বিভাগে, আপনি স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেট ব্যবহার করে posts_questions টেবিল থেকে ডেটা সহ BigQuery-এ একটি নতুন টেবিল তৈরি করেছেন। আমরা ক্যাশিং অক্ষম করে এই ডেটাসেটটি জিজ্ঞাসা করেছি এবং ক্যোয়ারী কর্মক্ষমতা পর্যবেক্ষণ করেছি। এই বিভাগে, আপনি একই স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেটের posts_questions টেবিল থেকে একটি নতুন বিভাজিত টেবিল তৈরি করবেন এবং ক্যোয়ারী কর্মক্ষমতা পর্যবেক্ষণ করবেন।

একটি পার্টিশন করা টেবিল হল একটি বিশেষ টেবিল যা সেগমেন্টে বিভক্ত, যাকে পার্টিশন বলা হয়, যা আপনার ডেটা পরিচালনা এবং অনুসন্ধান করা সহজ করে তোলে। আপনি সাধারণত ডেটা ইনজেশন টাইম বা TIMESTAMP/DATE কলাম বা একটি পূর্ণসংখ্যা কলাম ব্যবহার করে বড় টেবিলগুলিকে অনেক ছোট পার্টিশনে বিভক্ত করতে পারেন। আমরা একটি DATE পার্টিশন করা টেবিল তৈরি করব।

এখানে বিভাজিত টেবিল সম্পর্কে আরও জানুন।

2018 স্ট্যাকওভারফ্লো পোস্ট সহ একটি নতুন বিভাজিত টেবিল তৈরি করুন

একটি বিদ্যমান টেবিল বা ক্যোয়ারী থেকে ডেটা সহ একটি পার্টিশন করা টেবিল তৈরি করতে, আপনি 2018 স্ট্যাকওভারফ্লো পোস্ট ডেটাসেট জিজ্ঞাসা করবেন এবং একটি নতুন টেবিলে ফলাফল লিখবেন, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

b9d0ca4df0881f58.png

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।

9ca55f544e8da8bd.png

  1. ক্যোয়ারী এডিটর টেক্সট এলাকায়, একটি নতুন টেবিল তৈরি করতে নিম্নলিখিত SQL ক্যোয়ারীটি কপি করে পেস্ট করুন, যা একটি DDL স্টেটমেন্ট
CREATE OR REPLACE TABLE `stackoverflow.questions_2018_partitioned` 
PARTITION BY DATE(creation_date) AS
SELECT id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count, tags
FROM `bigquery-public-data.stackoverflow.posts_questions`
WHERE creation_date BETWEEN '2018-01-01' AND '2019-01-01';
  1. রান নির্বাচন করুন। প্রশ্নটি BigQuery স্ট্যাক ওভারফ্লো ডেটাসেট bigquery-public-data.stackoverflow.posts_questions এ একটি ক্যোয়ারী চালানোর ফলে ডেটা সহ আপনার প্রকল্পের stackoverflow ডেটাসেটে প্রশ্ন_2018_বিভাজন করা একটি নতুন টেবিল questions_2018_partitioned তৈরি করে

2018 স্ট্যাক ওভারফ্লো পোস্ট সহ পার্টিশন করা টেবিলের জন্য প্রশ্ন করুন

এখন যেহেতু আপনি একটি BigQuery পার্টিশন করা টেবিল তৈরি করেছেন, চলুন, এবারে পার্টিশন করা টেবিলে একই ক্যোয়ারী চালাই, স্ট্যাক ওভারফ্লো পোস্টগুলিকে প্রশ্ন এবং শিরোনাম সহ উত্তরের সংখ্যা, মন্তব্য, ভিউ এবং পছন্দের মত অন্যান্য পরিসংখ্যান সহ ফেরত দিতে। নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।
  2. ক্যোয়ারী এডিটর টেক্সট এলাকায়, নিম্নলিখিত SQL ক্যোয়ারী কপি এবং পেস্ট করুন
SELECT id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count 
FROM  `stackoverflow.questions_2018_partitioned` 
WHERE creation_date BETWEEN '2018-01-01' AND '2018-02-01'
AND tags = 'android';
  1. BigQuery ক্যাশে অক্ষম করে রান করুন নির্বাচন করুন (BigQuery ক্যাশে নিষ্ক্রিয় করার জন্য পূর্ববর্তী বিভাগটি দেখুন)। প্রশ্নটি 2018 সালের জানুয়ারী মাসে তৈরি করা স্ট্যাক ওভারফ্লো প্রশ্নগুলিকে ফেরত দেয় যেগুলিকে প্রশ্ন এবং কিছু অন্যান্য পরিসংখ্যানের সাথে android হিসাবে ট্যাগ করা হয়েছে৷
  2. ক্যোয়ারী ফলাফলে, আপনার ক্যোয়ারীটি সম্পূর্ণ হতে কত সময় লেগেছে এবং ফলাফল পেতে ডেটার পরিমাণ দেখতে হবে।

ef01144374069823.png

আপনার দেখতে হবে যে পার্টিশন করা টেবিলের সাথে ক্যোয়ারীটির পারফরম্যান্স নন-পার্টিশন টেবিলের চেয়ে ভালো কারণ BigQuery পার্টিশনগুলিকে ছাঁটাই করে অর্থাৎ শুধুমাত্র প্রয়োজনীয় পার্টিশন স্ক্যান করে যা কম ডেটা প্রসেস করে এবং দ্রুত চলে। এটি ক্যোয়ারী খরচ এবং ক্যোয়ারী কর্মক্ষমতা অপ্টিমাইজ করে.

6. একটি ক্লাস্টার টেবিল তৈরি এবং অনুসন্ধান করা

আগের বিভাগে, আপনি স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেটে posts_questions টেবিল থেকে ডেটা সহ BigQuery-এ একটি পার্টিশন করা টেবিল তৈরি করেছেন। আমরা ক্যাশিং অক্ষম করে এই টেবিলটি অনুসন্ধান করেছি এবং অ-বিভাজন এবং বিভাজিত টেবিল উভয়ের সাথে ক্যোয়ারী কর্মক্ষমতা পর্যবেক্ষণ করেছি। এই বিভাগে, আপনি একই স্ট্যাক ওভারফ্লো পাবলিক ডেটাসেটের posts_questions সারণী থেকে একটি নতুন ক্লাস্টার টেবিল তৈরি করবেন এবং ক্যোয়ারী কর্মক্ষমতা পর্যবেক্ষণ করবেন।

যখন একটি টেবিল BigQuery-এ ক্লাস্টার করা হয়, তখন টেবিলের স্কিমার এক বা একাধিক কলামের বিষয়বস্তুর উপর ভিত্তি করে টেবিলের ডেটা স্বয়ংক্রিয়ভাবে সংগঠিত হয়। আপনার নির্দিষ্ট করা কলামগুলি সম্পর্কিত ডেটা সংযোজন করতে ব্যবহৃত হয়। যখন একটি ক্লাস্টার করা টেবিলে ডেটা লেখা হয়, তখন BigQuery ক্লাস্টারিং কলামের মান ব্যবহার করে ডেটা সাজায়। BigQuery স্টোরেজের একাধিক ব্লকে ডেটা সাজাতে এই মানগুলি ব্যবহার করা হয়। ক্লাস্টার করা কলামের ক্রম ডেটার সাজানোর ক্রম নির্ধারণ করে। যখন একটি টেবিল বা একটি নির্দিষ্ট পার্টিশনে নতুন ডেটা যোগ করা হয়, তখন টেবিল বা পার্টিশনের সাজানোর বৈশিষ্ট্য পুনরুদ্ধার করতে BigQuery ব্যাকগ্রাউন্ডে স্বয়ংক্রিয়ভাবে পুনরায় ক্লাস্টারিং করে।

এখানে ক্লাস্টার টেবিলের সাথে কাজ করার বিষয়ে আরও জানুন।

2018 স্ট্যাক ওভারফ্লো পোস্ট সহ একটি নতুন ক্লাস্টার টেবিল তৈরি করুন

এই বিভাগে, আপনি creation_date বিভাজিত একটি নতুন টেবিল তৈরি করবেন এবং ক্যোয়ারী অ্যাক্সেস প্যাটার্নের উপর ভিত্তি করে tags কলামে ক্লাস্টার করা হবে। একটি বিদ্যমান টেবিল বা ক্যোয়ারী থেকে ডেটা সহ একটি ক্লাস্টার টেবিল তৈরি করতে, আপনি 2018 স্ট্যাক ওভারফ্লো পোস্ট টেবিলে প্রশ্ন করবেন এবং নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে একটি নতুন টেবিলে ফলাফল লিখবেন:

e7d9acc0dc3b9d79.png

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।

9ca55f544e8da8bd.png

  1. ক্যোয়ারী এডিটর টেক্সট এলাকায়, একটি নতুন টেবিল তৈরি করতে নিম্নলিখিত SQL ক্যোয়ারীটি কপি করে পেস্ট করুন, যা একটি DDL স্টেটমেন্ট
#standardSQL
CREATE OR REPLACE TABLE `stackoverflow.questions_2018_clustered`
PARTITION BY
  DATE(creation_date)
CLUSTER BY
  tags AS
SELECT
  id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count, tags
FROM
  `bigquery-public-data.stackoverflow.posts_questions`
WHERE
  creation_date BETWEEN '2018-01-01' AND '2019-01-01';
  1. রান নির্বাচন করুন। কোয়েরিটি BigQuery স্ট্যাক ওভারফ্লো টেবিল bigquery-public-data.stackoverflow.posts_questions এ একটি কোয়েরি চালানোর ফলে ডেটা সহ আপনার প্রকল্পের stackoverflow ডেটাসেটে প্রশ্ন_2018_ক্লাস্টার করা একটি নতুন টেবিল questions_2018_clustered তৈরি করে। নতুন টেবিলটি সৃষ্টির তারিখে বিভাজন করা হয়েছে এবং ট্যাগ কলামে ক্লাস্টার করা হয়েছে।

2018 স্ট্যাক ওভারফ্লো পোস্টের সাথে ক্লাস্টার করা টেবিলে প্রশ্ন করুন

এখন যেহেতু আপনি একটি BigQuery ক্লাস্টার করা টেবিল তৈরি করেছেন, চলুন, এবার একই কোয়েরি চালাই, এইবার পার্টিশন করা এবং ক্লাস্টার করা টেবিলে, স্ট্যাক ওভারফ্লো পোস্টগুলিকে প্রশ্ন এবং শিরোনাম সহ উত্তরের সংখ্যা, মন্তব্য, দর্শনের মতো অন্যান্য পরিসংখ্যান সহ ফেরত দেওয়া যাক। এবং প্রিয়. নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. GCP কনসোলের উপরের ডানদিকে, নতুন ক্যোয়ারী রচনা করুন নির্বাচন করুন।
  2. ক্যোয়ারী এডিটর টেক্সট এলাকায়, নিম্নলিখিত SQL ক্যোয়ারী কপি এবং পেস্ট করুন
SELECT id, title, accepted_answer_id, creation_date, answer_count , comment_count , favorite_count, view_count 
FROM  `stackoverflow.questions_2018_clustered` 
WHERE creation_date BETWEEN '2018-01-01' AND '2018-02-01'
AND tags = 'android';
  1. BigQuery ক্যাশে অক্ষম করে রান করুন নির্বাচন করুন (BigQuery ক্যাশে নিষ্ক্রিয় করার জন্য পূর্ববর্তী বিভাগটি দেখুন)। প্রশ্নটি 2018 সালের জানুয়ারী মাসে তৈরি করা স্ট্যাক ওভারফ্লো প্রশ্নগুলিকে ফেরত দেয় যেগুলিকে প্রশ্ন এবং কিছু অন্যান্য পরিসংখ্যানের সাথে android হিসাবে ট্যাগ করা হয়েছে৷
  2. ক্যোয়ারী ফলাফলে, আপনার ক্যোয়ারীটি সম্পূর্ণ হতে কত সময় লেগেছে এবং ফলাফল পেতে ডেটার পরিমাণ দেখতে হবে।

85e3c30d6fb3d547.png

একটি পার্টিশন করা এবং ক্লাস্টার করা টেবিলের সাথে, ক্যোয়ারীটি একটি পার্টিশন করা টেবিল বা অ-বিভাজন করা টেবিলের চেয়ে কম ডেটা স্ক্যান করে। বিভাজন এবং ক্লাস্টারিং দ্বারা ডেটা যেভাবে সংগঠিত হয় তা স্লট কর্মীদের দ্বারা স্ক্যান করা ডেটার পরিমাণ কমিয়ে দেয় যার ফলে ক্যোয়ারী কর্মক্ষমতা উন্নত হয় এবং খরচ অপ্টিমাইজ করা যায়।

7. পরিষ্কার করা

আপনি আপনার স্ট্যাকওভারফ্লো ডেটাসেটের সাথে কাজ চালিয়ে যাওয়ার পরিকল্পনা না করলে, আপনার এটি মুছে ফেলা উচিত এবং এই কোডল্যাবের জন্য তৈরি করা প্রকল্পটি মুছে ফেলা উচিত।

BigQuery ডেটাসেট মুছুন

BigQuery ডেটাসেট মুছতে, নিম্নলিখিত ধাপগুলি সম্পাদন করুন:

  1. BigQuery-এর বাম দিকের নেভিগেশন প্যানেল থেকে স্ট্যাকওভারফ্লো ডেটাসেট নির্বাচন করুন।
  2. বিশদ প্যানেলে, ডেটাসেট মুছুন নির্বাচন করুন। 67b0f5cb740cb2ec.png
  3. ডেটাসেট মুছুন ডায়ালগে, স্ট্যাকওভারফ্লো লিখুন এবং আপনি ডেটাসেট মুছতে চান তা নিশ্চিত করতে মুছুন নির্বাচন করুন।

প্রকল্পটি মুছুন

এই কোডল্যাবের জন্য আপনি যে জিসিপি প্রকল্পটি তৈরি করেছেন তা মুছতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. GCP নেভিগেশন মেনুতে, IAM এবং Admin নির্বাচন করুন।
  2. নেভিগেশন প্যানেলে, সেটিংস নির্বাচন করুন।
  3. বিশদ প্যানেলে, নিশ্চিত করুন যে আপনার বর্তমান প্রকল্পটি এই কোডল্যাবের জন্য তৈরি করা প্রকল্প এবং শাট ডাউন নির্বাচন করুন।
  4. শাট ডাউন প্রজেক্ট ডায়ালগে, আপনার প্রোজেক্টের জন্য প্রজেক্ট আইডি (প্রকল্পের নাম নয়) লিখুন এবং নিশ্চিত করতে শাট ডাউন নির্বাচন করুন।

অভিনন্দন! আপনি এখন শিখেছেন

  • বিদ্যমান টেবিল থেকে একটি নতুন টেবিল তৈরি করতে BigQuery ওয়েব UI কীভাবে ব্যবহার করবেন
  • বিভাজন এবং ক্লাস্টার টেবিলগুলি কীভাবে তৈরি এবং অনুসন্ধান করবেন
  • কিভাবে পার্টিশনিং এবং ক্লাস্টারিং কোয়েরি কর্মক্ষমতা এবং খরচ অপ্টিমাইজ করে

মনে রাখবেন যে ডেটাসেটের সাথে কাজ করার জন্য আপনাকে ক্লাস্টারগুলি সেট আপ বা পরিচালনা করতে হবে না।