অনুযায়ী Hadoop - The Definitive Guide
লজিক্যাল রেকর্ডগুলি যা ফাইলআইনপুট ফর্ম্যাটগুলি সংজ্ঞায়িত করে তা সাধারণত এইচডিএফএস ব্লকগুলিতে ঝরঝরে ফিট করে না। উদাহরণস্বরূপ, একটি টেক্সটইনপুটফর্ম্যাট এর লজিকাল রেকর্ডগুলি লাইন, যা এইচডিএফএসের সীমানা অতিক্রম করবে প্রায়শই বেশি। এটি আপনার প্রোগ্রামের কার্যকারণে কোনও প্রভাব ফেলবে না — লাইনগুলি মিস বা ভাঙা হয়নি, উদাহরণস্বরূপ — তবে এটি সম্পর্কে জানার মতো মূল্য রয়েছে, কারণ এর অর্থ এই যে ডেটা-স্থানীয় মানচিত্র (যা মানচিত্রগুলি একই হোস্টে চলছে তাদের হিসাবে ইনপুট ডেটা) কিছু রিমোট রিড সম্পাদন করবে। এই কারণে সামান্য ওভারহেড সাধারণত তাত্পর্যপূর্ণ নয়।
মনে করুন একটি রেকর্ড রেখা দুটি ব্লক (বি 1 এবং বি 2) জুড়ে বিভক্ত। প্রথম ব্লকের (বি 1) প্রক্রিয়াকরণকারী ম্যাপারটি লক্ষ্য করবে যে শেষ লাইনে কোনও ইওএল বিভাজক নেই এবং পরবর্তী লাইনের ডেটা (বি 2) থেকে বাকী রেখাটি নিয়ে আসে।
দ্বিতীয় ব্লক (বি 2) প্রক্রিয়াকরণকারী কীভাবে নির্ধারণ করে যে প্রথম রেকর্ডটি অসম্পূর্ণ এবং ব্লক (বি 2) এর দ্বিতীয় রেকর্ড থেকে শুরু হওয়া প্রক্রিয়া করা উচিত?
LineReader.readLine
, আমি মনে করি এটি আপনার প্রশ্নের সাথে প্রাসঙ্গিক নয় তবে প্রয়োজনে আরও বিশদ যুক্ত করতে পারে।