ক্লাউড ডেটা ফিউশন ব্যবহার করে BigQuery-এ CSV (কমা-বিভক্ত মান) ডেটা ইনজেস্ট করুন - রিয়েল টাইম ইনজেশন

১. ভূমিকা

509db33558ae025.png

সর্বশেষ হালনাগাদ: ২৮-০২-২০২০

এই কোডল্যাবটি রিয়েল টাইমে BigQuery-তে CSV ফরম্যাটের স্বাস্থ্যসেবা ডেটা ইনজেস্ট করার একটি প্যাটার্ন প্রদর্শন করে। এই ল্যাবের জন্য আমরা ক্লাউড ডেটা ফিউশন রিয়েল টাইম ডেটা পাইপলাইন ব্যবহার করব। আপনার জন্য বাস্তবসম্মত স্বাস্থ্যসেবা পরীক্ষার ডেটা তৈরি করে গুগল ক্লাউড স্টোরেজ বাকেটে (gs://hcls_testing_data_fhir_10_patients/csv/) উপলব্ধ করা হয়েছে।

এই কোড ল্যাবে আপনি শিখবেন:

  • ক্লাউড ডেটা ফিউশন ব্যবহার করে পাব/সাব থেকে বিগকোয়েরিতে কীভাবে CSV ডেটা ইনজেস্ট (রিয়েল টাইম লোডিং) করবেন।
  • ক্লাউড ডেটা ফিউশনে রিয়েল টাইমে স্বাস্থ্যসেবা ডেটা লোড, রূপান্তর এবং মাস্কিং করার জন্য কীভাবে একটি ডেটা ইন্টিগ্রেশন পাইপলাইন দৃশ্যমানভাবে তৈরি করা যায়।

এই ডেমোটি চালানোর জন্য আপনার কী প্রয়োজন?

  • আপনার একটি GCP প্রজেক্টে অ্যাক্সেস প্রয়োজন।
  • আপনাকে অবশ্যই GCP প্রোজেক্টে একজন মালিকের ভূমিকা (Owner role) প্রদান করতে হবে।
  • হেডার সহ CSV ফরম্যাটে স্বাস্থ্যসেবা সংক্রান্ত ডেটা।

আপনার যদি কোনো GCP প্রজেক্ট না থাকে, তাহলে একটি নতুন GCP প্রজেক্ট তৈরি করতে এই ধাপগুলো অনুসরণ করুন।

CSV ফরম্যাটে স্বাস্থ্যসেবা সংক্রান্ত ডেটা gs://hcls_testing_data_fhir_10_patients/csv/ -এ অবস্থিত GCS বাকেটে আগে থেকেই লোড করা হয়েছে। প্রতিটি CSV রিসোর্স ফাইলের একটি স্বতন্ত্র স্কিমা কাঠামো রয়েছে। উদাহরণস্বরূপ, Patients.csv-এর স্কিমা Providers.csv-এর থেকে ভিন্ন। আগে থেকে লোড করা স্কিমা ফাইলগুলো gs://hcls_testing_data_fhir_10_patients/csv_schemas -এ পাওয়া যাবে।

আপনার যদি একটি নতুন ডেটাসেটের প্রয়োজন হয়, আপনি SyntheaTM ব্যবহার করে সেটি তৈরি করতে পারেন। তারপর, 'কপি ইনপুট ডেটা' ধাপে বাকেট থেকে কপি করার পরিবর্তে, এটি GCS-এ আপলোড করুন।

২. জিসিপি প্রজেক্ট সেটআপ

আপনার এনভায়রনমেন্টের জন্য শেল ভেরিয়েবলগুলো ইনিশিয়ালাইজ করুন।

PROJECT_ID খুঁজে পেতে, “প্রকল্প শনাক্তকরণ” অংশটি দেখুন।

<!-- CODELAB: Initialize shell variables ->
<!-- Your current GCP Project ID ->
export PROJECT_ID=<PROJECT_ID>
<!-- A new GCS Bucket in your current Project  - INPUT ->
export BUCKET_NAME=<BUCKET_NAME>
<!-- A new BQ Dataset ID - OUTPUT ->
export DATASET_ID=<DATASET_ID>

gsutil টুল ব্যবহার করে ইনপুট ডেটা এবং এরর লগ সংরক্ষণের জন্য একটি GCS বাকেট তৈরি করুন

gsutil mb -l us gs://$BUCKET_NAME

সিন্থেটিক ডেটাসেটটিতে অ্যাক্সেস পান।

  1. আপনি ক্লাউড কনসোলে লগইন করার জন্য যে ইমেল ঠিকানাটি ব্যবহার করছেন, সেই ঠিকানা থেকে যোগদানের অনুরোধ জানিয়ে hcls-solutions-external+subscribe@google.com- এ একটি ইমেল পাঠান।
  2. কাজটি নিশ্চিত করার নির্দেশনাসহ আপনি একটি ইমেল পাবেন।
  3. গ্রুপে যোগ দিতে ইমেইলের উত্তর দেওয়ার বিকল্পটি ব্যবহার করুন। ক্লিক করবেন না। 525a0fa752e0acae.png বোতাম।
  4. নিশ্চিতকরণ ইমেলটি পাওয়ার পর, আপনি কোডল্যাবের পরবর্তী ধাপে যেতে পারবেন।

ইনপুট ডেটা কপি করুন।

gsutil -m cp -r gs://hcls_testing_data_fhir_10_patients/csv gs://$BUCKET_NAME

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

bq mk --location=us --dataset $PROJECT_ID:$DATASET_ID

গুগল ক্লাউড এসডিকে ইনস্টল ও ইনিশিয়ালাইজ করুন এবং পাব বা সাব টপিক ও সাবস্ক্রিপশন তৈরি করুন।

gcloud init
gcloud pubsub topics create your-topic
gcloud pubsub subscriptions create --topic your-topic your-sub

৩. ক্লাউড ডেটা ফিউশন পরিবেশ সেটআপ

ক্লাউড ডেটা ফিউশন এপিআই সক্রিয় করতে এবং প্রয়োজনীয় অনুমতি প্রদান করতে এই ধাপগুলো অনুসরণ করুন:

এপিআইগুলো সক্রিয় করুন

  1. GCP কনসোল API লাইব্রেরিতে যান।
  2. প্রকল্পের তালিকা থেকে আপনার প্রকল্পটি নির্বাচন করুন।
  3. এপিআই লাইব্রেরিতে, আপনি যে এপিআইটি সক্রিয় করতে চান তা নির্বাচন করুন ( ক্লাউড ডেটা ফিউশন এপিআই, ক্লাউড পাব/সাব এপিআই)। এপিআইটি খুঁজে পেতে সাহায্যের প্রয়োজন হলে, সার্চ ফিল্ড এবং ফিল্টারগুলো ব্যবহার করুন।
  4. API পেজে, ENABLE-এ ক্লিক করুন।

একটি ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স তৈরি করুন

  1. GCP কনসোলে আপনার ProjectID নির্বাচন করুন।
  2. বাম দিকের মেনু থেকে ডেটা ফিউশন (Data Fusion) নির্বাচন করুন, তারপর পৃষ্ঠার মাঝখানে থাকা ‘ক্রিয়েট অ্যান ইনস্ট্যান্স’ (CREATE AN INSTANCE) বোতামে ক্লিক করুন (প্রথমবার তৈরির জন্য), অথবা উপরের মেনুতে থাকা ‘ক্রিয়েট ইনস্ট্যান্স’ (CREATE INSTANCE) বোতামে ক্লিক করুন (অতিরিক্ত তৈরির জন্য)।

a828690ff3bf3c46.png

e8ffacaba8e61be5.png

  1. ইনস্ট্যান্সের নাম দিন। এন্টারপ্রাইজ নির্বাচন করুন।

5af91e46917260ff.png

  1. CREATE বোতামটি ক্লিক করুন।

ইনস্ট্যান্সের অনুমতি সেট আপ করুন।

একটি ইনস্ট্যান্স তৈরি করার পরে, আপনার প্রোজেক্টে ইনস্ট্যান্সটির সাথে যুক্ত সার্ভিস অ্যাকাউন্টকে অনুমতি দেওয়ার জন্য নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. ইনস্ট্যান্সের নামে ক্লিক করে ইনস্ট্যান্সের বিস্তারিত পৃষ্ঠায় যান।

76ad691f795e1ab3.png

  1. সার্ভিস অ্যাকাউন্টটি কপি করুন।

6c91836afb72209d.png

  1. আপনার প্রজেক্টের IAM পৃষ্ঠায় যান।
  2. IAM পারমিশন পেজে, 'Add' বাটনে ক্লিক করে সার্ভিস অ্যাকাউন্টটিকে Cloud Data Fusion API Service Agent রোলটি প্রদান করুন। 'New members' ফিল্ডে "সার্ভিস অ্যাকাউন্ট"টি পেস্ট করুন এবং Service Management -> Cloud Data Fusion API Server Agent রোলটি নির্বাচন করুন।

36f03d11c2a4ce0.png

  1. একটি পাব/সাব সাবস্ক্রাইবার রোল যোগ করতে + Add another role (অথবা Edit Cloud Data Fusion API Service Agent)-এ ক্লিক করুন।

b4bf5500b8cbe5f9.png

  1. সংরক্ষণ করুন- এ ক্লিক করুন।

এই ধাপগুলো সম্পন্ন হয়ে গেলে, আপনি ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স পেজে, অথবা কোনো ইনস্ট্যান্সের ডিটেইলস পেজে থাকা 'ভিউ ইনস্ট্যান্স' লিঙ্কে ক্লিক করে ক্লাউড ডেটা ফিউশন ব্যবহার শুরু করতে পারেন।

ফায়ারওয়াল নিয়মটি সেট আপ করুন।

  1. GCP Console -> VPC Network -> Firewall rules-এ গিয়ে default-allow-ssh রুলটি আছে কি না তা পরীক্ষা করুন।

102adef44bbe3a45.png

  1. অন্যথায়, একটি ফায়ারওয়াল নিয়ম যোগ করুন যা ডিফল্ট নেটওয়ার্কে সমস্ত ইনগ্রেস SSH ট্র্যাফিকের অনুমতি দেয়।

কমান্ড লাইন ব্যবহার করে:

gcloud beta compute --project={PROJECT_ID} firewall-rules create default-allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --enable-logging

UI ব্যবহার করে: Create Firewall Rule-এ ক্লিক করুন এবং তথ্যগুলি পূরণ করুন:

d9c69ac10496b3d9.png

2dc4971594b82a1f.png

৪. পাইপলাইনের জন্য নোড তৈরি করুন

এখন যেহেতু আমাদের GCP-তে ক্লাউড ডেটা ফিউশন এনভায়রনমেন্ট তৈরি হয়ে গেছে, চলুন নিচের ধাপগুলো অনুসরণ করে ক্লাউড ডেটা ফিউশনে ডেটা পাইপলাইন তৈরি করা শুরু করি:

  1. ক্লাউড ডেটা ফিউশন উইন্ডোতে, অ্যাকশন কলামে থাকা 'ভিউ ইনস্ট্যান্স' লিঙ্কে ক্লিক করুন। আপনাকে অন্য একটি পৃষ্ঠায় পুনঃনির্দেশিত করা হবে। ক্লাউড ডেটা ফিউশন ইনস্ট্যান্সটি খোলার জন্য প্রদত্ত ইউআরএল-এ ক্লিক করুন। ওয়েলকাম পপআপে 'স্টার্ট ট্যুর' অথবা 'নো, থ্যাঙ্কস' বোতামে ক্লিক করার বিকল্প আপনার কাছে থাকবে।
  2. "হ্যামবার্গার" মেনুটি প্রসারিত করুন, পাইপলাইন -> তালিকা নির্বাচন করুন।

317820def934a00a.png

  1. উপরের ডান কোণায় থাকা সবুজ + বোতামটিতে ক্লিক করুন, তারপর 'Create Pipeline' নির্বাচন করুন। অথবা 'Create a pipeline' লিঙ্কে ক্লিক করুন।

711975bb2c2416d7.png

3ec0a71409657fb8.png

  1. পাইপলাইন স্টুডিওটি প্রদর্শিত হলে, উপরের বাম দিকের ড্রপডাউন থেকে 'Data Pipeline - Realtime' নির্বাচন করুন।

372a889a81da5e66.png

  1. ডেটা পাইপলাইন UI-এর বাম প্যানেলে আপনি ফিল্টার, সোর্স, ট্রান্সফর্ম, অ্যানালিটিক্স, সিঙ্ক, এরর হ্যান্ডলার এবং অ্যালার্টের মতো বিভিন্ন বিভাগ দেখতে পাবেন, যেখান থেকে আপনি পাইপলাইনের জন্য একটি বা একাধিক নোড নির্বাচন করতে পারেন।

c63de071d4580f2f.png

একটি উৎস নোড নির্বাচন করুন।

  1. বামদিকের প্লাগইন প্যালেটের সোর্স সেকশনের অধীনে, ডেটা পাইপলাইনস UI-তে প্রদর্শিত Google Cloud PubSub নোডটিতে ডাবল-ক্লিক করুন।
  2. PubSub সোর্স নোডটিতে পয়েন্ট করুন এবং প্রোপার্টিজে ক্লিক করুন।

ed857a5134148d7b.png

  1. প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন। নিম্নলিখিত ক্ষেত্রগুলি নির্ধারণ করুন:
  • লেবেল = {যেকোনো লেখা}
  • রেফারেন্সের নাম = {যেকোনো লেখা}
  • প্রজেক্ট আইডি = স্বয়ংক্রিয়ভাবে সনাক্ত করুন
  • সাবস্ক্রিপশন = 'পাব/সাব টপিক তৈরি করুন' বিভাগে তৈরি করা সাবস্ক্রিপশন (উদাহরণস্বরূপ, your-sub )
  • টপিক = পাব/সাব টপিক তৈরি করুন বিভাগে তৈরি করা টপিক (উদাহরণস্বরূপ, আপনার-টপিক )
  1. বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। সমস্ত ইনপুট তথ্য যাচাই করতে ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ "কোনো ত্রুটি পাওয়া যায়নি" সফলতা নির্দেশ করে।

5c2774338b66bebe.png

  1. পাব/সাব প্রোপার্টিজ বন্ধ করতে X বোতামে ক্লিক করুন।

ট্রান্সফর্ম নোডটি নির্বাচন করুন।

  1. বামদিকের প্লাগইন প্যালেটের ট্রান্সফর্ম সেকশনের অধীনে, ডেটা পাইপলাইনস UI-তে প্রদর্শিত প্রোজেকশন নোডটিতে ডাবল-ক্লিক করুন। পাব/সাব সোর্স নোডটিকে প্রোজেকশন ট্রান্সফর্ম নোডের সাথে সংযুক্ত করুন।
  2. প্রজেকশন নোডটিতে পয়েন্ট করুন এবং প্রোপার্টিজে ক্লিক করুন।

b3a9a3878879bfd7.png

  1. প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন। নিম্নলিখিত ক্ষেত্রগুলি নির্ধারণ করুন:
  • রূপান্তর = মেসেজকে বাইট টাইপ থেকে স্ট্রিং টাইপে রূপান্তর করা।
  • বাদ দেওয়ার জন্য ফিল্ড = {যেকোনো ফিল্ড}
  • যে ফিল্ডগুলো রাখতে হবে = { বার্তা , টাইমস্ট্যাম্প , এবং অ্যাট্রিবিউট } ( উদাহরণস্বরূপ, পাব/সাব থেকে পাঠানো অ্যাট্রিবিউট: key='filename':value='patients')
  • নাম পরিবর্তন করার জন্য ফিল্ড = { বার্তা , টাইমস্ট্যাম্প }
  1. বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। সমস্ত ইনপুট তথ্য যাচাই করতে ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ "কোনো ত্রুটি পাওয়া যায়নি" সফলতা নির্দেশ করে।

b8c2f8efe18234ff.png

  1. বামদিকের প্লাগইন প্যালেটের ট্রান্সফর্ম সেকশনের অধীনে, ডেটা পাইপলাইনস UI-তে প্রদর্শিত র‍্যাংলার নোডটিতে ডাবল ক্লিক করুন। প্রোজেকশন ট্রান্সফর্ম নোডটিকে র‍্যাংলার ট্রান্সফর্ম নোডের সাথে সংযুক্ত করুন। র‍্যাংলার নোডটির উপর পয়েন্ট করুন এবং প্রোপার্টিজে ক্লিক করুন।

aa44a4db5fe6623a.png

  1. সংরক্ষিত স্কিমা ইম্পোর্ট করতে অ্যাকশন ড্রপডাউনে ক্লিক করুন এবং ইম্পোর্ট নির্বাচন করুন (উদাহরণস্বরূপ: gs://hcls_testing_data_fhir_10_patients/csv_schemas/ schema (Patients).json )।
  2. আউটপুট স্কিমাতে TIMESTAMP ফিল্ডটি যোগ করতে (যদি এটি না থাকে), শেষ ফিল্ডের পাশের + বোতামে ক্লিক করুন এবং 'Null' বক্সে টিক চিহ্ন দিন।
  3. প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন। নিম্নলিখিত ক্ষেত্রগুলি নির্ধারণ করুন:
  • লেবেল = {যেকোনো লেখা}
  • ইনপুট ফিল্ডের নাম = {*}
  • PubSub সোর্স নোড থেকে পাঠানো প্রতিটি ধরণের রেকর্ড বা বার্তা ( যেমন, রোগী, প্রদানকারী, অ্যালার্জি, ইত্যাদি ) আলাদা করার জন্য Precondition = { attributes.get("filename") != "patients" } ব্যবহার করা হয়।
  1. বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। সমস্ত ইনপুট তথ্য যাচাই করতে ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ "কোনো ত্রুটি পাওয়া যায়নি" সফলতা নির্দেশ করে।

3b8e552cd2e3442c.png

  1. কলামের নামগুলো আপনার পছন্দের ক্রমে সাজান এবং অপ্রয়োজনীয় ফিল্ডগুলো বাদ দিন। নিচের কোড স্নিপেটটি কপি করে রেসিপি বক্সে পেস্ট করুন।
drop attributes
parse-as-csv :body ',' false
drop body
set columns TIMESTAMP,Id,BIRTHDATE,DEATHDATE,SSN,DRIVERS,PASSPORT,PREFIX,FIRST,LAST,SUFFIX,MAIDEN,MARITAL,RACE,ETHNICITY,GENDER,BIRTHPLACE,ADDRESS,CITY,STATE,ZIP
mask-number SSN xxxxxxx####

b93cb9952ca2de73.png

  1. ডেটা মাস্কিং এবং ডি-আইডেন্টিফিকেশনের জন্য ব্যাচ-কোডল্যাব - CSV to BigQuery via CDF দেখুন। অথবা রেসিপি বক্সে এই কোড স্নিপেট mask-number SSN xxxxxxx#### যোগ করুন।
  2. ট্রান্সফর্ম প্রোপার্টিজ উইন্ডোটি বন্ধ করতে X বোতামে ক্লিক করুন।

সিঙ্ক নোডটি নির্বাচন করুন।

  1. বামদিকের প্লাগইন প্যালেটের সিঙ্ক (Sink) বিভাগের অধীনে, ডেটা পাইপলাইন UI-তে প্রদর্শিত BigQuery নোডটিতে ডাবল ক্লিক করুন। Wrangler ট্রান্সফর্ম নোডটিকে BigQuery সিঙ্ক নোডের সাথে সংযুক্ত করুন।
  2. BigQuery সিঙ্ক নোডটিতে পয়েন্ট করুন এবং প্রোপার্টিজে ক্লিক করুন।

1be711152c92c692.png

  1. প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন:
  • লেবেল = {যেকোনো লেখা}
  • রেফারেন্সের নাম = {যেকোনো লেখা}
  • প্রজেক্ট আইডি = স্বয়ংক্রিয়ভাবে সনাক্ত করুন
  • ডেটা সেট = বর্তমান প্রকল্পে ব্যবহৃত BigQuery ডেটা সেট (উদাহরণস্বরূপ, DATASET_ID)
  • টেবিল = {টেবিলের নাম}
  1. বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। সমস্ত ইনপুট তথ্য যাচাই করতে ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ "কোনো ত্রুটি পাওয়া যায়নি" সফলতা নির্দেশ করে।

bba71de9f31e842a.png

  1. BigQuery Properties বন্ধ করতে X বোতামে ক্লিক করুন।

৫. রিয়েল টাইম ডেটা পাইপলাইন তৈরি করুন

পূর্ববর্তী অংশে আমরা ক্লাউড ডেটা ফিউশনে ডেটা পাইপলাইন তৈরির জন্য প্রয়োজনীয় নোডগুলো তৈরি করেছি। এই অংশে আমরা প্রকৃত পাইপলাইনটি তৈরি করার জন্য নোডগুলোকে সংযুক্ত করব।

একটি পাইপলাইনে সমস্ত নোড সংযুক্ত করা

  1. উৎস নোডের ডান প্রান্ত থেকে একটি সংযোগ তীর (>) টেনে গন্তব্য নোডের বাম প্রান্তে ছেড়ে দিন।
  2. একটি পাইপলাইনে একাধিক শাখা থাকতে পারে, যেগুলো একই PubSub সোর্স নোড থেকে প্রকাশিত বার্তা গ্রহণ করে।

b22908cc35364cdd.png

  1. পাইপলাইনটির নাম বলুন।

ব্যাস, হয়ে গেল। আপনি এইমাত্র আপনার প্রথম রিয়েল-টাইম ডেটা পাইপলাইনটি তৈরি করে ফেললেন, যা এখন ডেপ্লয় এবং রান করার জন্য প্রস্তুত।

ক্লাউড পাব/সাব এর মাধ্যমে বার্তা পাঠান

পাব/সাব UI ব্যবহার করে:

  1. GCP কনসোল -> পাব/সাব -> টপিকস-এ যান, আপনার টপিকটি নির্বাচন করুন, তারপর উপরের মেনুতে থাকা PUBLISH MESSAGE-এ ক্লিক করুন।

d65b2a6af1668ecd.png

  1. মেসেজ ফিল্ডে একবারে শুধুমাত্র একটি রেকর্ড সারি রাখুন। +অ্যাড অ্যান অ্যাট্রিবিউট (+ADD AN ATTRIBUTE) বোতামে ক্লিক করুন। Key = filename এবং Value = < রেকর্ডের ধরন > ( উদাহরণস্বরূপ, patients, providers, allergys, ইত্যাদি ) প্রদান করুন।
  2. বার্তাটি পাঠাতে পাবলিশ বাটনে ক্লিক করুন।

gcloud কমান্ড ব্যবহার করে:

  1. বার্তাটি হাতে করে প্রদান করুন।
gcloud pubsub topics publish <your-topic> --attribute <key>=<value> --message \
"paste one record row here"
  1. `cat` এবং `sed` ইউনিক্স কমান্ড ব্যবহার করে আধা-স্বয়ংক্রিয়ভাবে বার্তাটি প্রদান করুন। এই কমান্ডটি বিভিন্ন প্যারামিটার ব্যবহার করে বারবার চালানো যেতে পারে।
gcloud pubsub topics publish <your-topic> --attribute <key>=<value> --message \
"$(gsutil cat gs://$BUCKET_NAME/csv/<value>.csv | sed -n '#p')"

৬. পাইপলাইন কনফিগার, ডেপ্লয় এবং রান করুন

এখন যেহেতু আমরা ডেটা পাইপলাইনটি তৈরি করে ফেলেছি, আমরা এটিকে ক্লাউড ডেটা ফিউশনে ডেপ্লয় ও রান করতে পারি।

1bb5b0b8e2953ffa.png

  1. ডিফল্ট কনফিগারেশন অপরিবর্তিত রাখুন।
  2. ডেটা প্রিভিউ করতে প্রিভিউ-তে ক্লিক করুন। আগের উইন্ডোতে ফিরে যেতে আবার প্রিভিউ-তে ক্লিক করুন। এছাড়াও, আপনি রান-এ ক্লিক করে প্রিভিউ মোডে পাইপলাইনটি চালাতে পারেন।

b3c891e5e1aa20ae.png

  1. লগ দেখতে লগ-এ ক্লিক করুন।
  2. সমস্ত পরিবর্তন সংরক্ষণ করতে সেভ-এ ক্লিক করুন।
  3. নতুন পাইপলাইন তৈরি করার সময় সংরক্ষিত পাইপলাইন কনফিগারেশন ইম্পোর্ট করতে ইমপোর্ট-এ ক্লিক করুন।
  4. পাইপলাইন কনফিগারেশন এক্সপোর্ট করতে এক্সপোর্ট-এ ক্লিক করুন।
  5. পাইপলাইনটি ডেপ্লয় করতে ডেপ্লয়-এ ক্লিক করুন।
  6. স্থাপন করা হয়ে গেলে, রান-এ ক্লিক করুন এবং পাইপলাইনটি সম্পূর্ণভাবে চালু হওয়া পর্যন্ত অপেক্ষা করুন।

f01ba6b746ba53a.png

  1. যেকোনো সময় পাইপলাইন চালানো বন্ধ করতে স্টপ-এ ক্লিক করুন।
  2. অ্যাকশন বাটনের অধীনে ডুপ্লিকেট নির্বাচন করে আপনি পাইপলাইনটির প্রতিলিপি তৈরি করতে পারেন।
  3. আপনি অ্যাকশন বাটনের অধীনে থাকা এক্সপোর্ট নির্বাচন করে পাইপলাইন কনফিগারেশনটি রপ্তানি করতে পারেন।

28ea4fc79445fad2.png

  1. রান হিস্ট্রি, রেকর্ড, এরর লগ এবং ওয়ার্নিং-এর চার্ট দেখতে সামারি-তে ক্লিক করুন।

৭. বৈধতা যাচাই

এই অংশে আমরা ডেটা পাইপলাইনের কার্যকারিতা যাচাই করি।

  1. পাইপলাইনটি সফলভাবে সম্পাদিত হয়েছে এবং নিরবচ্ছিন্নভাবে চলছে কিনা তা যাচাই করুন।

1644dfac4a2d819d.png

  1. TIMESTAMP-এর উপর ভিত্তি করে BigQuery টেবিলগুলো আপডেট করা রেকর্ড দিয়ে লোড হয়েছে কিনা তা যাচাই করুন। এই উদাহরণে, দুটি রোগীর রেকর্ড বা বার্তা এবং একটি অ্যালার্জির রেকর্ড বা বার্তা ২০১৯-০৬-২৫ তারিখে Pub/Sub টপিকে প্রকাশ করা হয়েছিল।
bq query --nouse_legacy_sql 'select (select count(*) from \
'$PROJECT_ID.$DATASET_ID.Patients'  where TIMESTAMP > "2019-06-25 \
01:29:00.0000 UTC" ) as Patients, (select count(*) from \
'$PROJECT_ID.$DATASET_ID.Allergies' where TIMESTAMP > "2019-06-25 \
01:29:00.0000 UTC") as Allergies;'
Waiting on bqjob_r14c8b94c1c0fe06a_0000016b960df4e1_1 ... (0s) Current status: DONE  
+----------+-----------+
| Patients | Allergies |
+----------+-----------+
|        2 |         1 |
+----------+-----------+
  1. <your-topic>-এ প্রকাশিত বার্তাগুলো <your-sub> সাবস্ক্রাইবারের কাছে পৌঁছেছে কিনা তা যাচাই করুন।
gcloud pubsub subscriptions pull --auto-ack <your-sub>

4cae99a9e4f2ec9f.png

ফলাফল দেখা হচ্ছে

রিয়েলটাইম পাইপলাইন চালু থাকা অবস্থায় পাব/সাব টপিকে মেসেজগুলো পাবলিশ করার পর ফলাফল দেখতে:

  1. BigQuery UI-তে টেবিলটি কোয়েরি করুন। BigQuery UI-তে যান।
  2. নিচের কোয়েরিটি আপনার নিজের প্রজেক্টের নাম, ডেটাসেট এবং টেবিল দিয়ে আপডেট করুন।

6a1fb85bd868abc9.png

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

এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সগুলির জন্য আপনার গুগল ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্টে চার্জ হওয়া এড়াতে:

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

BigQuery ডেটাসেট মুছে ফেলা

এই টিউটোরিয়ালের অংশ হিসেবে আপনার তৈরি করা BigQuery ডেটাসেটটি মুছে ফেলার জন্য এই নির্দেশাবলী অনুসরণ করুন।

GCS বাকেট মুছে ফেলা

এই টিউটোরিয়ালের অংশ হিসেবে আপনার তৈরি করা GCS বাকেটটি ডিলিট করতে এই নির্দেশাবলী অনুসরণ করুন।

ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স মুছে ফেলা হচ্ছে

আপনার ক্লাউড ডেটা ফিউশন ইনস্ট্যান্সটি মুছে ফেলার জন্য এই নির্দেশাবলী অনুসরণ করুন।

প্রকল্পটি মুছে ফেলা হচ্ছে

বিলিং বন্ধ করার সবচেয়ে সহজ উপায় হলো টিউটোরিয়ালের জন্য তৈরি করা প্রজেক্টটি ডিলিট করে দেওয়া।

প্রজেক্টটি ডিলিট করতে:

  1. GCP কনসোলে, প্রজেক্টস পেজে যান। প্রজেক্টস পেজে যান
  2. প্রজেক্ট তালিকা থেকে, আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং ডিলিট বাটনে ক্লিক করুন।
  3. ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলার জন্য 'শাট ডাউন'-এ ক্লিক করুন।

৯. অভিনন্দন

অভিনন্দন, আপনি ক্লাউড ডেটা ফিউশন ব্যবহার করে বিগকোয়েরিতে স্বাস্থ্যসেবা ডেটা অন্তর্ভুক্ত করার কোড ল্যাবটি সফলভাবে সম্পন্ন করেছেন।

আপনি CSV ডেটা Pub/Sub টপিকে প্রকাশ করে BigQuery-তে লোড করেছেন।

আপনি রিয়েল টাইমে স্বাস্থ্যসেবা ডেটা লোড, রূপান্তর এবং মাস্কিং করার জন্য একটি ডেটা-ইন্টিগ্রেশন পাইপলাইন দৃশ্যত তৈরি করেছেন।

গুগল ক্লাউড প্ল্যাটফর্মে BigQuery ব্যবহার করে আপনার হেলথকেয়ার ডেটা অ্যানালিটিক্স যাত্রা শুরু করার জন্য প্রয়োজনীয় মূল ধাপগুলো এখন আপনি জানেন।