داده های تراکنش کارت اعتباری را در Bigtable با استفاده از BigQuery و Looker تجزیه و تحلیل و تجسم کنید

1. بررسی اجمالی

این نرم افزار کد شما را در تجزیه و تحلیل جریانی از داده های تراکنش کارت اعتباری که در Bigtable نوشته می شود، راهنمایی می کند. شما یاد خواهید گرفت که چگونه از جریان های تغییر Bigtable به الگوی BigQuery برای صادرات داده ها در زمان واقعی استفاده کنید. سپس، تکنیک هایی برای پرس و جو در گزارش جریان تغییرات و نحوه قالب بندی مجدد داده ها برای ایجاد داشبورد با استفاده از Looker را مشاهده خواهید کرد.

این کد لبه برای کاربران فنی که با Bigtable آشنا هستند، با استفاده از ابزارهای خط فرمان و خدمات پخش رویداد در نظر گرفته شده است.

426dc59200875a20.png

این کد لبه به شما نشان می دهد که چگونه کارهای زیر را انجام دهید:

  • یک جدول Bigtable با فعال بودن جریان تغییر ایجاد کنید.
  • یک مجموعه داده BigQuery ایجاد کنید.
  • الگوی Dataflow Bigtable change streams to BigQuery.
  • جریان رویداد را در BigQuery جستجو کنید.
  • جریان رویداد را با Looker تجسم کنید.

این نمودار معماری سیستمی را که قرار است مستقر کنید نشان می دهد.

336e940307d0e0a.png

2. راه اندازی پروژه

  1. در کنسول Google Cloud، در صفحه انتخابگر پروژه، یک پروژه Google Cloud را انتخاب یا ایجاد کنید .

eb5309715175de69.png

  1. مطمئن شوید که صورتحساب برای پروژه Google Cloud شما فعال است .
  2. برای فعال کردن APIهای لازم برای Dataflow، Bigtable، BigQuery، Looker و Cloud Storage از این صفحه فعال سازی API از پیش پر شده دیدن کنید.

3. یک مجموعه داده BigQuery ایجاد کنید

بعداً با استفاده از BigQuery داده‌ها را در نرم‌افزار کد آنالیز خواهید کرد. برای ایجاد مجموعه داده برای خروجی خط لوله داده خود، این دستورالعمل ها را دنبال کنید.

  1. در کنسول Google Cloud، به صفحه BigQuery بروید.
  2. در پنجره Explorer ، نام پروژه خود را پیدا کنید و روی منوی سرریز (سه نقطه عمودی در کنار شناسه پروژه) کلیک کنید.
  3. روی ایجاد مجموعه داده کلیک کنید.

122bc1a411b8dc63.png

  1. در پنل ایجاد مجموعه داده ، موارد زیر را انجام دهید:
  • برای شناسه مجموعه داده ، bigtable_bigquery_tutorial را وارد کنید.
  • تنظیمات پیش فرض باقی مانده را به همان شکلی که هستند رها کنید.
  • روی ایجاد مجموعه داده کلیک کنید.

4. یک جدول Bigtable با فعال بودن جریان تغییر ایجاد کنید

Bigtable یک سرویس پایگاه داده NoSQL با زمان تاخیر کم و مقیاس پذیر افقی است و یکی از موارد استفاده رایج برای آن ارائه داده های مالی است. در اینجا می خواهید جدولی ایجاد کنید که می تواند تراکنش های کارت اعتباری را ذخیره کند. Bigtable می‌تواند با حجم بالای نوشتن تراکنش‌ها در سراسر جهان کار کند و حتی می‌تواند از آن داده‌ها برای کشف کلاهبرداری در زمان واقعی استفاده کند.

  1. در کنسول Google Cloud، به صفحه Bigtable Instances بروید.
  2. روی شناسه نمونه ای که برای این آموزش استفاده می کنید کلیک کنید. اگر نمونه ای در دسترس ندارید، یک نمونه با نام دلخواه خود در منطقه ای نزدیک خود ایجاد کنید. برای هر چیز دیگری می توانید از تنظیمات پیش فرض استفاده کنید.

a2e8de7b66dc42e.png

  1. در پنجره پیمایش سمت چپ، روی Tables کلیک کنید.
  2. روی ایجاد جدول کلیک کنید.

9c267c00f93747c4.png

  • جدول retail-database نام ببرید.
  • یک خانواده ستونی به نام transactions اضافه کنید.
  • فعال کردن جریان تغییر را انتخاب کنید.
  • خط مشی جمع آوری زباله و دوره نگهداری را با مقادیر پیش فرض خود رها کنید.
  • روی ایجاد کلیک کنید.

696cd1399c354816.png

5. یک خط لوله داده را برای ضبط جریان تغییر راه اندازی کنید

عملکرد Bigtable برای خواندن نقطه و اسکن محدوده ردیف بهینه است، اما تجزیه و تحلیل در سطح جدول می تواند بر ظرفیت سرویس و منابع CPU فشار وارد کند. BigQuery برای تجزیه و تحلیل در سطح جدول عالی است، بنابراین راه حلی که در اینجا استفاده می کنید نوشتن دوگانه است. این بدان معناست که داده های خود را در Bigtable و BigQuery که یک تکنیک رایج است، می نویسید. این نیازی به کدنویسی اضافی ندارد زیرا شما از Bigtable change streams to BigQuery Dataflow استفاده می‌کنید: وقتی داده‌ها در Bigtable نوشته می‌شوند، خط لوله یک رکورد تغییر را در BigQuery می‌نویسد. هنگامی که داده ها در BigQuery هستند، می توانید پرس و جوهای بهینه سازی شده را در کل مجموعه داده خود انجام دهید که بر عملکرد داده های ارائه شده شما در Bigtable تأثیری نخواهد داشت.

f4cd9d8faf10ce77.png

  1. در صفحه Bigtable Tables ، retail-database جدول خود را پیدا کنید.
  2. در ستون تغییر جریان ، روی اتصال کلیک کنید.
  3. در گفتگوی Connect with Dataflow ، BigQuery را انتخاب کنید.
  4. روی Create Dataflow job کلیک کنید.
  5. در قسمت های پارامتر ارائه شده، مقادیر پارامتر خود را وارد کنید. شما نیازی به ارائه هیچ پارامتر اختیاری ندارید.
  • شناسه نمایه برنامه Cloud Bigtable را روی default تنظیم کنید.
  • مجموعه داده BigQuery را روی bigtable_bigquery_tutorial تنظیم کنید.
  1. روی Run job کلیک کنید.
  2. قبل از ادامه، صبر کنید تا وضعیت کار شروع یا در حال اجرا باشد. هنگامی که کار در صف قرار می گیرد، ممکن است حدود پنج دقیقه طول بکشد. صفحه به طور خودکار به روز می شود. این الگو یک کار جریانی ایجاد می کند، بنابراین می تواند به طور مداوم داده های جدید نوشته شده در Bigtable را پردازش کند تا زمانی که کار به صورت دستی متوقف شود.

a04908b37c6fe96b.png

6. مقداری داده در Bigtable بنویسید

اکنون، یک سال تراکنش های کارت اعتباری را در جدول Bigtable خود می نویسید. این مجموعه داده نمونه شامل اطلاعاتی مانند شماره کارت اعتباری، نام و شناسه تاجر و مبلغ است. در یک برنامه پردازش کارت اعتباری واقعی، این داده ها در زمان وقوع هر تراکنش به پایگاه داده شما در زمان واقعی جریان می یابند.

  1. Cloud Shell را با کلیک بر روی دکمه در گوشه سمت راست بالای کنسول ابری باز کنید.

f6395329b04ecb64.png

  1. اگر از شما خواسته شد، درخواست مجوز Cloud Shell را بپذیرید.
  2. مجموعه داده را دانلود کنید.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
  1. متغیرهای محیط خود را در خط فرمان تنظیم کنید
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
  1. از cbt CLI برای نوشتن تعدادی از تراکنش های کارت اعتباری در جدول retail-database استفاده کنید.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv  column-family=transactions

خروجی خواهد گفت

Done importing 10000 rows.

7. گزارش تغییرات را در BigQuery مشاهده کنید

  1. در کنسول Google Cloud، به صفحه BigQuery بروید.
  2. در پنجره Explorer ، پروژه خود و مجموعه داده bigtable_bigquery_tutorial را گسترش دهید.
  3. روی جدول retail-database_changelog کلیک کنید. اگر جدول موجود نباشد، ممکن است لازم باشد مجموعه داده را بازخوانی کنید.
  4. برای مشاهده گزارش تغییرات، روی Preview کلیک کنید.

aa97ff01f944832.png

برخی از سوالات را امتحان کنید

اکنون، می توانید چند پرس و جو را روی این مجموعه داده اجرا کنید تا بینش هایی به دست آورید. پرسش‌های SQL در اینجا ارائه می‌شوند، اما گزارش تغییرات Query a Bigtable در مستندات BigQuery اطلاعات بیشتری در مورد نحوه نوشتن پرس‌و‌جوها برای داده‌های تغییرات گزارش دارد.

یک تراکنش را جستجو کنید

برای جستجوی داده های یک تراکنش خاص از عبارت زیر استفاده کنید.

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")
    )
)

داشبورد Looker ایجاد کنید

  1. برای مشاهده روی برو کلیک کنید تا به صفحه جزئیات نمای جدید بروید.
  2. روی صادرات کلیک کنید.
  3. Explore with Looker Studio را انتخاب کنید

bb45482e9101b0f.png

8. نمودارها را به داشبورد اضافه کنید

اکنون می‌توانید اطلاعات را به صورت نموداری ترسیم کنید تا هضم و اشتراک‌گذاری آن به عنوان گزارش آسان‌تر شود. شما سه نمودار به داشبورد خود اضافه خواهید کرد:

  • مبالغ معاملات در طول زمان
  • کل معاملات برای هر تاجر
  • درصد معاملات در هر دسته

426dc59200875a20.png

صفحه را تنظیم کنید

  1. روی هر نمودار موجود کلیک کنید و حذف را فشار دهید تا حذف شود.
  2. Properties را در سمت راست صفحه انتخاب کنید تا بتوانید داده های نمودار را تغییر دهید.

نمودارها را اضافه کنید

مبالغ معاملات در طول زمان

  1. روی افزودن نمودار کلیک کنید و نمودار سری زمانی ایجاد کنید.
  2. Dimension را روی transaction_date تنظیم کنید.
  1. متریک را روی sales_dollars تنظیم کنید.

372bdf2a2bcdb817.png

کل معاملات برای هر تاجر

  1. روی افزودن نمودار کلیک کنید و یک جدول ایجاد کنید.
  2. Dimension را روی merchant تنظیم کنید.
  3. Metric را روی sales_dollars تنظیم کنید

درصد معاملات در هر دسته

  1. روی افزودن نمودار کلیک کنید و یک نمودار دایره ای ایجاد کنید.
  2. Dimension را روی category تنظیم کنید.
  3. Metric را روی sales_dollars تنظیم کنید

تغییرات زمان واقعی را مشاهده کنید

کمی وقت بگذارید و مقادیر موجود در نمودارها را کشف کنید. می‌توانید روی بازرگانان خاص در جدول یا دسته‌های خاص در جدول کلیک کنید که باعث می‌شود همه نمودارها روی آن مقادیر خاص فیلتر شوند که بینش بیشتری به شما می‌دهد. در مرحله بعد، می توانید داده های بیشتری بنویسید و ببینید که چگونه این نمودار در زمان واقعی به روز می شود.

  1. به Cloud Shell خود برگردید.
  2. مجموعه داده دوم را دانلود و بنویسید.
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
  1. به داشبورد Looker خود بازگردید و داده ها را با دستور Ctrl+Shift+E بازخوانی کنید یا روی Refresh data در منوی view کلیک کنید. اکنون باید داده های ژانویه 2024 را در نمودارها مشاهده کنید.

انواع مختلفی از نمودارها و معیارها وجود دارد که می توانید فراتر از این ایجاد کنید. در مستندات Looker بیشتر بخوانید.

9. پاکسازی کنید

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، یا پروژه حاوی منابع را حذف کنید یا پروژه را نگه دارید و منابع فردی را حذف کنید.

خط لوله جریان تغییر را متوقف کنید

  1. در کنسول Google Cloud، به صفحه Dataflow Jobs بروید.
  2. کار پخش خود را از لیست کار انتخاب کنید.
  3. در پیمایش، روی توقف کلیک کنید.
  4. در گفتگوی Stop job، Cancel را انتخاب کنید و سپس روی Stop job کلیک کنید.

منابع Bigtable را حذف کنید

اگر یک نمونه Bigtable برای این آموزش ایجاد کرده اید، می توانید آن را حذف کنید یا می توانید جدولی را که ایجاد کرده اید پاک کنید.

  1. در کنسول Google Cloud، به صفحه Bigtable Instances بروید.
  2. روی شناسه نمونه ای که برای این آموزش استفاده می کنید کلیک کنید.
  3. در پنجره پیمایش سمت چپ، روی Tables کلیک کنید.
  4. جدول retail-database پیدا کنید.
  5. روی ویرایش کلیک کنید.
  6. فعال کردن جریان تغییر را پاک کنید.
  7. روی ذخیره کلیک کنید.
  8. منوی سرریز جدول را باز کنید.
  9. روی حذف کلیک کنید و نام جدول را برای تایید وارد کنید.
  10. اختیاری: اگر نمونه جدیدی برای این آموزش ایجاد کردید، نمونه را حذف کنید

مجموعه داده BigQuery را حذف کنید

  1. در کنسول Google Cloud، به صفحه BigQuery بروید.
  2. در پانل Explorer ، مجموعه داده bigtable_bigquery_tutorial را پیدا کرده و روی آن کلیک کنید.
  3. روی Delete کلیک کنید، delete را تایپ کنید و سپس برای تایید روی Delete کلیک کنید.

بعدش چی