১. সংক্ষিপ্ত বিবরণ
এই কোডল্যাবটি আপনাকে Bigtable-এ লেখা হওয়া ক্রেডিট কার্ড লেনদেনের ডেটা স্ট্রিম বিশ্লেষণ করার পদ্ধতি ধাপে ধাপে দেখাবে। আপনি শিখবেন কীভাবে Bigtable-এর 'change streams to BigQuery' টেমপ্লেট ব্যবহার করে রিয়েল-টাইমে ডেটা এক্সপোর্ট করতে হয়। এরপর, আপনি চেঞ্জ স্ট্রিম লগ কোয়েরি করার কৌশল এবং Looker ব্যবহার করে ড্যাশবোর্ড তৈরির জন্য ডেটা রিফরম্যাট করার পদ্ধতি দেখতে পাবেন।
এই কোডল্যাবটি সেইসব প্রযুক্তি-সচেতন ব্যবহারকারীদের জন্য তৈরি করা হয়েছে, যারা বিগটেবল, কমান্ড লাইন টুল এবং ইভেন্ট স্ট্রিমিং পরিষেবা ব্যবহারে পারদর্শী।

এই কোডল্যাবটি আপনাকে দেখাবে কীভাবে নিম্নলিখিত কাজগুলো করতে হয়:
- চেঞ্জ স্ট্রিম সক্রিয় করে একটি Bigtable টেবিল তৈরি করুন।
- একটি BigQuery ডেটাসেট তৈরি করুন।
- Dataflow টেমপ্লেট
Bigtable change streams to BigQuery. - BigQuery-তে ইভেন্ট স্ট্রিমটি কোয়েরি করুন।
- Looker-এর সাহায্যে ইভেন্ট স্ট্রিমটি দেখুন।
এই ডায়াগ্রামটি আপনার স্থাপন করা সিস্টেমটির স্থাপত্য দেখাচ্ছে।

২. প্রজেক্ট সেটআপ
- গুগল ক্লাউড কনসোলের প্রজেক্ট সিলেক্টর পেজে, একটি গুগল ক্লাউড প্রজেক্ট নির্বাচন করুন বা তৈরি করুন ।

- আপনার গুগল ক্লাউড প্রোজেক্টের জন্য বিলিং চালু আছে কিনা, তা নিশ্চিত করুন।
- Dataflow, Bigtable, BigQuery, Looker, এবং Cloud Storage-এর জন্য প্রয়োজনীয় API-গুলো সক্রিয় করতে আগে থেকে তথ্য দিয়ে পূর্ণ এই API সক্রিয়করণ পৃষ্ঠাটি পরিদর্শন করুন।
৩. একটি BigQuery ডেটাসেট তৈরি করুন
কোডল্যাবের পরবর্তী অংশে আপনি BigQuery ব্যবহার করে ডেটা বিশ্লেষণ করবেন। আপনার ডেটা পাইপলাইনের আউটপুটের জন্য ডেটাসেট তৈরি করতে এই নির্দেশাবলী অনুসরণ করুন।
- Google Cloud কনসোলে, BigQuery পৃষ্ঠায় যান।
- এক্সপ্লোরার প্যানে আপনার প্রজেক্টের নামটি খুঁজুন এবং ওভারফ্লো মেনুতে (প্রজেক্ট আইডির পাশে থাকা তিনটি উল্লম্ব ডট) ক্লিক করুন।
- ডেটা সেট তৈরি করুন -এ ক্লিক করুন।

- ডেটা সেট তৈরি করুন প্যানেলে, নিম্নলিখিতগুলি করুন:
- ডেটা সেট আইডি-র জন্য,
bigtable_bigquery_tutorialলিখুন। - বাকি ডিফল্ট সেটিংসগুলো অপরিবর্তিত রাখুন।
- ডেটা সেট তৈরি করুন -এ ক্লিক করুন।
৪. চেঞ্জ স্ট্রিম সক্রিয় করে একটি Bigtable টেবিল তৈরি করুন।
বিগটেবল হলো একটি লো-ল্যাটেন্সি, হরাইজন্টালি স্কেলেবল NoSQL ডাটাবেস সার্ভিস, এবং এর একটি সাধারণ ব্যবহার হলো আর্থিক ডেটা পরিবেশন করা। এখানে আপনি এমন একটি টেবিল তৈরি করতে যাচ্ছেন যা ক্রেডিট কার্ডের লেনদেন সংরক্ষণ করতে পারে। বিগটেবল বিশ্বজুড়ে লেনদেনের উচ্চ থ্রুপুট রাইট পরিচালনা করতে পারে এবং এমনকি সেই ডেটা রিয়েল-টাইম জালিয়াতি সনাক্তকরণের জন্যও ব্যবহার করতে পারে।
- Google Cloud কনসোলে, Bigtable Instances পৃষ্ঠায় যান।
- এই টিউটোরিয়ালের জন্য আপনি যে ইনস্ট্যান্সটি ব্যবহার করছেন, সেটির আইডিতে ক্লিক করুন। যদি আপনার কোনো ইনস্ট্যান্স উপলব্ধ না থাকে, তবে আপনার কাছাকাছি কোনো অঞ্চলে নিজের পছন্দের নামে একটি ইনস্ট্যান্স তৈরি করুন। বাকি সবকিছুর জন্য আপনি ডিফল্ট কনফিগারেশন ব্যবহার করতে পারেন।

- বাম দিকের নেভিগেশন প্যানে, টেবিল-এ ক্লিক করুন।
- টেবিল তৈরি করুন -এ ক্লিক করুন।

- টেবিলটির নাম
retail-databaseদিন। -
transactionsনামে একটি কলাম ফ্যামিলি যোগ করুন। - পরিবর্তন প্রবাহ সক্ষম করুন নির্বাচন করুন।
- গার্বেজ কালেকশন পলিসি এবং রিটেনশন পিরিয়ড তাদের ডিফল্ট মানেই অপরিবর্তিত রাখুন।
- তৈরি করুন- এ ক্লিক করুন।

৫. পরিবর্তন প্রবাহ ধারণ করার জন্য একটি ডেটা পাইপলাইন চালু করুন।
পয়েন্ট রিড এবং রো রেঞ্জ স্ক্যানের জন্য Bigtable-এর পারফরম্যান্স সর্বোত্তম, কিন্তু টেবিল-ব্যাপী অ্যানালিটিক্স সার্ভিং ক্যাপাসিটি এবং সিপিইউ রিসোর্সের উপর চাপ সৃষ্টি করতে পারে। টেবিল-ব্যাপী অ্যানালিটিক্সের জন্য BigQuery চমৎকার, তাই এক্ষেত্রে আপনি ডুয়াল রাইটস সমাধানটি ব্যবহার করবেন। এর মানে হলো, আপনি আপনার ডেটা Bigtable এবং BigQuery উভয় স্থানেই লিখবেন, যা একটি প্রচলিত কৌশল। এর জন্য অতিরিক্ত কোডিংয়ের প্রয়োজন হবে না, কারণ আপনি Bigtable change streams to BigQuery ডেটাফ্লো টেমপ্লেটটি ব্যবহার করবেন: যখন Bigtable-এ ডেটা লেখা হবে, তখন পাইপলাইনটি BigQuery-তে একটি চেঞ্জ রেকর্ড লিখে দেবে। একবার ডেটা BigQuery-তে চলে এলে, আপনি আপনার সম্পূর্ণ ডেটাসেটের উপর অপটিমাইজড কোয়েরি চালাতে পারবেন, যা Bigtable-এ আপনার সার্ভিং ডেটার পারফরম্যান্সকে প্রভাবিত করবে না।

- Bigtable Tables পৃষ্ঠায়, আপনার
retail-databaseটেবিলটি খুঁজুন। - Change stream কলামে, Connect- এ ক্লিক করুন।
- 'Connect with Dataflow ' ডায়ালগ বক্সে, BigQuery নির্বাচন করুন।
- ডেটাফ্লো জব তৈরি করুন -এ ক্লিক করুন।
- প্রদত্ত প্যারামিটার ফিল্ডগুলিতে আপনার প্যারামিটারের মানগুলি লিখুন। আপনার কোনো ঐচ্ছিক প্যারামিটার দেওয়ার প্রয়োজন নেই।
- ক্লাউড বিগটেবল অ্যাপ্লিকেশন প্রোফাইল আইডি
defaultএ সেট করুন। - BigQuery ডেটাসেটটি
bigtable_bigquery_tutorialএ সেট করুন।
- রান জব-এ ক্লিক করুন।
- এগিয়ে যাওয়ার আগে জবটির স্ট্যাটাস 'Starting' বা 'Running' না হওয়া পর্যন্ত অপেক্ষা করুন। জবটি কিউতে যুক্ত হয়ে গেলে এতে প্রায় পাঁচ মিনিট সময় লাগতে পারে। পেজটি স্বয়ংক্রিয়ভাবে আপডেট হবে। এই টেমপ্লেটটি একটি স্ট্রিমিং জব তৈরি করে, ফলে জবটি ম্যানুয়ালি বন্ধ না করা পর্যন্ত এটি Bigtable-এ লেখা নতুন ডেটা ক্রমাগত প্রসেস করতে পারে।

৬. বিগটেবিলে কিছু ডেটা লিখুন।
এখন, আপনি আপনার Bigtable টেবিলে এক বছরের ক্রেডিট কার্ড লেনদেনের তথ্য লিখবেন। এই উদাহরণ ডেটাসেটে ক্রেডিট কার্ড নম্বর, মার্চেন্টের নাম ও আইডি এবং টাকার পরিমাণের মতো তথ্য অন্তর্ভুক্ত রয়েছে। একটি প্রকৃত ক্রেডিট কার্ড প্রসেসিং অ্যাপ্লিকেশনে, প্রতিটি লেনদেন ঘটার সাথে সাথে এই ডেটা রিয়েল টাইমে আপনার ডেটাবেসে আসতে থাকে।
- ক্লাউড কনসোলের উপরের ডানদিকের কোণায় থাকা বোতামটিতে ক্লিক করে ক্লাউড শেলটি খুলুন।

- অনুরোধ করা হলে, ক্লাউড শেল অনুমোদন করার জন্য অনুরোধটি গ্রহণ করুন।
- ডেটাসেটটি ডাউনলোড করুন।
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
- কমান্ড লাইনে আপনার এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
-
cbtCLI ব্যবহার করেretail-databaseটেবিলে বেশ কিছু ক্রেডিট কার্ড লেনদেন লিখুন।
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv column-family=transactions
আউটপুটে বলা হবে
Done importing 10000 rows.
৭. BigQuery-তে পরিবর্তন লগগুলি দেখুন
- Google Cloud কনসোলে, BigQuery পৃষ্ঠায় যান।
- এক্সপ্লোরার প্যানে, আপনার প্রজেক্ট এবং
bigtable_bigquery_tutorialডেটাসেটটি এক্সপ্যান্ড করুন। -
retail-database_changelogটেবিলটিতে ক্লিক করুন। টেবিলটি উপস্থিত না থাকলে আপনাকে ডেটাসেটটি রিফ্রেশ করতে হতে পারে। - পরিবর্তন তালিকা দেখতে, প্রিভিউ-তে ক্লিক করুন।

কিছু কোয়েরি চেষ্টা করে দেখুন।
এখন, কিছু ধারণা পেতে আপনি এই ডেটাসেটের উপর কয়েকটি কোয়েরি চালাতে পারেন। SQL কোয়েরিগুলো এখানে দেওয়া আছে, কিন্তু চেঞ্জলগ ডেটার জন্য কীভাবে কোয়েরি লিখতে হয় সে সম্পর্কে BigQuery ডকুমেন্টেশনের "Query a Bigtable change log" অংশে আরও তথ্য রয়েছে।
একটি লেনদেন খুঁজে বের করুন
একটি নির্দিষ্ট লেনদেনের ডেটা খুঁজে বের করতে নিম্নলিখিত কোয়েরিটি ব্যবহার করুন।
SELECT *
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE row_key="3034-442694-3052#2023-03-03T14:50:46.824Z"
আপনি দেখতে পাবেন যে BigQuery-তে লেখা প্রতিটি কলাম একটি স্বতন্ত্র সারিতে পরিণত হয়েছে।
প্রতিটি বিভাগে ক্রয়ের সংখ্যা নির্ণয় করুন।
প্রতিটি ক্যাটাগরি অনুযায়ী ক্রয়ের সংখ্যা গণনা করতে নিম্নলিখিত কোয়েরিটি ব্যবহার করুন।
SELECT value as category, count(*) as `number of sales`
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE column="category"
GROUP BY category
ডেটা পুনরায় বিন্যাস করুন
প্রতিটি লেনদেনকে একটিমাত্র BigQuery টেবিলের সারিতে পুনর্গঠন করতে, আপনাকে ডেটা পিভট করতে হবে এবং সেই ফলাফলটি একটি নতুন টেবিলে সংরক্ষণ করতে হবে। কোয়েরি করার জন্য এটি একটি আরও সহজবোধ্য ফরম্যাট।
CREATE VIEW bigtable_bigquery_tutorial.retail_transactions_view AS (
SELECT *, parse_numeric(amount) as sales_dollars FROM (
SELECT row_key, timestamp, column, value
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
)
PIVOT (
MAX(value)
FOR column in ("merchant", "amount", "category", "transaction_date")
)
)
একটি লুকার ড্যাশবোর্ড তৈরি করুন
- নতুন ভিউটির বিস্তারিত পৃষ্ঠায় যেতে 'Go to view'- তে ক্লিক করুন।
- এক্সপোর্ট-এ ক্লিক করুন।
- লুকার স্টুডিওর সাথে অন্বেষণ নির্বাচন করুন

৮. ড্যাশবোর্ডে চার্ট যোগ করুন
এখন আপনি তথ্যগুলোকে গ্রাফের মাধ্যমে উপস্থাপন করতে পারেন, যাতে তা সহজে বোঝা যায় এবং একটি প্রতিবেদন হিসেবে শেয়ার করা যায়। আপনি আপনার ড্যাশবোর্ডে তিনটি চার্ট যোগ করবেন:
- সময়ের সাথে সাথে লেনদেনের পরিমাণ
- প্রতিটি ব্যবসায়ীর মোট লেনদেন
- বিভাগ অনুযায়ী লেনদেনের শতাংশ

পৃষ্ঠাটি সেট আপ করুন
- বিদ্যমান প্রতিটি চার্টে ক্লিক করে ডিলিট চাপুন সেগুলো মুছে ফেলার জন্য।
- গ্রাফের ডেটা পরিবর্তন করার জন্য, পৃষ্ঠার ডানদিকে থাকা প্রোপার্টিজ (Properties) নির্বাচন করুন।
চার্টগুলো যোগ করুন
সময়ের সাথে সাথে লেনদেনের পরিমাণ
- 'Add a chart'-এ ক্লিক করুন এবং একটি টাইম সিরিজ চার্ট তৈরি করুন।
- ডাইমেনশনটি
transaction_dateএ সেট করুন।
- মেট্রিকটি
sales_dollarsএ সেট করুন।

প্রতিটি ব্যবসায়ীর মোট লেনদেন
- 'Add a chart'-এ ক্লিক করুন এবং একটি টেবিল তৈরি করুন।
-
merchantমাত্রা নির্ধারণ করুন। - মেট্রিককে
sales_dollarsডলারে সেট করুন
বিভাগ অনুযায়ী লেনদেনের শতাংশ
- 'Add a chart'-এ ক্লিক করুন এবং একটি পাই চার্ট তৈরি করুন।
- মাত্রাটি
categoryসেট করুন। - মেট্রিককে
sales_dollarsডলারে সেট করুন
রিয়েল-টাইম পরিবর্তনগুলি দেখুন
কিছু সময় নিয়ে গ্রাফের মানগুলো খতিয়ে দেখুন। আপনি টেবিলের নির্দিষ্ট মার্চেন্ট বা নির্দিষ্ট ক্যাটাগরিতে ক্লিক করতে পারেন, যার ফলে সমস্ত চার্ট সেই নির্দিষ্ট মানগুলোর উপর ফিল্টার হয়ে যাবে এবং আপনি আরও গভীর অন্তর্দৃষ্টি লাভ করবেন। এরপর, আপনি আরও ডেটা যোগ করে দেখতে পারেন কীভাবে এই গ্রাফটি রিয়েল টাইমে আপডেট হয়।
- আপনার ক্লাউড শেলে ফিরে যান।
- দ্বিতীয় ডেটাসেটটি ডাউনলোড করে লিখুন।
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2024-jan.csv .
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2024-jan.csv column-family=transactions
- আপনার Looker ড্যাশবোর্ডে ফিরে যান এবং
Ctrl+Shift+Eকমান্ড দিয়ে অথবা ভিউ মেনুতে থাকা ‘Refresh data’ অপশনে ক্লিক করে ডেটা রিফ্রেশ করুন। এখন আপনি চার্টগুলোতে জানুয়ারি ২০২৪-এর ডেটা দেখতে পাবেন।
এর বাইরেও আপনি বিভিন্ন ধরণের গ্রাফ এবং মেট্রিক তৈরি করতে পারেন। Looker ডকুমেন্টেশনে আরও পড়ুন।
৯. পরিষ্কার করুন
এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সগুলোর জন্য আপনার গুগল ক্লাউড অ্যাকাউন্টে চার্জ হওয়া এড়াতে, হয় রিসোর্সগুলো যে প্রজেক্টে রয়েছে সেটি ডিলিট করে দিন, অথবা প্রজেক্টটি রেখে দিয়ে আলাদা আলাদা রিসোর্সগুলো ডিলিট করে দিন।
পরিবর্তন প্রবাহ পাইপলাইন বন্ধ করুন
- গুগল ক্লাউড কনসোলে, ডেটাফ্লো জবস পৃষ্ঠায় যান।
- কাজের তালিকা থেকে আপনার স্ট্রিমিং কাজটি বেছে নিন।
- নেভিগেশনে, স্টপ-এ ক্লিক করুন।
- স্টপ জব ডায়ালগ বক্সে, ক্যানসেল নির্বাচন করুন এবং তারপরে স্টপ জব-এ ক্লিক করুন।
Bigtable রিসোর্সগুলি মুছে ফেলুন
আপনি যদি এই টিউটোরিয়ালের জন্য একটি Bigtable ইনস্ট্যান্স তৈরি করে থাকেন, তবে আপনি সেটি মুছে ফেলতে পারেন, অথবা আপনার তৈরি করা টেবিলটি পরিষ্কার করতে পারেন।
- Google Cloud কনসোলে, Bigtable Instances পৃষ্ঠায় যান।
- এই টিউটোরিয়ালের জন্য আপনি যে ইনস্ট্যান্সটি ব্যবহার করছেন, সেটির আইডিতে ক্লিক করুন।
- বাম দিকের নেভিগেশন প্যানে, টেবিল-এ ক্লিক করুন।
-
retail-databaseটেবিলটি খুঁজুন। - সম্পাদনা-তে ক্লিক করুন।
- পরিবর্তন প্রবাহ সক্ষম করুন ।
- সংরক্ষণ করুন- এ ক্লিক করুন।
- টেবিলের জন্য ওভারফ্লো মেনুটি খুলুন।
- ডিলিট-এ ক্লিক করুন এবং নিশ্চিত করতে টেবিলের নামটি ইনপুট করুন।
- ঐচ্ছিক: এই টিউটোরিয়ালের জন্য যদি নতুন কোনো ইনস্ট্যান্স তৈরি করে থাকেন, তবে সেটি মুছে ফেলুন।
BigQuery ডেটাসেটটি মুছে ফেলুন
- Google Cloud কনসোলে, BigQuery পৃষ্ঠায় যান।
- এক্সপ্লোরার প্যানেলে
bigtable_bigquery_tutorialডেটাসেটটি খুঁজুন এবং এটিতে ক্লিক করুন। - ডিলিট-এ ক্লিক করুন, delete টাইপ করুন এবং তারপর নিশ্চিত করতে ডিলিট-এ ক্লিক করুন।