পিগ প্রোগ্রামিং: এইচডিএফএস মোডে ইউডিএফ সহ অ্যাপাচি পিগ স্ক্রিপ্ট



পিগ প্রোগ্রামিং: এইচডিএফএস মোডে ইউডিএফ সহ অ্যাপাচি পিগ স্ক্রিপ্ট। এইচডিএফএস মোডে ইউডিএফ দিয়ে অ্যাপাচি পিগ স্ক্রিপ্ট চালানোর জন্য একটি ব্লগ পোস্ট এখানে ...

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

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





এখানে আমরা একটি উদাহরণ নিয়েছি এবং আমরা উভয়ই ইউডিএফ ব্যবহার করেছি (ব্যবহারকারীর সংজ্ঞায়িত ফাংশন) অর্থাত্ আপার ক্ষেত্রে স্ট্রিং তৈরি করে একটি মান গ্রহণ এবং এর শক্তি বাড়ানো।

ডেটাসেট চিত্রিত করা হয়েছে যার নীচে আমরা এই উদাহরণে ব্যবহার করতে যাচ্ছি:



table

আমাদের লক্ষ্য হ'ল উপরের ক্ষেত্রে 1 ম কলাম চিঠি তৈরি করা এবং তৃতীয় কলামের মান সহ 2 র্থ কলামের শক্তি বৃদ্ধি করা।

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



আপার জাজা

আমদানি java.io.IOException আমদানি org.apache.pig.EvalFunc আমদানি org.apache.pig.data.Tuple আমদানি org.apache.pig.impl.util.WrapedIOException @ সাপ্রেস ওয়ার্নিংস ('অবচয়') পাবলিক ক্লাস আপারগুলি পাবলিক ক্লাসের উচ্চতা বাড়ায় { স্ট্রিং এক্সিকিউট (টিপল ইনপুট) আইওএক্সেপশন নিক্ষেপ করে {যদি (ইনপুট == নাল || ইনপুট.সাইজ () == 0) রিটার্ন নাল ট্রাই করুন ring স্ট্রিং টিআর = (স্ট্রিং) ইনপুট। আরআর (ক্যাচ (ব্যতিক্রম ই) {র‌্যাপডআইওএক্সেপশন.ফড়ুন ('ধরা ব্যতিক্রম প্রসেসিং ইনপুট সারি', ই)}}}

পাওয়ার.জভা

আমদানি java.io.IOException আমদানি org.apache.pig.EvalFunc আমদানি org.apache.pig.Pig.data.Tuple সর্বজনীন শ্রেণীর পাও EvalFunc প্রসারিত {পাবলিক লং এক্সিকিউটিভ (টিপল ইনপুট) IOException {চেষ্টা করুন { int বেস = (পূর্ণসংখ্যার) ইনপুট.জিট (0) ইনট এক্সপোজন = (পূর্ণসংখ্যা) ইনপুট.জেট (1) দীর্ঘ ফলাফল = 1 / * সম্ভবত সবচেয়ে দক্ষ পদ্ধতি নয় ... * / ((আইটি আই = 0 আই রেজাল্ট)) {// আমরা উপচে পড়েছি। একটি সতর্কতা দিন, তবে একটি // ব্যতিক্রম নিক্ষেপ করবেন না। সতর্কতা ('ওভারফ্লো!', পিগওয়ার্নিং। টিও_এলআরজি.এফ.আর.পি.) // নাল ফেরানো পিগকে নির্দেশ করবে যে আমরা ব্যর্থ হয়েছি কিন্তু // আমরা কার্যকর করা চালিয়ে যেতে চাই। রিটার্ন নাল}} রিটার্ন রেজাল্ট} ক্যাচ (ব্যাতিকরণ)) {// কোনও ব্যতিক্রম নিক্ষেপ করলে টাস্কটি ব্যর্থ হবে। নতুন আইওএক্সেপশন নিক্ষেপ করুন ('কিছু খারাপ হয়েছে!', ই)}}}

সংকলন ত্রুটিগুলি অপসারণ করতে, আমাদের কনফিগার করতে হবে 4 জার্স আমাদের জাভা প্রকল্পে।


জারগুলি ডাউনলোড করতে ডাউনলোড বোতামে ক্লিক করুন

[বাটনলিডস ফর্ম_ টাইটেল = 'ডাউনলোড কোড' redirect_url = https: //edureka.wistia.com/medias/wtboe1hmkr/download? মিডিয়া_ফাইল_আইডি = 76900193 কোর্স_আইডি = 166 বাটন_টেক্সট = 'জার্স ডাউনলোড করুন']

অগভীর বনাম গভীর অনুলিপি জাভা

এখন, আমরা উভয় জাভা কোডের জন্য জেআর ফাইলগুলি রফতানি করি। জেআর তৈরির জন্য নীচের পদক্ষেপগুলি দয়া করে চেক করুন।

এখানে, আমরা একটি প্রোগ্রামের জন্য দেখিয়েছি, পরের প্রোগ্রামেও একই পদ্ধতিতে এগিয়ে চলুন।

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

আমাদের ডেটাসেটে ক্ষেত্রগুলি কমা (,) দ্বারা পৃথক করা হয়েছে।

পিএইচপি পার্স স্ট্রিং অ্যারে

ফাইলটি সরানোর পরে, আমরা .pig এক্সটেনশন সহ স্ক্রিপ্ট তৈরি করেছি এবং সমস্ত স্ক্রিপ্টটি স্ক্রিপ্ট ফাইলটিতে রেখেছি।

এখন টার্মিনালে, পিআইজি টাইপ করুন যার পরে নিম্নলিখিত চিত্রটিতে প্রদর্শিত স্ক্রিপ্ট ফাইলটির নাম থাকবে:

এখানে, এটি শূকর স্ক্রিপ্ট চালানোর জন্য আউটপুট।

আমাদের জন্য একটি প্রশ্ন আছে? মন্তব্য বিভাগে তাদের উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।

সম্পর্কিত পোস্ট:

অ্যাপাচি পিগে ইউডিএফ তৈরির পদক্ষেপ

অ্যাপাচি হাইভের পরিচিতি