কম্পিউটার

AWS গ্লু ডেটা ক্যাটালগ থেকে ডাটাবেসের টেবিল সংজ্ঞা পেতে Boto3 কীভাবে ব্যবহার করবেন?


সমস্যা বিবৃতি − ডাটাবেসের টেবিল সংজ্ঞা পুনরুদ্ধার করতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন।

উদাহরণ − একটি ডাটাবেস 'QA-পরীক্ষা' এবং 'নিরাপত্তা' হিসাবে টেবিলের সারণী সংজ্ঞা পুনরুদ্ধার করুন৷

এই সমস্যা সমাধানের জন্য অ্যাপ্রোচ/অ্যালগরিদম

ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷

ধাপ 2ডাটাবেস_নাম এবং টেবিল_নাম বাধ্যতামূলক পরামিতি। এটি প্রদত্ত টেবিলের সংজ্ঞা নিয়ে আসে।

ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন। অঞ্চলের_নাম নিশ্চিত করুন ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।

পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷

ধাপ 5 − এখন get_table ফাংশন ব্যবহার করুন এবং database_name পাস করুন DatabaseName এবং table_name হিসাবে নামের প্যারামিটার হিসাবে।

ধাপ 6 - এটি একটি প্রদত্ত টেবিলের সংজ্ঞা প্রদান করে। যদি টেবিলের একাধিক সংস্করণ থাকে তবে এটি সর্বদা টেবিলের বর্তমান / সর্বশেষ সংস্করণ থেকে বিশদ সংগ্রহ করে৷

পদক্ষেপ 7 − কাজ চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।

উদাহরণ

একটি ডাটাবেসের সারণী সংজ্ঞা পুনরুদ্ধার করতে নিম্নলিখিত কোডটি ব্যবহার করুন −

 boto3from botocore.exceptions import ClientErrordef retrieves_table_details(database_name, table_name) session =boto3.session.Session() glue_client =session.client('glue') চেষ্টা করুন:প্রতিক্রিয়া =glue_client.get_name=Data_beable name(Naabaseable name=Data_client. ) ই হিসাবে ClientError ব্যতীত প্রতিক্রিয়া ফেরত দিন:raise Exception("boto3 ক্লায়েন্ট এরর in retrieves_table_details:" + e.__str__()) ব্যতিক্রম ছাড়া e হিসাবে:raise Exception("retrieves_table_details এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())মুদ্রণ( retrieves_table_details('QA-পরীক্ষা', 'নিরাপত্তা'))

আউটপুট

{'টেবিল':{'নাম':'নিরাপত্তা', 'ডেটাবেসের নাম':'QA-পরীক্ষা', 'মালিক':'মালিক', 'ক্রিয়েটটাইম':datetime.datetime(2020, 9, 10, 22 , 27, 24,tzinfo=tzlocal()), 'UpdateTime':datetime.datetime(2021, 2, 28, 10, 37,33, tzinfo=tzlocal()), 'LastAccessTime':datetime.datetime(2020, 9 , 10,22, 27, 24, tzinfo=tzlocal()), 'ধারণ':0, 'StorageDescriptor':{'Columns':[{'Name':'assettypecode', 'Type':'string'}, {'Name':'industrysector', 'Type':'string'}, {'Name':'securitycode', 'Type':'char'}, {'Name':'contractsize', 'Type':' string'}, {'Name':'conversionperiodenddate', 'Type':'string'}, {'Name':'conversionperiodstartdate', 'Type':'string'}, {'Name':'expirationdate', ' Type':'string'}, {'Name':'issuercountrycode', 'Type':'string'}, {'Name':'issuercountrydesc', 'Type':'string'},{'Name':' originalissuedate', 'Type':'string'}, {'Name':'securitynamelong', 'Type':'string'}, {'Name':'issueshortname', 'Type':'string'}, {' নাম':'gicssector', 'Type':'string'}, {'Name':'maturitydate', 'Type':' string'}, {'Name':'optioncode', 'Type':'string'}, {'Name':'optiontypename', 'Type':'string'}, {'Name':'paramount', ' Type':'string'}, {'Name':'priceindex', 'Type':'string'}, {'Name':'countrycoderisk', 'Type':'string'}, {'Name':' countrydescrisk', 'Type':'string'}, {'Name':'countrycode', 'Type':'string'}], 'Location':'s3://test/security/', 'InputFormat':'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat','OutputFormat':'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat','সংকুচিত':False, 'Number' -1, 'SerdeInfo':{'SerializationLibrary':'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe', 'প্যারামিটার':{'serialization.format':'1'}}, ' BucketColumns':[], 'SortColumns':[], 'প্যারামিটার':{'CrawlerSchemaDeserializerVersion':'1.0', 'CrawlerSchemaSerializerVersion':'1.0', 'UPDATED_BY_CRAWLER':'d81curage':'d 'শ্রেণীবিভাগ':'parquet', 'compressionType':'none', 'objectCount':'5', 'recordCount':'154800', 'sizeKey ':'20337230', 'typeOfData':'file'}, 'StoredAsSubDirectories':False}, 'PartitionKeys':[], 'TableType':'EXTERNAL_TABLE', 'প্যারামিটার':{'CrawlerSchemaDesion':'1. 'CrawlerSchemaSerializerVersion':'1.0', 'UPDATED_BY_CRAWLER':'security', 'averageRecordSize':'181', 'classification':'parquet', 'compressionType':'none', 'objectCount':'5dCountre' ':'154800', 'sizeKey':'20337230', 'typeOfData':'file'}, 'CreatedBy':'arn:aws:sts::************:অনুমান করা হয়েছে- role/glue-role/AWS-Crawler'},'ResponseMetadata':{'RequestId':'4c108dd5-***************76ac', 'HTTPStatusCode':200, 'HTTPHeaders ':{'date':'Mon, 01 Mar 202106:04:58 GMT', 'content-type':'application/x-amz-json-1.1', 'contentlength':'3882', 'connection':'কিপ-এলাইভ', 'x-amzn-requestid':'4c108dd5-********************676ac'}, 'RetryAttempts':0}} 
  1. AWS গ্লু ডেটা ক্যাটালগ থেকে টেবিলের একটি নির্দিষ্ট সংস্করণ মুছতে Boto3 কীভাবে ব্যবহার করবেন?

  2. AWS গ্লু ডেটা ক্যাটালগ থেকে একটি টেবিল মুছতে Boto3 কীভাবে ব্যবহার করবেন?

  3. AWS ডেটা ক্যাটালগ থেকে একটি ডাটাবেস মুছতে Boto3 কীভাবে ব্যবহার করবেন?

  4. AWS গ্লু ডেটা ক্যাটালগ থেকে একটি ক্রলার মুছতে Boto3 কীভাবে ব্যবহার করবেন?