১. GCS এবং Dataflow ব্যবহার করে Databricks থেকে Spanner পর্যন্ত একটি বিপরীত ETL পাইপলাইন তৈরি করুন।
ভূমিকা
এই কোডল্যাবে, আপনি গুগল ক্লাউড স্টোরেজে সংরক্ষিত CSV ফাইল ব্যবহার করে ডেটাব্রিক্স থেকে স্প্যানার পর্যন্ত একটি রিভার্স ETL পাইপলাইন তৈরি করবেন। ঐতিহ্যগতভাবে, ETL (এক্সট্র্যাক্ট, ট্রান্সফর্ম, লোড) পাইপলাইনগুলি অপারেশনাল ডাটাবেস থেকে ডেটা বিশ্লেষণের জন্য ডেটাব্রিক্সের মতো ডেটা গুদামে স্থানান্তর করে। একটি রিভার্স ETL পাইপলাইন বিপরীত কাজ করে: এটি ডেটা গুদাম থেকে কিউরেটেড, প্রক্রিয়াজাত ডেটা আবার অপারেশনাল সিস্টেমে স্থানান্তর করে যেখানে এটি অ্যাপ্লিকেশনগুলিকে শক্তি দিতে পারে, ব্যবহারকারী-মুখী বৈশিষ্ট্যগুলি পরিবেশন করতে পারে বা রিয়েল-টাইম সিদ্ধান্ত গ্রহণের জন্য ব্যবহার করা যেতে পারে।
লক্ষ্য হল একটি ডেটাব্রিক্স টেবিল থেকে একটি নমুনা ডেটাসেট স্প্যানারে স্থানান্তর করা, যা উচ্চ-প্রাপ্যতা অ্যাপ্লিকেশনের জন্য আদর্শ একটি বিশ্বব্যাপী বিতরণকৃত রিলেশনাল ডাটাবেস।
এটি অর্জনের জন্য, গুগল ক্লাউড স্টোরেজ (GCS) এবং ডেটাফ্লোকে মধ্যবর্তী পদক্ষেপ হিসেবে ব্যবহার করা হয়। এখানে ডেটা প্রবাহের একটি সংক্ষিপ্তসার এবং এই স্থাপত্যের পিছনের যুক্তি দেওয়া হল:
- CSV ফর্ম্যাটে গুগল ক্লাউড স্টোরেজ (GCS)-তে ডেটাব্রিক্স:
- প্রথম ধাপ হল ডেটাব্রিক্স থেকে একটি উন্মুক্ত, সর্বজনীন বিন্যাসে ডেটা বের করা। CSV-তে রপ্তানি করা পোর্টেবল ডেটা ফাইল তৈরির জন্য একটি সাধারণ এবং সহজ পদ্ধতি। এই ফাইলগুলি GCS-এ মঞ্চস্থ করা হবে, যা একটি স্কেলেবল এবং টেকসই অবজেক্ট স্টোরেজ সমাধান প্রদান করে।
- GCS থেকে Spanner (ডেটাফ্লো এর মাধ্যমে):
- GCS থেকে পড়ার জন্য এবং Spanner-এ লেখার জন্য একটি কাস্টম স্ক্রিপ্ট লেখার পরিবর্তে, Google Dataflow ব্যবহার করা হয়, যা একটি সম্পূর্ণরূপে পরিচালিত ডেটা প্রক্রিয়াকরণ পরিষেবা। Dataflow এই ধরণের কাজের জন্য বিশেষভাবে পূর্ব-নির্মিত টেমপ্লেট সরবরাহ করে। "GCS Text to Cloud Spanner" টেমপ্লেট ব্যবহার করলে কোনও ডেটা প্রক্রিয়াকরণ কোড না লিখেই একটি উচ্চ-থ্রুপুট, সমান্তরাল ডেটা আমদানি করা সম্ভব হয়, যা উল্লেখযোগ্যভাবে ডেভেলপমেন্ট সময় সাশ্রয় করে।
তুমি কি শিখবে
- ডেটাব্রিক্সে ডেটা কীভাবে লোড করবেন
- কিভাবে একটি GCS বাকেট তৈরি করবেন
- CSV ফর্ম্যাটে GCS-এ ডেটাব্রিক্স টেবিল কীভাবে রপ্তানি করবেন
- কিভাবে একটি স্প্যানার ইনস্ট্যান্স সেট আপ করবেন
- ডেটাফ্লো ব্যবহার করে স্প্যানারে CSV টেবিল কীভাবে লোড করবেন
2. সেটআপ, প্রয়োজনীয়তা এবং সীমাবদ্ধতা
পূর্বশর্ত
- ক্লাস্টার তৈরি এবং লাইব্রেরি ইনস্টল করার অনুমতি সহ একটি ডেটাব্রিক্স অ্যাকাউন্ট। এই ল্যাবের জন্য একটি বিনামূল্যের ট্রায়াল অ্যাকাউন্ট যথেষ্ট নয়।
- স্প্যানার, ক্লাউড স্টোরেজ এবং ডেটাফ্লো API সক্ষম থাকা একটি Google ক্লাউড অ্যাকাউন্ট।
- একটি ওয়েব ব্রাউজারের মাধ্যমে গুগল ক্লাউড কনসোলে অ্যাক্সেস।
- গুগল ক্লাউড সিএলআই ইনস্টল করা একটি টার্মিনাল।
- যদি আপনার Google ক্লাউড প্রতিষ্ঠানে
iam.allowedPolicyMemberDomainsনীতি সক্রিয় থাকে, তাহলে একজন প্রশাসককে বহিরাগত ডোমেন থেকে পরিষেবা অ্যাকাউন্টগুলিকে অনুমতি দেওয়ার জন্য একটি ব্যতিক্রম মঞ্জুর করতে হতে পারে। প্রযোজ্য ক্ষেত্রে পরবর্তী ধাপে এটি কভার করা হবে।
গুগল ক্লাউড প্ল্যাটফর্ম আইএএম অনুমতি
এই কোডল্যাবের সমস্ত ধাপগুলি সম্পাদন করার জন্য গুগল অ্যাকাউন্টের নিম্নলিখিত অনুমতিগুলির প্রয়োজন হবে।
পরিষেবা অ্যাকাউন্ট | ||
| পরিষেবা অ্যাকাউন্ট তৈরির অনুমতি দেয়। | |
স্প্যানার | ||
| একটি নতুন স্প্যানার ইনস্ট্যান্স তৈরি করার অনুমতি দেয়। | |
| DDL স্টেটমেন্ট তৈরি করার অনুমতি দেয় | |
| ডাটাবেসে টেবিল তৈরি করতে DDL স্টেটমেন্ট চালানোর অনুমতি দেয়। | |
গুগল ক্লাউড স্টোরেজ | ||
| এক্সপোর্ট করা Parquet ফাইলগুলি সংরক্ষণ করার জন্য একটি নতুন GCS বাকেট তৈরি করার অনুমতি দেয়। | |
| এক্সপোর্ট করা Parquet ফাইলগুলিকে GCS বাকেটে লেখার অনুমতি দেয়। | |
| BigQuery কে GCS বাকেট থেকে Parquet ফাইলগুলি পড়ার অনুমতি দেয়। | |
| BigQuery কে GCS বাকেটে Parquet ফাইলগুলি তালিকাভুক্ত করার অনুমতি দেয়। | |
ডেটাফ্লো | ||
| ডেটাফ্লো থেকে কাজের আইটেম দাবি করার অনুমতি দেয়। | |
| ডেটাফ্লো কর্মীকে ডেটাফ্লো পরিষেবাতে বার্তা ফেরত পাঠাতে অনুমতি দেয়। | |
| ডেটাফ্লো কর্মীদের গুগল ক্লাউড লগিং-এ লগ এন্ট্রি লেখার অনুমতি দেয়। | |
সুবিধার জন্য, এই অনুমতিগুলি ধারণকারী পূর্বনির্ধারিত ভূমিকা ব্যবহার করা যেতে পারে।
|
|
|
|
|
|
|
|
সীমাবদ্ধতা
সিস্টেমের মধ্যে ডেটা স্থানান্তর করার সময় ডেটা ধরণের পার্থক্য সম্পর্কে সচেতন থাকা গুরুত্বপূর্ণ।
- ডেটাব্রিক্স CSV-তে: রপ্তানি করার সময়, ডেটাব্রিক্স ডেটা টাইপগুলি স্ট্যান্ডার্ড টেক্সট উপস্থাপনায় রূপান্তরিত হয়।
- CSV থেকে Spanner: আমদানি করার সময়, লক্ষ্য স্প্যানারের ডেটা টাইপগুলি CSV ফাইলের স্ট্রিং উপস্থাপনার সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করা প্রয়োজন। এই ল্যাবটি টাইপ ম্যাপিংয়ের একটি সাধারণ সেটের মাধ্যমে নির্দেশিকা প্রদান করে।
পুনঃব্যবহারযোগ্য বৈশিষ্ট্য সেটআপ করুন
এই ল্যাব জুড়ে বারবার কিছু মান প্রয়োজন হবে। এটি সহজ করার জন্য, আমরা এই মানগুলিকে পরবর্তীতে ব্যবহারের জন্য শেল ভেরিয়েবলে সেট করব।
- GCP_REGION - নির্দিষ্ট অঞ্চল যেখানে GCP রিসোর্সগুলি অবস্থিত হবে। অঞ্চলগুলির তালিকা এখানে পাওয়া যাবে।
- GCP_PROJECT - ব্যবহারের জন্য GCP প্রকল্প আইডি।
- GCP_BUCKET_NAME - তৈরি করা GCS বাকেটের নাম, এবং যেখানে ডেটা ফাইলগুলি সংরক্ষণ করা হবে।
export GCP_REGION = <GCP REGION HERE>
export GCP_PROJECT= <GCP PROJECT HERE>
export GCS_BUCKET_NAME = <GCS BUCKET NAME HERE>
export SPANNER_INSTANCE = <SPANNER INSTANCE ID HERE>
export SPANNER_DB = <SPANNER DATABASE ID HERE>
ডেটাব্রিক্স
এই ল্যাবের জন্য, GCP-তে হোস্ট করা একটি Databricks অ্যাকাউন্ট GCS-এ একটি বহিরাগত ডেটা অবস্থান নির্ধারণের অনুমতি দেয়।
গুগল ক্লাউড
এই ল্যাবের জন্য একটি Google ক্লাউড প্রকল্প প্রয়োজন।
গুগল ক্লাউড প্রজেক্ট
গুগল ক্লাউডে একটি প্রকল্প হল সংগঠনের একটি মৌলিক একক। যদি কোনও প্রশাসক ব্যবহারের জন্য একটি প্রদান করে থাকেন, তাহলে এই ধাপটি এড়িয়ে যেতে পারে।
CLI ব্যবহার করে একটি প্রকল্প এভাবে তৈরি করা যেতে পারে:
gcloud projects create $GCP_PROJECT
gcloud config set project $GCP_PROJECT
প্রকল্প তৈরি এবং পরিচালনা সম্পর্কে আরও জানুন এখানে ।
স্প্যানার সেট আপ করুন
স্প্যানার ব্যবহার শুরু করার জন্য, আপনাকে একটি ইনস্ট্যান্স এবং একটি ডাটাবেস সরবরাহ করতে হবে। স্প্যানার ইনস্ট্যান্স কনফিগার এবং তৈরি করার বিশদ বিবরণ এখানে পাওয়া যাবে।
ইনস্ট্যান্স তৈরি করুন
gcloud spanner instances create $SPANNER_INSTANCE \
--config=regional-$GCP_REGION \
--description="Codelabs Snowflake RETL" \
--processing-units=100 \
--edition=ENTERPRISE
ডাটাবেস তৈরি করুন
gcloud spanner databases create $SPANNER_DB \
--instance=$SPANNER_INSTANCE
৩. একটি গুগল ক্লাউড স্টোরেজ বাকেট তৈরি করুন
স্নোফ্লেক দ্বারা তৈরি CSV ডেটা ফাইলগুলি স্প্যানারে আমদানি করার আগে অস্থায়ীভাবে সংরক্ষণ করতে গুগল ক্লাউড স্টোরেজ (GCS) ব্যবহার করা হবে।
বালতি তৈরি করুন
একটি নির্দিষ্ট অঞ্চলে একটি স্টোরেজ বাকেট তৈরি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
gcloud storage buckets create gs://$GCS_BUCKET_NAME --location=$GCP_REGION
বাকেট তৈরি যাচাই করুন
একবার সেই কমান্ডটি সফল হয়ে গেলে, সমস্ত বাকেট তালিকাভুক্ত করে ফলাফলটি পরীক্ষা করুন। ফলাফলের তালিকায় নতুন বাকেটটি উপস্থিত হওয়া উচিত। বাকেট রেফারেন্সগুলি সাধারণত বাকেটের নামের সামনে gs:// উপসর্গ সহ প্রদর্শিত হয়।
gcloud storage ls | grep gs://$GCS_BUCKET_NAME
লেখার অনুমতি পরীক্ষা করুন
এই ধাপটি নিশ্চিত করে যে স্থানীয় পরিবেশ সঠিকভাবে প্রমাণিত হয়েছে এবং নতুন তৈরি বাকেটে ফাইল লেখার জন্য প্রয়োজনীয় অনুমতি রয়েছে।
echo "Hello, GCS" | gcloud storage cp - gs://$GCS_BUCKET_NAME/hello.txt
আপলোড করা ফাইলটি যাচাই করুন
বাকেটের মধ্যে থাকা বস্তুগুলির তালিকা তৈরি করুন। আপলোড করা ফাইলটির সম্পূর্ণ পথ প্রদর্শিত হবে।
gcloud storage ls gs://$GCS_BUCKET_NAME
আপনার নিম্নলিখিত আউটপুটটি দেখতে হবে:
gs://$GCS_BUCKET_NAME/hello.txt
বালতিতে থাকা কোনও বস্তুর বিষয়বস্তু দেখতে, gcloud storage cat ব্যবহার করা যেতে পারে।
gcloud storage cat gs://$GCS_BUCKET_NAME/hello.txt
ফাইলের বিষয়বস্তু দৃশ্যমান হওয়া উচিত:
Hello, GCS
পরীক্ষার ফাইল পরিষ্কার করুন
ক্লাউড স্টোরেজ বাকেট এখন সেট আপ করা হয়েছে। অস্থায়ী পরীক্ষার ফাইলটি এখন মুছে ফেলা যেতে পারে।
gcloud storage rm gs://$GCS_BUCKET_NAME/hello.txt
আউটপুটটি মুছে ফেলার বিষয়টি নিশ্চিত করবে:
Removing gs://$GCS_BUCKET_NAME/hello.txt... / [1 objects] Operation completed over 1 objects.
৪. ডেটাব্রিক্স থেকে জিসিএসে রপ্তানি করুন
এখন, ডেটাব্রিক্স পরিবেশটি নিরাপদে GCS-এর সাথে সংযোগ স্থাপন এবং ডেটা রপ্তানি করার জন্য কনফিগার করা হবে।
শংসাপত্র তৈরি করুন
- বাম দিকের মেনুতে, ক্যাটালগ- এ ক্লিক করুন
- ক্যাটালগ পৃষ্ঠার উপরে যদি External Data পাওয়া যায়, তাহলে তাতে ক্লিক করুন। অন্যথায়, Connect ড্রপডাউনে ক্লিক করুন এবং তারপর Credentials- এ ক্লিক করুন।
- যদি আপনি ইতিমধ্যেই শংসাপত্র ট্যাবে না থাকেন তবে সেখানে যান।
- ক্রিয়েট ক্রেডেনশিয়াল এ ক্লিক করুন
- শংসাপত্রের ধরণের জন্য
GCP Service Accountনির্বাচন করুন - ক্রেডেনশিয়াল নামের জন্য
codelabs-retl-credentialsলিখুন - তৈরি করুন ক্লিক করুন
- ডায়ালগ বক্স থেকে পরিষেবা অ্যাকাউন্টের ইমেলটি কপি করুন এবং সম্পন্ন ক্লিক করুন।
পুনঃব্যবহারের জন্য আপনার শেল ইনস্ট্যান্সে এই পরিষেবা অ্যাকাউন্টটিকে একটি পরিবেশ পরিবর্তনশীলে সেট করুন:
export GCP_SERVICE_ACCOUNT=<Your service account>
ডেটাব্রিক্সকে GCS অনুমতি দিন
এখন, স্নোফ্লেক পরিষেবা অ্যাকাউন্টকে GCS বাকেটে লেখার অনুমতি দিতে হবে।
gcloud storage buckets add-iam-policy-binding gs://$GCS_BUCKET_NAME \
--member="serviceAccount:$GCP_SERVICE_ACCOUNT" \
--role="roles/storage.objectAdmin"
gcloud storage buckets add-iam-policy-binding gs://$GCS_BUCKET_NAME \
--member="serviceAccount:$GCP_SERVICE_ACCOUNT" \
--role="roles/storage.legacyBucketReader"
বাহ্যিক অবস্থান তৈরি করুন
- পৃষ্ঠার উপরে থাকা ব্রেডক্রাম্বস ব্যবহার করে শংসাপত্র পৃষ্ঠায় ফিরে যান।
- বাহ্যিক অবস্থান ট্যাবে স্যুইচ করুন
- বাহ্যিক অবস্থান তৈরি করুন এ ক্লিক করুন
- বাহ্যিক অবস্থানের নাম
codelabs-retl-gcsএ সেট করুন - স্টোরেজ টাইপকে
GCPহিসেবে রাখুন - আপনার বাকেট পাথটি URL- এ সেট করুন
- স্টোরেজ ক্রেডেনশিয়ালকে
codelabs-retl-credentialsএ সেট করুন - তৈরি করুন ক্লিক করুন
- নিশ্চিতকরণে। তৈরি করুন ক্লিক করুন
ক্যাটালগ এবং স্কিমা তৈরি করুন
- বাম দিকের মেনুতে, ক্যাটালগ- এ ক্লিক করুন
- তৈরি করুন এ ক্লিক করুন, তারপর একটি ক্যাটালগ তৈরি করুন
- ক্যাটালগের নাম
retl_tpch_projectএ সেট করুন - প্রকারটি
Standardসেট করুন - বাহ্যিক অবস্থান হিসেবে
codelabs-retl-gcsনির্বাচন করুন - তৈরি করুন ক্লিক করুন
- ক্যাটালগ তালিকা থেকে
retl_tpch_projectএ ক্লিক করুন। - স্কিমা তৈরি করুন এ ক্লিক করুন
- স্কিমার নাম
tpch_dataতে সেট করুন -
codelabs-retl-gcsহতে স্টোরেজ লোকেশন নির্বাচন করুন - তৈরি করুন ক্লিক করুন
CSV হিসেবে ডেটা রপ্তানি করুন
এখন ডেটা রপ্তানির জন্য প্রস্তুত। নমুনা TPC-H ডেটাসেটটি আমাদের নতুন টেবিলটি সংজ্ঞায়িত করতে ব্যবহার করা হবে যা বাহ্যিকভাবে CSV হিসাবে সংরক্ষণ করা হবে।
প্রথমে, ওয়ার্কস্পেসের একটি নতুন টেবিলে নমুনা ডেটা কপি করুন। এটি করার জন্য, SQL কোডটি একটি কোয়েরি থেকে চালানো প্রয়োজন হবে।
- SQL এর অধীনে বাম দিকের মেনুতে, Queries- এ ক্লিক করুন।
- "কোয়েরি তৈরি করুন" বোতামে ক্লিক করুন।
- রান বোতামের পাশে, ওয়ার্কস্পেসটিকে
retl_tpch_projectএ সেট করুন।
CREATE TABLE retl_tpch_project.tpch_data.regional_sales_csv
USING CSV
LOCATION 'gs://<Your bucket name>/regional_sales_csv'
OPTIONS (
header "false",
delimiter ","
)
AS
SELECT
n.n_name AS nation_name,
c.c_mktsegment AS market_segment,
YEAR(o.o_orderdate) AS order_year,
o.o_orderpriority AS order_priority,
COUNT(o.o_orderkey) AS total_order_count,
ROUND(SUM(o.o_totalprice), 2) AS total_revenue,
COUNT(DISTINCT c.c_custkey) AS unique_customer_count
FROM samples.tpch.orders AS o
INNER JOIN samples.tpch.customer AS c
ON o.o_custkey = c.c_custkey
INNER JOIN samples.tpch.nation AS n
ON c.c_nationkey = n.n_nationkey
GROUP BY 1, 2, 3, 4;
GCS-এ ডেটা যাচাই করুন
Databricks তৈরি করা ফাইলগুলি দেখতে GCS বাকেটটি পরীক্ষা করুন।
gcloud storage ls gs://$GCS_BUCKET_NAME/regional_sales_csv/
_SUCCESS এবং লগ ফাইলের সাথে এক বা একাধিক .csv ফাইল দৃশ্যমান হওয়া উচিত।
৫. ডেটাফ্লো ব্যবহার করে স্প্যানারে ডেটা লোড করুন
GCS থেকে Spanner-এ CSV ডেটা আমদানি করতে Google-এর সরবরাহিত একটি ডেটাফ্লো টেমপ্লেট ব্যবহার করা হবে।
স্প্যানার টেবিল তৈরি করুন
প্রথমে, স্প্যানারে ডেস্টিনেশন টেবিল তৈরি করুন। স্কিমাটি CSV ফাইলের ডেটার সাথে সামঞ্জস্যপূর্ণ হতে হবে।
gcloud spanner databases ddl update $SPANNER_DB \
--instance=$SPANNER_INSTANCE \
--ddl="$(cat <<EOF
CREATE TABLE regional_sales (
nation_name STRING(MAX),
market_segment STRING(MAX),
order_year INT64,
order_priority STRING(MAX),
total_order_count INT64,
total_revenue NUMERIC,
unique_customer_count INT64
) PRIMARY KEY (nation_name, market_segment, order_year, order_priority);
EOF
)"
ডেটাফ্লো ম্যানিফেস্ট তৈরি করুন
ডেটাফ্লো টেমপ্লেটের জন্য একটি "ম্যানিফেস্ট" ফাইল প্রয়োজন। এটি একটি JSON ফাইল যা টেমপ্লেটকে বলে যে সোর্স ডেটা ফাইলগুলি কোথায় পাওয়া যাবে এবং কোন স্প্যানার টেবিলে লোড করতে হবে।
GCS বাকেটে একটি নতুন regional_sales_manifest.json সংজ্ঞায়িত করুন এবং আপলোড করুন:
cat <<EOF | gcloud storage cp - gs://$GCS_BUCKET_NAME/regional_sales_manifest.json
{
"tables": [
{
"table_name": "regional_sales",
"file_patterns": [
"gs://$GCS_BUCKET_NAME/regional_sales_csv/*.csv"
]
}
]
}
EOF
ডেটাফ্লো এপিআই সক্ষম করুন
ডেটাফ্লো ব্যবহার করার আগে, প্রথমে এটি সক্রিয় করতে হবে। এটি করুন
gcloud services enable dataflow.googleapis.com --project=$GCP_PROJECT
ডেটাফ্লো জব তৈরি করুন এবং চালান
আমদানির কাজটি এখন চালানোর জন্য প্রস্তুত। এই কমান্ডটি GCS_Text_to_Cloud_Spanner টেমপ্লেট ব্যবহার করে একটি ডেটাফ্লো কাজ চালু করে।
কমান্ডটি দীর্ঘ এবং এর বেশ কয়েকটি প্যারামিটার রয়েছে। এখানে একটি ব্রেকডাউন দেওয়া হল:
-
--gcs-location: GCS-এ পূর্বে তৈরি টেমপ্লেটের পথ। -
--region: যে অঞ্চলে ডেটাফ্লো কাজটি চালানো হবে। -
--parameters: টেমপ্লেটের জন্য নির্দিষ্ট কী-মান জোড়ার একটি তালিকা: -
instanceId,databaseId: টার্গেট স্প্যানার ইনস্ট্যান্স এবং ডাটাবেস। -
importManifest: সদ্য তৈরি ম্যানিফেস্ট ফাইলের GCS পাথ।
gcloud dataflow jobs run spanner-import-from-gcs \
--gcs-location=gs://dataflow-templates/latest/GCS_Text_to_Cloud_Spanner \
--region=$GCP_REGION \
--staging-location=gs://$GCS_BUCKET_NAME/staging \
--parameters \
instanceId=$SPANNER_INSTANCE,\
databaseId=$SPANNER_DB,\
importManifest=gs://$GCS_BUCKET_NAME/regional_sales_manifest.json,escape='\'
নিম্নলিখিত কমান্ডের সাহায্যে ডেটাফ্লো কাজের অবস্থা পরীক্ষা করা যেতে পারে
gcloud dataflow jobs list \
--filter="name:spanner-import-from-gcs" \
--region="$GCP_REGION" \
--sort-by="~creationTime" \
--limit=1
কাজটি সম্পন্ন হতে প্রায় ৫ মিনিট সময় লাগবে।
স্প্যানারে ডেটা যাচাই করুন
ডেটাফ্লো কাজটি সফল হয়ে গেলে, যাচাই করুন যে ডেটা স্প্যানারে লোড করা হয়েছে।
প্রথমে, সারি গণনা পরীক্ষা করুন, এটি 4375 হওয়া উচিত।
gcloud spanner databases execute-sql $SPANNER_DB \
--instance=$SPANNER_INSTANCE \
--sql='SELECT COUNT(*) FROM regional_sales;'
এরপর, ডেটা পরীক্ষা করার জন্য কয়েকটি সারি অনুসন্ধান করুন।
gcloud spanner databases execute-sql $SPANNER_DB \
--instance=$SPANNER_INSTANCE \
--sql='SELECT * FROM regional_sales LIMIT 5'
ডেটাব্রিক্স টেবিল থেকে আমদানি করা ডেটা দৃশ্যমান হওয়া উচিত।
৬. পরিষ্কার-পরিচ্ছন্নতা
স্প্যানার পরিষ্কার করুন
স্প্যানার ডাটাবেস এবং ইনস্ট্যান্স মুছে ফেলুন
gcloud spanner instances delete $SPANNER_INSTANCE
জিসিএস পরিষ্কার করুন
ডেটা হোস্ট করার জন্য তৈরি করা GCS বাকেটটি মুছে ফেলুন।
gcloud storage rm --recursive gs://$GCS_BUCKET_NAME
ডেটাব্রিক্স পরিষ্কার করুন
ক্যাটালগ/স্কিমা/টেবিল মুছুন
- আপনার ডেটাব্রিক্স ইনস্ট্যান্সে সাইন ইন করুন
- ক্লিক করুন
বাম দিকের মেনু থেকে - ক্যাটালগ তালিকা থেকে পূর্বে তৈরি
retl_tpch_projectনির্বাচন করুন।

- স্কিমা তালিকায়, তৈরি করা
tpch_dataনির্বাচন করুন - টেবিল তালিকা থেকে পূর্বে তৈরি
regional_sales_csvনির্বাচন করুন। - ক্লিক করে টেবিলের বিকল্পগুলি প্রসারিত করুন
এবং মুছে ফেলুন নির্বাচন করুন - টেবিলটি মুছে ফেলার জন্য নিশ্চিতকরণ ডায়ালগে Delete এ ক্লিক করুন।
- টেবিলটি মুছে ফেলা হলে, আপনাকে স্কিমা পৃষ্ঠায় ফিরিয়ে আনা হবে।
- ক্লিক করে স্কিমা বিকল্পগুলি প্রসারিত করুন
এবং মুছে ফেলুন নির্বাচন করুন - স্কিমা মুছে ফেলার জন্য নিশ্চিতকরণ ডায়ালগে Delete এ ক্লিক করুন।
- স্কিমাটি মুছে ফেলা হলে, আপনাকে ক্যাটালগ পৃষ্ঠায় ফিরিয়ে আনা হবে।
- যদি
defaultস্কিমা থাকে, তাহলে তা মুছে ফেলতে আবার ৪ - ১১ ধাপ অনুসরণ করুন। - ক্যাটালগ পৃষ্ঠা থেকে, ক্লিক করে ক্যাটালগ বিকল্পগুলি প্রসারিত করুন
এবং মুছে ফেলুন নির্বাচন করুন - ক্যাটালগ মুছে ফেলার জন্য নিশ্চিতকরণ ডায়ালগে Delete এ ক্লিক করুন।
বাহ্যিক ডেটা অবস্থান / শংসাপত্র মুছুন
- ক্যাটালগ স্ক্রিন থেকে, ক্লিক করুন

- যদি আপনি একটি
External Dataবিকল্প দেখতে না পান, তাহলে আপনিConnectড্রপডাউনের অধীনেExternal Locationতালিকাভুক্ত দেখতে পাবেন। - পূর্বে তৈরি করা
retl-gcs-locationবহিরাগত ডেটা অবস্থানে ক্লিক করুন। - বাহ্যিক অবস্থান পৃষ্ঠা থেকে, ক্লিক করে অবস্থান বিকল্পগুলি প্রসারিত করুন
এবং Deleteনির্বাচন করুন - বাহ্যিক অবস্থান মুছে ফেলার জন্য নিশ্চিতকরণ ডায়ালগে মুছুন ক্লিক করুন।
- ক্লিক করুন

- পূর্বে তৈরি করা
retl-gcs-credentialএ ক্লিক করুন। - শংসাপত্র পৃষ্ঠা থেকে, ক্লিক করে শংসাপত্র বিকল্পগুলি প্রসারিত করুন
এবং Deleteনির্বাচন করুন - শংসাপত্রগুলি মুছে ফেলার জন্য নিশ্চিতকরণ ডায়ালগে মুছুন ক্লিক করুন।
৭. অভিনন্দন
কোডল্যাবটি সম্পন্ন করার জন্য অভিনন্দন।
আমরা যা কভার করেছি
- ডেটাব্রিক্সে ডেটা কীভাবে লোড করবেন
- কিভাবে একটি GCS বাকেট তৈরি করবেন
- CSV ফর্ম্যাটে GCS-এ ডেটাব্রিক্স টেবিল কীভাবে রপ্তানি করবেন
- কিভাবে একটি স্প্যানার ইনস্ট্যান্স সেট আপ করবেন
- ডেটাফ্লো ব্যবহার করে স্প্যানারে CSV টেবিল কীভাবে লোড করবেন