Glue ETL Script লেখা এবং Job রান করা

Glue Job এবং ETL প্রক্রিয়া - আমাজন গ্লু (AWS Glue) - Latest Technologies

378

AWS Glue ETL Script লেখা এবং Job রান করা

AWS Glue ব্যবহার করে ETL (Extract, Transform, Load) স্ক্রিপ্ট লেখা এবং Job রান করা একটি সহজ প্রক্রিয়া। নিচে এই প্রক্রিয়ার বিভিন্ন পদক্ষেপ বিস্তারিতভাবে আলোচনা করা হলো।


পদক্ষেপ ১: AWS Glue Console এ প্রবেশ করা

  1. AWS Management Console: AWS Management Console এ লগইন করুন।
  2. Glue সার্ভিস নির্বাচন করুন: সার্চ বারে "Glue" টাইপ করে Glue সার্ভিস নির্বাচন করুন।

পদক্ষেপ ২: Glue Job তৈরি করা

Jobs সেকশনে যান:

  • Glue Console এর ড্যাশবোর্ডে "Jobs" সেকশনে ক্লিক করুন।

Add job এ ক্লিক করুন:

  • "Add job" বোতনে ক্লিক করুন।

Job এর নাম এবং IAM রোল নির্বাচন করুন:

  • Job name: একটি নাম দিন (যেমন my_etl_job)।
  • IAM role: ইতিমধ্যে তৈরি করা IAM রোল নির্বাচন করুন। রোলটির কাছে Glue এবং S3-তে ডেটা অ্যাক্সেস করার অনুমতি থাকতে হবে।

Script language নির্বাচন করুন:

  • স্ক্রিপ্ট লেখার জন্য Python অথবা Scala নির্বাচন করুন।

Script Path (ঐচ্ছিক):

  • S3-তে স্ক্রিপ্ট সংরক্ষণের জন্য একটি URI প্রদান করুন।

Job Type নির্বাচন করুন:

  • সাধারণত "Spark" নির্বাচন করুন।

Job এর অন্য সেটিংস (ঐচ্ছিক):

  • অন্যান্য কনফিগারেশন যেমন, Maximum capacity, Timeout, এবং Worker type সেট করুন।

Next এবং Create:

  • সব তথ্য সঠিকভাবে পূরণ করার পর "Next" ক্লিক করুন এবং "Create" বোতনে ক্লিক করুন।

পদক্ষেপ ৩: ETL Script লেখা

Script Editor:

  • Glue Job তৈরি করার পর, Glue Console-এ স্ক্রিপ্ট এডিটর খুলুন। এখানে আপনি Python বা Scala এ আপনার ETL স্ক্রিপ্ট লিখবেন।

নমুনা ETL Script: নিচে একটি সহজ Python স্ক্রিপ্টের উদাহরণ দেওয়া হলো যা S3 থেকে CSV ফাইল পড়ে এবং সেগুলিকে ডেটাবেসে লোড করে:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job

args = getResolvedOptions(sys.argv, ['JOB_NAME'])
glueContext = GlueContext(SparkContext.getOrCreate())
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)

# Read data from S3
datasource = glueContext.create_dynamic_frame.from_options(
    connection_type="s3",
    connection_options={"paths": ["s3://your-bucket-name/path-to-data/"]},
    format="csv",
    format_options={"withHeader": True}
)

# Transform data (if needed)
transformed_data = ApplyMapping.apply(frame=datasource, mappings=[
    ("column1", "string", "column1", "string"),
    ("column2", "int", "column2", "int")
])

# Write data back to another location or a database
glueContext.write_dynamic_frame.from_options(
    frame=transformed_data,
    connection_type="s3",
    connection_options={"path": "s3://your-bucket-name/output/"},
    format="csv"
)

job.commit()

পদক্ষেপ ৪: Job রান করা

Job রান করার জন্য Console এ ফিরে যান:

  • Glue Console এর Jobs সেকশনে যান এবং আপনার তৈরি করা Job নির্বাচন করুন।

Run Job:

  • Job নির্বাচন করার পর "Run Job" বোতনে ক্লিক করুন।

Job Status মনিটর করুন:

  • Job রান শুরু হলে, আপনি Glue Console-এ Job এর স্টেটাস দেখতে পারবেন। এটি চলতে থাকলে "Running" স্টেটাস দেখাবে এবং সম্পন্ন হলে "Succeeded" দেখাবে।

সারসংক্ষেপ

AWS Glue ETL স্ক্রিপ্ট লেখা এবং Job রান করা একটি সহজ প্রক্রিয়া। Glue Console ব্যবহার করে ETL Job তৈরি করে, Python বা Scala এ স্ক্রিপ্ট লিখে এবং Glue Job রান করে ডেটা সংগ্রহ, প্রস্তুতি এবং সঞ্চয়ের কাজ সম্পন্ন করা যায়। AWS Glue-এর সাহায্যে ডেটার গুণমান এবং বিশ্লেষণের জন্য প্রস্তুতি বাড়াতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...