১. ভূমিকা

সর্বশেষ হালনাগাদ: ২৮-০২-২০২০
এই কোডল্যাবটি বাল্ক আকারে CSV ফরম্যাটের স্বাস্থ্যসেবা ডেটা BigQuery-তে ইনজেস্ট করার একটি ডেটা ইনজেশন প্যাটার্ন প্রদর্শন করে। এই ল্যাবের জন্য আমরা ক্লাউড ডেটা ফিউশন ব্যাচ ডেটা পাইপলাইন ব্যবহার করব। আপনার জন্য বাস্তবসম্মত স্বাস্থ্যসেবা পরীক্ষার ডেটা তৈরি করে গুগল ক্লাউড স্টোরেজ বাকেটে ( gs://hcls_testing_data_fhir_10_patients/csv/ ) উপলব্ধ করা হয়েছে।
এই কোড ল্যাবে আপনি শিখবেন:
- Cloud Data Fusion ব্যবহার করে GCS থেকে BigQuery-তে কীভাবে 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
সিন্থেটিক ডেটাসেটটিতে অ্যাক্সেস পান।
- আপনি ক্লাউড কনসোলে লগইন করার জন্য যে ইমেল ঠিকানাটি ব্যবহার করছেন, সেই ঠিকানা থেকে যোগদানের অনুরোধ জানিয়ে hcls-solutions-external+subscribe@google.com- এ একটি ইমেল পাঠান।
- কাজটি নিশ্চিত করার নির্দেশনাসহ আপনি একটি ইমেল পাবেন।

- গ্রুপে যোগ দেওয়ার জন্য ইমেইলের উত্তর দেওয়ার বিকল্পটি ব্যবহার করুন। বাটনটিতে ক্লিক করবেন না।
- নিশ্চিতকরণ ইমেলটি পাওয়ার পর, আপনি কোডল্যাবের পরবর্তী ধাপে যেতে পারবেন।
ইনপুট ডেটা কপি করুন।
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
৩. ক্লাউড ডেটা ফিউশন পরিবেশ সেটআপ
ক্লাউড ডেটা ফিউশন এপিআই সক্রিয় করতে এবং প্রয়োজনীয় অনুমতি প্রদান করতে এই ধাপগুলো অনুসরণ করুন:
এপিআইগুলো সক্রিয় করুন ।
- GCP কনসোল API লাইব্রেরিতে যান।
- প্রকল্পের তালিকা থেকে আপনার প্রকল্পটি নির্বাচন করুন।
- এপিআই লাইব্রেরিতে, আপনি যে এপিআইটি সক্রিয় করতে চান তা নির্বাচন করুন। এপিআইটি খুঁজে পেতে সাহায্যের প্রয়োজন হলে, সার্চ ফিল্ড এবং/অথবা ফিল্টার ব্যবহার করুন।
- API পেজে, ENABLE-এ ক্লিক করুন।
একটি ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স তৈরি করুন ।
- GCP কনসোলে আপনার ProjectID নির্বাচন করুন।
- বাম দিকের মেনু থেকে ডেটা ফিউশন (Data Fusion) নির্বাচন করুন, তারপর পৃষ্ঠার মাঝখানে থাকা ‘ক্রিয়েট অ্যান ইনস্ট্যান্স’ (CREATE AN INSTANCE) বোতামে ক্লিক করুন (প্রথমবার তৈরির জন্য), অথবা উপরের মেনুতে থাকা ‘ক্রিয়েট ইনস্ট্যান্স’ (CREATE INSTANCE) বোতামে ক্লিক করুন (অতিরিক্ত তৈরির জন্য)।


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

- CREATE বোতামটি ক্লিক করুন।
ইনস্ট্যান্সের অনুমতিসমূহ সেটআপ করুন।
একটি ইনস্ট্যান্স তৈরি করার পরে, আপনার প্রোজেক্টে ইনস্ট্যান্সটির সাথে যুক্ত সার্ভিস অ্যাকাউন্টকে অনুমতি দেওয়ার জন্য নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- ইনস্ট্যান্সের নামে ক্লিক করে ইনস্ট্যান্সের বিস্তারিত পৃষ্ঠায় যান।

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

- আপনার প্রোজেক্টের IAM পেজে যান।
- IAM পারমিশন পেজে, আমরা এখন সার্ভিস অ্যাকাউন্টটিকে নতুন সদস্য হিসেবে যুক্ত করব এবং এটিকে ক্লাউড ডেটা ফিউশন এপিআই সার্ভিস এজেন্ট রোলটি প্রদান করব। অ্যাড বাটনে ক্লিক করুন, তারপর নিউ মেম্বারস ফিল্ডে "সার্ভিস অ্যাকাউন্ট"টি পেস্ট করুন এবং সার্ভিস ম্যানেজমেন্ট -> ক্লাউড ডেটা ফিউশন এপিআই সার্ভার এজেন্ট রোলটি নির্বাচন করুন।

- সংরক্ষণ করুন- এ ক্লিক করুন।
এই ধাপগুলো সম্পন্ন হয়ে গেলে, আপনি ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স পেজে, অথবা কোনো ইনস্ট্যান্সের ডিটেইলস পেজে থাকা 'ভিউ ইনস্ট্যান্স' লিঙ্কে ক্লিক করে ক্লাউড ডেটা ফিউশন ব্যবহার শুরু করতে পারেন।
ফায়ারওয়াল নিয়মটি সেট আপ করুন।
- GCP Console -> VPC Network -> Firewall rules-এ গিয়ে default-allow-ssh রুলটি আছে কি না তা পরীক্ষা করুন।

- অন্যথায়, একটি ফায়ারওয়াল নিয়ম যোগ করুন যা ডিফল্ট নেটওয়ার্কে সমস্ত ইনগ্রেস 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-এ ক্লিক করুন এবং তথ্যগুলি পূরণ করুন:


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

- বামদিকের প্লাগইন প্যালেটের ট্রান্সফর্ম সেকশনের অধীনে র্যাংলার নোডটিতে ডাবল-ক্লিক করুন, যেটি ডেটা পাইপলাইনস UI-তে প্রদর্শিত হবে।

- Wrangler নোডটিতে পয়েন্ট করুন এবং Properties-এ ক্লিক করুন। Wrangle বোতামে ক্লিক করুন, তারপর একটি .csv সোর্স ফাইল (উদাহরণস্বরূপ, patients.csv) নির্বাচন করুন, যেটিতে কাঙ্ক্ষিত স্কিমা তৈরি করার জন্য সমস্ত ডেটা ফিল্ড অবশ্যই থাকতে হবে।
- প্রতিটি কলামের নামের (যেমন, body) পাশে থাকা নিচের দিকে নির্দেশ করা তীরচিহ্নে (কলাম রূপান্তর) ক্লিক করুন।

- ডিফল্টরূপে, প্রাথমিক ইম্পোর্টের সময় ধরে নেওয়া হবে যে আপনার ডেটা ফাইলে কেবল একটি কলাম আছে। এটিকে CSV হিসেবে পার্স করতে, Parse → CSV নির্বাচন করুন, তারপর প্রয়োজন অনুযায়ী ডিলিমিটার বেছে নিন এবং "Set first row as header" বক্সটি চেক করুন। Apply বাটনে ক্লিক করুন।
- Body ফিল্ডের পাশের ডাউন অ্যারোতে ক্লিক করে, Body ফিল্ডটি মুছে ফেলার জন্য Delete Column নির্বাচন করুন। এছাড়াও, আপনি অন্যান্য পরিবর্তন যেমন কলাম মুছে ফেলা, কিছু কলামের ডেটা টাইপ পরিবর্তন করা (ডিফল্ট হলো "string" টাইপ), কলাম বিভক্ত করা, কলামের নাম নির্ধারণ করা ইত্যাদি চেষ্টা করে দেখতে পারেন।

- 'কলাম' এবং 'রূপান্তর ধাপ' ট্যাবগুলো আউটপুট স্কিমা এবং র্যাংলারের রেসিপি দেখায়। উপরের ডান কোণায় ' প্রয়োগ করুন ' বোতামে ক্লিক করুন। 'বৈধ করুন' বোতামে ক্লিক করুন। সবুজ 'কোনো ত্রুটি পাওয়া যায়নি' লেখাটি সফলতার ইঙ্গিত দেয়।

- Wrangler Properties-এ, Actions ড্রপডাউনে ক্লিক করে কাঙ্ক্ষিত স্কিমাটি আপনার লোকাল স্টোরেজে এক্সপোর্ট করুন , যাতে ভবিষ্যতে প্রয়োজনে তা ইম্পোর্ট করা যায় ।
- ভবিষ্যতে ব্যবহারের জন্য র্যাংলার রেসিপিটি সংরক্ষণ করুন।
parse-as-csv :body ',' true drop body
- Wrangler Properties উইন্ডোটি বন্ধ করতে X বোতামে ক্লিক করুন।
৫. পাইপলাইনের জন্য নোড তৈরি করুন
এই অংশে আমরা পাইপলাইনের উপাদানগুলো তৈরি করব।
- ডেটা পাইপলাইন UI-এর উপরের বাম দিকে, আপনি দেখতে পাবেন যে পাইপলাইনের ধরণ হিসেবে ‘ডেটা পাইপলাইন - ব্যাচ’ নির্বাচিত আছে।

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

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

- প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন। নিম্নলিখিত ক্ষেত্রগুলি সেট করুন:
- লেবেল = {যেকোনো লেখা}
- রেফারেন্সের নাম = {যেকোনো লেখা}
- প্রজেক্ট আইডি = স্বয়ংক্রিয়ভাবে সনাক্ত করুন
- Path = আপনার বর্তমান প্রোজেক্টে থাকা বাকেটের GCS URL। উদাহরণস্বরূপ, gs://$BUCKET_NAME/csv/
- ফরম্যাট = টেক্সট
- পাথ ফিল্ড = ফাইলের নাম
- পাথ ফাইলের নাম শুধুমাত্র = সত্য
- পুনরাবৃত্তিমূলকভাবে ফাইল পড়ুন = সত্য
- + বোতামে ক্লিক করে GCS আউটপুট স্কিমাতে 'filename' ফিল্ডটি যোগ করুন।
- বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ রঙের "কোনো ত্রুটি পাওয়া যায়নি" লেখাটি সফলতার ইঙ্গিত দেয়।
- GCS প্রোপার্টিজ বন্ধ করতে X বোতামে ক্লিক করুন।
নোড রূপান্তর করুন
- ট্রান্সফর্ম নোডটি নির্বাচন করুন।
- বামদিকের প্লাগইন প্যালেটের ট্রান্সফর্ম সেকশনের অধীনে, ডেটা পাইপলাইনস UI-তে প্রদর্শিত র্যাংলার নোডটিতে ডাবল-ক্লিক করুন। GCS সোর্স নোডটিকে র্যাংলার ট্রান্সফর্ম নোডের সাথে সংযুক্ত করুন।
- Wrangler নোডটিতে পয়েন্ট করুন এবং Properties-এ ক্লিক করুন।
- সংরক্ষিত স্কিমা ইম্পোর্ট করতে (উদাহরণস্বরূপ: gs://hcls_testing_data_fhir_10_patients/csv_schemas/ schema (Patients).json ) অ্যাকশন ড্রপডাউনে ক্লিক করে ইম্পোর্ট নির্বাচন করুন এবং পূর্ববর্তী বিভাগ থেকে সংরক্ষিত রেসিপিটি পেস্ট করুন ।
- অথবা, “Build a schema for transformation” সেকশন থেকে Wrangler নোডটি পুনরায় ব্যবহার করুন।
- প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন। নিম্নলিখিত ক্ষেত্রগুলি সেট করুন:
- লেবেল = {যেকোনো লেখা}
- ইনপুট ফিল্ডের নাম = {*}
- প্রতিটি ইনপুট ফাইলকে ( যেমন, patients.csv, providers.csv, allergy.csv, ইত্যাদি ) সোর্স নোড থেকে আলাদা করার জন্য Precondition = {filename != "patients.csv"} ব্যবহার করা হয়।

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

function transform(input, emitter, context) {
input.TIMESTAMP = (new Date()).getTime()*1000;
emitter.emit(input);
}
- + চিহ্নে ক্লিক করে আউটপুট স্কিমাতে TIMESTAMP নামের ফিল্ডটি যোগ করুন (যদি এটি বিদ্যমান না থাকে)। ডেটা টাইপ হিসেবে টাইমস্ট্যাম্প নির্বাচন করুন।

- বিস্তারিত ব্যাখ্যার জন্য ডকুমেন্টেশন-এ ক্লিক করুন। সমস্ত ইনপুট তথ্য যাচাই করতে ভ্যালিডেট বোতামে ক্লিক করুন। সবুজ "কোনো ত্রুটি পাওয়া যায়নি" সফলতা নির্দেশ করে।
- ট্রান্সফর্ম প্রোপার্টিজ উইন্ডোটি বন্ধ করতে X বোতামে ক্লিক করুন।
ডেটা মাস্কিং এবং ডি-আইডেন্টিফিকেশন
- আপনি কলামের নিচের দিকে নির্দেশ করা তীরচিহ্নে ক্লিক করে এবং আপনার প্রয়োজন অনুযায়ী 'মাস্ক ডেটা' নির্বাচনের অধীনে মাস্কিং নিয়ম প্রয়োগ করে স্বতন্ত্র ডেটা কলাম নির্বাচন করতে পারেন (উদাহরণস্বরূপ, এসএসএন কলাম)।

- আপনি Wrangler নোডের Recipe উইন্ডোতে আরও ডিরেক্টিভ যোগ করতে পারেন। উদাহরণস্বরূপ, পরিচয় গোপন করার উদ্দেশ্যে, নিম্নলিখিত সিনট্যাক্স অনুসরণ করে হ্যাশিং অ্যালগরিদম সহ hash ডিরেক্টিভটি ব্যবহার করতে পারেন:
hash <column> <algorithm> <encode> <column>: name of the column <algorithm>: Hashing algorithm (i.e. MD5, SHA-1, etc.) <encode>: default is true (hashed digest is encoded as hex with left-padding zeros). To disable hex encoding, set <encode> to false.

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

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

- BigQuery Properties বন্ধ করতে X বোতামে ক্লিক করুন।
৬. ব্যাচ ডেটা পাইপলাইন তৈরি করুন
একটি পাইপলাইনে সমস্ত নোড সংযুক্ত করা
- উৎস নোডের ডান প্রান্ত থেকে একটি সংযোগ তীর (>) টেনে গন্তব্য নোডের বাম প্রান্তে ছেড়ে দিন।
- একটি পাইপলাইনে একাধিক শাখা থাকতে পারে, যেগুলো একই GCS সোর্স নোড থেকে ইনপুট ফাইল গ্রহণ করে।

- পাইপলাইনটির নাম বলুন।
ব্যাস, হয়ে গেল। আপনি এইমাত্র আপনার প্রথম ব্যাচ ডেটা পাইপলাইন তৈরি করে ফেলেছেন এবং এখন পাইপলাইনটি ডেপ্লয় ও রান করতে পারেন।
ইমেলের মাধ্যমে পাইপলাইন সতর্কতা পাঠান (ঐচ্ছিক)
পাইপলাইন অ্যালার্ট সেন্ডইমেল (Pipeline Alert SendEmail) ফিচারটি ব্যবহার করার জন্য, একটি ভার্চুয়াল মেশিন ইনস্ট্যান্স থেকে মেইল পাঠানোর উদ্দেশ্যে একটি মেইল সার্ভার সেটআপ করা আবশ্যক। আরও তথ্যের জন্য নিচের রেফারেন্স লিঙ্কটি দেখুন:
ইনস্ট্যান্স থেকে ইমেল পাঠানো | কম্পিউট ইঞ্জিন ডকুমেন্টেশন
এই কোডল্যাবে, আমরা নিম্নলিখিত ধাপগুলো অনুসরণ করে মেইলগান (Mailgun) এর মাধ্যমে একটি মেইল রিলে সার্ভিস সেট আপ করেছি:
- Mailgun-এ একটি অ্যাকাউন্ট তৈরি করতে এবং ইমেল রিলে পরিষেবাটি কনফিগার করতে, "Sending email with Mailgun | Compute Engine Documentation"- এ দেওয়া নির্দেশাবলী অনুসরণ করুন। অতিরিক্ত পরিবর্তনগুলো নিচে দেওয়া হলো।
- সকল প্রাপকের ইমেল ঠিকানা মেইলগানের অনুমোদিত তালিকায় যুক্ত করুন। এই তালিকাটি বাম প্যানেলে থাকা মেইলগান>সেন্ডিং>ওভারভিউ অপশনে পাওয়া যাবে।


support@mailgun.net থেকে পাঠানো ইমেইলে প্রাপকরা "আমি সম্মত" বোতামে ক্লিক করার সাথে সাথে, পাইপলাইন অ্যালার্ট ইমেইল পাওয়ার জন্য তাদের ইমেইল ঠিকানাগুলো অনুমোদিত তালিকায় সংরক্ষিত হয়ে যায়।

- 'শুরু করার আগে' অংশের ধাপ ৩ - নিম্নরূপে একটি ফায়ারওয়াল নিয়ম তৈরি করুন:

- "Postfix-এর সাথে Mailgun-কে মেইল রিলে হিসেবে কনফিগার করা"-এর ধাপ ৩। নির্দেশাবলীতে উল্লিখিত 'Local Only'- এর পরিবর্তে 'Internet Site' অথবা 'Internet with smarthost' নির্বাচন করুন।

- "Postfix-এর সাথে Mailgun-কে মেইল রিলে হিসেবে কনফিগার করা"-এর ধাপ ৪। vi /etc/postfix/main.cf ফাইলটি সম্পাদনা করে mynetworks- এর শেষে 10.128.0.0/9 যোগ করুন।

- ডিফল্ট smtp (25) পোর্ট 587-এ পরিবর্তন করতে vi /etc/postfix/master.cf ফাইলটি সম্পাদনা করুন।

- ডেটা ফিউশন স্টুডিও-এর উপরের ডান কোণায়, কনফিগার-এ ক্লিক করুন। পাইপলাইন অ্যালার্ট-এ ক্লিক করুন এবং অ্যালার্ট উইন্ডোটি খুলতে + বোতামে ক্লিক করুন। সেন্ডইমেল নির্বাচন করুন।

- Fill out the Email configuration form. Select completion, success , or failure from Run Condition dropdown for each alert type. If Include Workflow Token = false , only the information from the Message field is sent. If Include Workflow Token = true , the information from the Message field and Workflow Token detailed information issent. You must use lowercase for Protocol . Use any " fake " email other than your company email address for Sender .

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

- ডেটা ফিউশন স্টুডিও-এর উপরের ডান কোণায়, কনফিগার-এ ক্লিক করুন। ইঞ্জিন কনফিগের জন্য স্পার্ক নির্বাচন করুন। কনফিগার উইন্ডোতে সেভ-এ ক্লিক করুন।

- ডেটা প্রিভিউ করতে প্রিভিউ-তে ক্লিক করুন, এবং আগের উইন্ডোতে ফিরে যেতে আবার প্রিভিউ-তে ক্লিক করুন। আপনি প্রিভিউ মোডে পাইপলাইনটি রানও করতে পারেন।

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

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

- সারাংশে রান হিস্ট্রি, রেকর্ড, এরর লগ এবং ওয়ার্নিং-এর চার্ট দেখানো হয়।
৮. বৈধতা যাচাই
- Validate পাইপলাইনটি সফলভাবে সম্পাদিত হয়েছে।

- BigQuery ডেটাসেটে সমস্ত টেবিল আছে কিনা তা যাচাই করুন।
bq ls $PROJECT_ID:$DATASET_ID
tableId Type Labels Time Partitioning
----------------- ------- -------- -------------------
Allergies TABLE
Careplans TABLE
Conditions TABLE
Encounters TABLE
Imaging_Studies TABLE
Immunizations TABLE
Medications TABLE
Observations TABLE
Organizations TABLE
Patients TABLE
Procedures TABLE
Providers TABLE
- সতর্কতামূলক ইমেল গ্রহণ করুন (যদি কনফিগার করা থাকে)।
ফলাফল দেখা হচ্ছে
পাইপলাইনটি চলার পর ফলাফল দেখতে:
- BigQuery UI-তে টেবিলটি কোয়েরি করুন। BigQuery UI-তে যান।
- নিচের কোয়েরিটি আপনার নিজের প্রজেক্টের নাম, ডেটাসেট এবং টেবিল দিয়ে আপডেট করুন।

৯. পরিষ্কার করা
এই টিউটোরিয়ালে ব্যবহৃত রিসোর্সগুলির জন্য আপনার গুগল ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্টে চার্জ হওয়া এড়াতে:
টিউটোরিয়ালটি শেষ করার পর, আপনি GCP-তে তৈরি করা রিসোর্সগুলো পরিষ্কার করে নিতে পারেন, যাতে সেগুলো আপনার কোটা ব্যবহার না করে এবং ভবিষ্যতে সেগুলোর জন্য আপনাকে বিল করা না হয়। নিম্নলিখিত বিভাগগুলিতে এই রিসোর্সগুলি কীভাবে মুছে ফেলতে বা বন্ধ করতে হয় তা বর্ণনা করা হয়েছে।
BigQuery ডেটাসেট মুছে ফেলা
এই টিউটোরিয়ালের অংশ হিসেবে আপনার তৈরি করা BigQuery ডেটাসেটটি মুছে ফেলার জন্য এই নির্দেশাবলী অনুসরণ করুন।
GCS বাকেট মুছে ফেলা
এই টিউটোরিয়ালের অংশ হিসেবে আপনার তৈরি করা GCS বাকেটটি ডিলিট করতে এই নির্দেশাবলী অনুসরণ করুন।
ক্লাউড ডেটা ফিউশন ইনস্ট্যান্স মুছে ফেলা হচ্ছে
আপনার ক্লাউড ডেটা ফিউশন ইনস্ট্যান্সটি মুছে ফেলার জন্য এই নির্দেশাবলী অনুসরণ করুন।
প্রকল্পটি মুছে ফেলা হচ্ছে
বিলিং বন্ধ করার সবচেয়ে সহজ উপায় হলো টিউটোরিয়ালের জন্য তৈরি করা প্রজেক্টটি ডিলিট করে দেওয়া।
প্রজেক্টটি ডিলিট করতে:
- GCP কনসোলে, প্রজেক্টস পেজে যান। প্রজেক্টস পেজে যান
- প্রজেক্ট তালিকা থেকে, আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং ডিলিট বাটনে ক্লিক করুন।
- ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলার জন্য 'শাট ডাউন'-এ ক্লিক করুন।
১০. অভিনন্দন
অভিনন্দন, আপনি ক্লাউড ডেটা ফিউশন ব্যবহার করে বিগকোয়েরিতে স্বাস্থ্যসেবা ডেটা অন্তর্ভুক্ত করার কোড ল্যাবটি সফলভাবে সম্পন্ন করেছেন।
আপনি গুগল ক্লাউড স্টোরেজ থেকে বিগকোয়েরিতে CSV ডেটা ইম্পোর্ট করেছেন।
আপনি বিপুল পরিমাণে স্বাস্থ্যসেবা ডেটা লোড, রূপান্তর এবং মাস্কিং করার জন্য ডেটা ইন্টিগ্রেশন পাইপলাইনটি দৃশ্যত তৈরি করেছেন।
গুগল ক্লাউড প্ল্যাটফর্মে BigQuery ব্যবহার করে আপনার হেলথকেয়ার ডেটা অ্যানালিটিক্স যাত্রা শুরু করার জন্য প্রয়োজনীয় মূল ধাপগুলো এখন আপনি জানেন।