মধুচক্রের অভ্যন্তরীণ সারণী এবং বাহ্যিক সারণীর মধ্যে পার্থক্য?


110

যে কেউ আমায় হাইভের বাহ্যিক সারণী এবং অভ্যন্তরীণ সারণীর মধ্যে পার্থক্য বলতে পারে। আমি জানি টেবিলটি নামানোর সময় পার্থক্য আসে। আপনার ডেটা বলতে কী বোঝায় তা বুঝতে পারছি না এবং মেটাডেটা অভ্যন্তরীণভাবে মুছে ফেলা হবে এবং কেবল মেটাডেটা বাহ্যিক সারণীতে মুছে ফেলা হবে। দয়া করে নোডের ক্ষেত্রে কেউ আমাকে ব্যাখ্যা করতে পারেন।

উত্তর:


117

হাইভের মাস্টার নোডে একটি সম্পর্কিত সম্পর্কিত ডাটাবেস রয়েছে যা এটি রাষ্ট্রের উপর নজর রাখতে ব্যবহার করে। উদাহরণস্বরূপ, আপনি যখন CREATE TABLE FOO(foo string) LOCATION 'hdfs://tmp/';, এই টেবিল স্কিমা ডাটাবেসে সংরক্ষণ করা হয়।

আপনার যদি পার্টিশনযুক্ত টেবিল থাকে, পার্টিশনগুলি ডাটাবেসে সঞ্চিত থাকে (এটি হাইভকে ফাইল-সিস্টেমে না গিয়ে পার্টিশনের তালিকাগুলি ব্যবহার করার অনুমতি দেয়) ইত্যাদি finding এই ধরণের জিনিস হ'ল 'মেটাডেটা'।

আপনি যখন কোনও অভ্যন্তরীণ টেবিলটি ড্রপ করেন, তখন এটি ডেটা ফেলে দেয় এবং এটি মেটাডেটাও ড্রপ করে।

আপনি যখন কোনও বাহ্যিক টেবিলটি ফেলে দেন তখন এটি কেবল মেটা ডেটা ফেলে দেয়। তার অর্থ হুইভ এখন সেই ডেটা সম্পর্কে অজ্ঞ। এটি নিজেই ডেটা স্পর্শ করে না।


ঠিক আছে .. উদাহরণস্বরূপ আমি একটি বাহ্যিক টেবিল তৈরি করেছি .. এবং আমি এটি ফেলে দিই। কি ঘটেছে? আপনি ডেটা স্পর্শ করা হয় না মানে কি? আমি যদি সেই টেবিলের একটি নির্বাচন * দিই তবে তা প্রদর্শিত হবে? আমি পার্থক্য চিত্র করতে সক্ষম নই
ড্র্রুজ

11
আপনি যদি কোনও টেবিলটি ফেলে রাখেন, তবে টেবিলটি ফেলে দেওয়ার আগে হিভ সেই অবস্থানে ফিরে আসে। আপনি foo বাদ দেওয়ার পরে যদি 'কোথাও থেকে বেছে নিন' কোয়েরিটি চালান, তবে মাতালাই আপনাকে বলবে যে সারণির অস্তিত্ব নেই। এর কারণ আপনি এই ছকটিকে ভুলে যেতে মাতালাকে বলেছিলেন। এর আগে যে ফাইল ফাইল সিস্টেম ছিল তাতে ডেটা এখনও বিদ্যমান। মেটাডাটাটি ডেটা কোথায় রয়েছে তার একটি 'পয়েন্টার' হিসাবে ভাবেন।
প্রিস্টোমেশন

1
সুতরাং আপনি বলছেন যে আমার কাছে ডিস লোকেশন অপ্ট / ন্যান্সি / foo.txt ডেটা আছে এবং আমি এটি বাহ্যিক টেবিলে লোড করে এটিকে ফেলে দিই, মেটাডাটাটি হারিয়ে গেছে তবে এই অবস্থানের ডাটা অপ্ট / ন্যান্সি / foo.txt রয়ে গেছে?
ড্র্রুজ

ঠিক আছে, এখন এই অবস্থানটি কি এইচডিএফএস বা আমার স্থানীয় সিস্টেমে? যদি এটি স্থানীয় সিস্টেমে থাকে, আমি যখন কোনও অভ্যন্তরীণ টেবিলের মধ্যে ডেটা লোড করি এবং টেবিলটি ফেলে দিই তবে foo.txt ফাইলটি সেই স্থানে থাকবে। আমি এখন পর্যন্ত ঠিক আছি?
ড্র্রুজ

3
এইচআইভি টেবিলগুলি একটি সমর্থিত ফাইল সিস্টেমে রয়েছে (এইচবিএস, এইচডিএফএস, এস 3, ইত্যাদি)। আমি ধরে নিচ্ছি আপনি কোনও স্থানীয় ফাইল থেকে একটি মাতালকের টেবিলে ডেটা লোড করতে "লোড ডেটা" ব্যবহার করছেন? এই ক্ষেত্রে, আপনি স্থানীয় ফাইলটিকে একটি মাতালকের টেবিলের মধ্যে অনুলিপি করছেন। আপনি যখন এই টেবিলটি ফেলে দিবেন, অভ্যন্তরীণ সারণীতে থাকা ডেটার অনুলিপিটি মুছে ফেলা হবে, তবে "LOAD ডেটা" কমান্ডের উত্স ফাইলটি এখনও অক্ষত থাকবে।
প্রিস্টোমেশন

100

মৌচাকের টেবিলগুলি বহিরাগত বা অভ্যন্তরীণ হিসাবে তৈরি করা যেতে পারে। এটি এমন একটি পছন্দ যা ডেটা লোড, নিয়ন্ত্রণ এবং পরিচালিত হয় managed

বহিরাগত সারণী ব্যবহার করুন যখন:

  1. এই তথ্যটি হিভের বাইরেও ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি বিদ্যমান প্রোগ্রাম দ্বারা ডেটা ফাইলগুলি পড়া এবং প্রক্রিয়া করা হয় যা ফাইলগুলি লক করে না।
  2. ড্রপ টেবিলের পরেও ডেটা অন্তর্নিহিত স্থানে থাকা দরকার। আপনি যদি একক ডেটা সেটে একাধিক স্কিমা (সারণী বা দৃষ্টিভঙ্গি) নির্দেশ করছেন বা আপনি বিভিন্ন সম্ভাব্য স্কিমার মাধ্যমে পুনরাবৃত্তি করছেন তবে এটি প্রয়োগ করতে পারে।
  3. আপনি একটি কাস্টম অবস্থান যেমন ASV ব্যবহার করতে চান।
  4. মৌচাকের ডেটা এবং নিয়ন্ত্রণ সেটিংস, ডায়ার ইত্যাদির মালিক হওয়া উচিত নয়, আপনার অন্য একটি প্রোগ্রাম বা প্রক্রিয়া রয়েছে যা এই জিনিসগুলি করবে।
  5. আপনি বিদ্যমান টেবিলের ভিত্তিতে সারণী তৈরি করছেন না (AS নির্বাচন করুন)।

অভ্যন্তরীণ সারণীগুলি ব্যবহার করুন যখন:

তথ্য অস্থায়ী।

আপনি চাইছেন যে হিভ পুরোপুরি সারণী এবং ডেটাটির জীবনচক্র পরিচালনা করতে পারে।



কোনও ইন্টারন্যাল টেবিল তৈরি করা এইচডিএফএস থেকে ডেটা মুছে ফেলবে বা এটি একটি অনুলিপি তৈরি করে এবং উত্স (এইচডিএফএস) অক্ষত রেখে মধুচক্রের জন্য একচেটিয়াভাবে ব্যবহার করে?
29:38 এ ভাগ্যক্রমে

@ সোয়েথা হাই, আমি এখানে এসেছি কারণ আমি metastore.db সম্পূর্ণ মুছে ফেলেছি কিন্তু ডেটা এইচডিএফএসে রয়েছে remains সুতরাং আমি যখন টেবিলগুলি প্রদর্শন করি তখন কিছুই দেখানো হয় না। মেটাডেটা পুনরায় তৈরি করার কোনও উপায় আছে?
awadhesh14

46

আপনার উত্তর দিতে প্রশ্ন:

বাহ্যিক টেবিলগুলির জন্য, Hive টেবিল তৈরির সময় নির্দিষ্ট করা LOCATION এ ডেটা সঞ্চয় করে (সাধারণত গুদাম ডিরেক্টরিতে নয়)। যদি বাহ্যিক টেবিলটি বাদ দেওয়া হয়, তবে সারণী মেটাডেটা মুছে ফেলা হবে তবে ডেটা নয়।

অভ্যন্তরীণ সারণীগুলির জন্য, Hive এর গুদাম ডিরেক্টরিতে ডেটা সঞ্চয় করে। যদি টেবিলটি বাদ দেওয়া হয় তবে টেবিল মেটাডেটা এবং ডেটা উভয়ই মুছে ফেলা হবে।


আপনার রেফারেন্সের জন্য,

অভ্যন্তরীণ এবং বাহ্যিক সারণীর মধ্যে পার্থক্য:

বাহ্যিক টেবিলগুলির জন্য -

  • বাহ্যিক টেবিলগুলি এইচডিএফএস সার্ভারে ফাইল সঞ্চয় করে তবে টেবিলগুলি উত্স ফাইলে সম্পূর্ণ লিঙ্কযুক্ত নয়।

  • আপনি যদি কোনও বাহ্যিক সারণী মুছেন তবে ফাইলটি এখনও এইচডিএফএস সার্ভারে রয়েছে।

    উদাহরণস্বরূপ যদি আপনি এইচআইভি -কিউএল ব্যবহার করে এইচআইভিতে "টেবিল_স্টেস্ট" নামে একটি বাহ্যিক টেবিল তৈরি করেন এবং টেবিলটিকে " ফাইল " ফাইলের সাথে সংযুক্ত করেন , তবে এইচআইভি থেকে "টেবিল_স্টেস্ট" মোছা "এইচডিএফএস" থেকে "ফাইল" মুছবে না

  • এইচডিএফএস ফাইল কাঠামোর অ্যাক্সেস রয়েছে এমন যে কোনও ব্যক্তির পক্ষে বাহ্যিক টেবিল ফাইল অ্যাক্সেসযোগ্য এবং তাই সুরক্ষাটি এইচডিএফএস ফাইল / ফোল্ডার স্তরে পরিচালনা করা দরকার।

  • মেটা ডেটা মাস্টার নোডে রক্ষণাবেক্ষণ করা হয় এবং এইচআইভি থেকে কোনও বাহ্যিক টেবিল মুছে ফেলা কেবল ডেটা / ফাইল নয় মেটাডেটা মুছে দেয়।


অভ্যন্তরীণ টেবিলগুলির জন্য-

  • সেটিংস উপর ভিত্তি করে একটি ডিরেক্টরির মধ্যে সংরক্ষিত hive.metastore.warehouse.dir, ডিফল্ট অভ্যন্তরীণ টেবিল দ্বারা সংরক্ষণ করা হয় নিম্নলিখিত ডিরেক্টরির মধ্যে "/ ব্যবহারকারী / মধুচক্র / গুদাম" আপনি কনফিগ ফাইলে অবস্থান আপডেট করে এটি বদলাতে পারেন।
  • সারণী মোছা হ'ল যথাক্রমে মাস্টার-নোড এবং এইচডিএফএস থেকে মেটাডেটা এবং ডেটা মুছে দেয়।
  • অভ্যন্তরীণ সারণী ফাইল সুরক্ষা কেবলমাত্র এইচআইভির মাধ্যমে নিয়ন্ত্রণ করা হয়। সুরক্ষা HIVE এর মধ্যে পরিচালনা করা দরকার সম্ভবত স্কিমা স্তরে (সংস্থার উপর নির্ভর করে) depends

মধুদের অভ্যন্তরীণ বা বাহ্যিক সারণী থাকতে পারে, এটি এমন একটি পছন্দ যা ডেটা কীভাবে লোড, নিয়ন্ত্রণ এবং পরিচালনা করা হয় তা প্রভাবিত করে।

বহিরাগত সারণী ব্যবহার করুন যখন:

  • এই তথ্যটি হিভের বাইরেও ব্যবহৃত হয় । উদাহরণস্বরূপ, একটি বিদ্যমান প্রোগ্রাম দ্বারা ডেটা ফাইলগুলি পড়া এবং প্রক্রিয়া করা হয় যা ফাইলগুলি লক করে না।
  • ড্রপ টেবিলের পরেও ডেটা অন্তর্নিহিত স্থানে থাকা দরকার। আপনি যদি একক ডেটা সেটে একাধিক স্কিমা (সারণী বা দৃষ্টিভঙ্গি) নির্দেশ করে থাকেন বা আপনি যদি বিভিন্ন সম্ভাব্য স্কিমার মাধ্যমে পুনরাবৃত্তি করছেন তবে এটি প্রয়োগ করতে পারে।
  • মৌচাকের ডেটা এবং নিয়ন্ত্রণ সেটিংস, ডিরেক্টরি ইত্যাদির মালিক হওয়া উচিত নয় , আপনার অন্য কোনও প্রোগ্রাম বা প্রক্রিয়া থাকতে পারে যা এই জিনিসগুলি করবে।
  • আপনি বিদ্যমান টেবিলের ভিত্তিতে সারণী তৈরি করছেন না (AS নির্বাচন করুন)।

অভ্যন্তরীণ সারণীগুলি ব্যবহার করুন যখন:

  • তথ্য সাময়িক
  • আপনি চাইছেন যে হিভ পুরোপুরি সারণী এবং ডেটাটির জীবনচক্রটি পরিচালনা করে

উৎস :

এইচডি ইনসাইট: মধু অভ্যন্তরীণ এবং বহিরাগত টেবিলগুলি অন্তর্ভুক্ত

হ্যাডোপ-এইচআইভিতে অভ্যন্তরীণ এবং বাহ্যিক সারণী


1
@ ক্যাপচারড ট্রি কিন্তু উত্তরটি সঠিক নয়। "এইচআইভি তার গুদাম ডিরেক্টরিতে ডেটা স্থানান্তর করে" "এটি সম্পূর্ণ ভুল, এটি হয় না does টেবিলের স্থানে ডেটা সংরক্ষণ করা হচ্ছে। বাহ্যিক বা পরিচালিত কোনও বিষয় নয়।
বামজয়াইন

6

একটি অভ্যন্তরীণ টেবিল ডেটা গুদাম ফোল্ডারে সংরক্ষণ করা হয়, যেখানে আপনি টেবিল তৈরির ক্ষেত্রে উল্লিখিত স্থানে একটি বাহ্যিক টেবিল ডেটা সংরক্ষণ করা হয়।

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

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


4

আমার এখন পর্যন্ত সীমিত গবেষণা এবং পরীক্ষার উপর ভিত্তি করে আচরণের (পার্থক্যযুক্ত ব্যবহারের নয়) পার্থক্য (হাইভ ১.১.০ -cd5.12.0 ব্যবহার করে) মনে হয় যখন কোনও টেবিল বাদ দেওয়া হয়

  • অভ্যন্তরীণ (পরিচালিত) সারণীগুলির ডেটা এইচডিএফএস ফাইল সিস্টেম থেকে মুছে ফেলা হয়
  • যখন বাহ্যিক সারণীগুলির ডেটা এইচডিএফএস ফাইল সিস্টেম থেকে মুছে ফেলা হয় না।

(দ্রষ্টব্য: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL এ বিভাগ 'পরিচালিত এবং বাহ্যিক সারণীসমূহ' দেখুন যা আমি সম্পূর্ণরূপে বুঝতে পারি নি এমন আরও কিছু পার্থক্য তালিকাভুক্ত করে)

আমি বিশ্বাস করি যে নীচটি নীচ থেকে নীচে নীচের অগ্রাধিকারের ভিত্তিতে সারণি তৈরি করা দরকার যেখানে সেই অবস্থানটি চয়ন করে

  1. সারণী তৈরির সময় অবস্থান নির্ধারিত
  2. ডাটাবেস / স্কিমা তৈরির ক্ষেত্রে অবস্থান নির্ধারণ করা হয়েছে যেখানে সারণীটি তৈরি করা হয়েছে।
  3. ডিফল্ট এইচআইভি গুদাম ডিরেক্টরি (hive.site.xML এ সম্পত্তি hive.metastore.warehouse.dir)

"হাইভ টেবিল তৈরি করার সময়" যখন "অবস্থান" বিকল্পটি ব্যবহার করা হয় না, তখন উপরের অগ্রাধিকার নিয়ম ব্যবহার করা হয়। এটি অভ্যন্তরীণ এবং বাহ্যিক উভয় টেবিলের জন্য প্রযোজ্য। এর অর্থ একটি অভ্যন্তরীণ টেবিলটি অবশ্যই গুদাম ডিরেক্টরিতে থাকতে হবে না এবং অন্য যে কোনও জায়গায় থাকতে পারে।

দ্রষ্টব্য: আমি হয়ত কিছু পরিস্থিতি মিস করেছি, তবে আমার সীমাবদ্ধ অন্বেষণের ভিত্তিতে অভ্যন্তরীণ এবং এক্সটেনাল উভয় সারণীর আচরণ উপরে বর্ণিত একটি পার্থক্য (ডেটা মোছা) বাদে একই বলে মনে হচ্ছে। আমি অভ্যন্তরীণ এবং বাহ্যিক উভয় টেবিলের জন্য নিম্নলিখিত পরিস্থিতিতে চেষ্টা করেছি।

  1. অবস্থান বিকল্পের সাথে এবং ছাড়াই সারণী তৈরি করা
  2. পার্টিশন অপশন সহ এবং ছাড়াই টেবিল তৈরি করা
  3. হাইভ লোড এবং সন্নিবেশ বিবৃতিগুলি ব্যবহার করে নতুন ডেটা যুক্ত করা হচ্ছে
  4. হাইভের বাইরে টেবিলের স্থানে ডেটা ফাইল যুক্ত করা (এইচডিএফএস কমান্ড ব্যবহার করে) এবং "এমএসসিকে মেরামত টেবিল কমান্ড" ব্যবহার করে টেবিলটি রিফ্রেশ করা হচ্ছে
  5. টেবিলগুলি বাদ দেওয়া হচ্ছে

সুন্দর অন্বেষণ এই একমাত্র উত্তরটি ব্যাখ্যা করে যে কীভাবে মুরগি অভ্যন্তরীণ এবং বাহ্যিক সারণীর জন্য অবস্থান বিকল্পটি পরিচালনা করে।
d2207197

3

বাহ্যিক টেবিলগুলিতে, যদি আপনি এটিকে ফেলে দেন তবে এটি কেবল টেবিলের স্কিমা মুছে দেয়, টেবিলের ডেটা শারীরিক অবস্থানে বিদ্যমান। সুতরাং ডেটা মোছার জন্য হ্যাডোপ এফএস ব্যবহার করুন - আরএমআর টেবিল নাম। পরিচালিত টেবিল মুরগীর টেবিলগুলিতে পুরো নিয়ন্ত্রণ থাকবে। বাহ্যিক সারণিতে ব্যবহারকারীদের এটির নিয়ন্ত্রণ থাকবে control


আমি এমন পরিস্থিতির মুখোমুখি হচ্ছি যেখানে ক্রিয়েট টেবিল ফু (আইডি আইএনটি) এর মাধ্যমে তৈরি কোনও অভ্যন্তরীণ টেবিলে ড্রপ টেবিলের পরে ডিরেক্টরিটি সর্বদা মুছে ফেলা হয় না। মেটাডেটা দৃশ্যত ঠিক আছে কারণ শো টেবিলগুলি সামঞ্জস্যপূর্ণ - টেবিলটি বাদ পড়ার পরে তালিকায় উপস্থিত হয় না। বিভ্রান্তিমূলকভাবে, আমি লক্ষ্য করেছি যে দিরটি কখনও কখনও মুছে ফেলা হয় / তবে আমি ধারাবাহিকভাবে এটি পুনরায় তৈরি করতে পারি না। কোন ধারনা?
ম্যাথু কর্নেল

টেবিলগুলির অনুমতি চেক করা হয়? আপনি এইচডিএফএসে অবস্থানটির মালিকানা কিছু আলাদা ব্যবহারকারীর কাছে পরিবর্তন করতে পারেন।
মিলিন্দ জিন্দাল

1

অভ্যন্তরীণ সারণীগুলি দরকারী যদি আপনি হিভকে মুছে ফেলা সহ আপনার ডেটার সম্পূর্ণ জীবনচক্র পরিচালনা করতে চান তবে হিভের বাইরে ফাইলগুলি ব্যবহার করা হলে বাহ্যিক সারণীগুলি কার্যকর হয় are


1

বাহ্যিক পোষাকের টেবিলের সুবিধাগুলি রয়েছে যে যখন আমরা টেবিলগুলি ড্রপ করি তখন এটি ফাইলগুলি সরিয়ে দেয় না, আমরা সেরেডের মতো বিভিন্ন সেটিংস সহ সারি বিন্যাসগুলি সেট করতে পারি ....


1

এছাড়াও মনে রাখবেন যে হিভ একটি বড় ডেটা গুদাম। আপনি যখন কোনও টেবিলটি ফেলে দিতে চান তখন আপনি গিগাবাইট বা টেরাবাইট ডেটা হারাতে চান না। সেই স্কেলে ডেটা তৈরি করা, স্থানান্তর করা এবং অনুলিপি করা সময় সাপেক্ষ হতে পারে। আপনি যখন কোনও 'পরিচালিত' টেবিল মধুচক্র ফেলে দেবেন তখন এর ডেটাও ট্র্যাশ হয়ে যাবে। আপনি যখন কোনও 'বহিরাগত' টেবিলটি ফেলে দেন কেবলমাত্র মাইভ মেটা-স্টোর থেকে স্কিমা সংজ্ঞাটি সরানো হয়। এইচডিএফএসের ডেটা এখনও রয়ে গেছে।


1

এই দৃশ্যের বিষয়টি বিবেচনা করুন যা বাহ্যিক সারণীর জন্য সবচেয়ে উপযুক্ত:

একটি মানচিত্রে (এমআর) কাজ nসাব লগ ফাইলগুলি স্পিট আউট করার জন্য একটি বিশাল লগ ফাইল ফিল্টার করে (যেমন প্রতিটি সাব লগ ফাইলটিতে একটি নির্দিষ্ট বার্তার প্রকারের লগ থাকে) এবং আউটপুট অর্থাৎ nসাব লগ ফাইলগুলি এইচডিএফএসে সংরক্ষণ করা হয়।

এই লগ ফাইলগুলি আরও বিশ্লেষণ সম্পাদন করার জন্য এইচআইভি টেবিলগুলিতে লোড করা উচিত, এই পরিস্থিতিতে আমি একটি বাহ্যিক সারণি (গুলি) প্রস্তাব করব, কারণ আসল লগ ফাইলগুলি বাহ্যিক প্রক্রিয়া দ্বারা উত্পাদিত এবং মালিকানাযুক্ত অর্থাৎ একটি এমআর জব ছাড়াও আপনি এড়াতে পারবেন প্রতিটি উত্পন্ন লগ ফাইলকে নিজ নিজ মাতাল টেবিলের মধ্যে লোড করার অতিরিক্ত পদক্ষেপ।


1

হাইভের বাইরের টেবিলের জন্য সর্বোত্তম ব্যবহারের ক্ষেত্রে হ'ল আপনি যখন CSV বা পাঠ্য কোনও ফাইল থেকে টেবিলটি তৈরি করতে চান


0

এইচআইভি কেবলমাত্র মেটাস্টোরের মেটা ডেটা এবং মুরগির বাইরে দিকের মূল ডেটা সংরক্ষণ করে যখন আমরা বাহ্যিক টেবিল ব্যবহার করি তখন আমরা আমাদের মূল ডেটা দ্বারা টেবিলটি ফেলে দিই না তবে আমাদের মূল ডেটা অভ্যাস দ্বারা স্থান দিতে পারি we


0

যখন এইচডিএফএসে ইতিমধ্যে ডেটা রয়েছে তখন ডেটা বর্ণনা করার জন্য একটি বাহ্যিক এইচাইভ টেবিল তৈরি করা যেতে পারে। এটিকে বহিরাগত বলা হয় কারণ বাহ্যিক সারণীতে থাকা ডেটা ডিফল্ট গুদাম ডিরেক্টরি পরিবর্তে LOCATION বৈশিষ্ট্যে নির্দিষ্ট করা থাকে।

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


0

পরিচালিত টেবিলগুলির জন্য, Hive তাদের ডেটাটির জীবনচক্র নিয়ন্ত্রণ করে। মৌলিকভাবে hive.metastore.warehouse.dir দ্বারা সংজ্ঞায়িত ডিরেক্টরি অধীনে একটি উপ-ডিরেক্টরিতে পরিচালিত টেবিলগুলির জন্য ডেভ সঞ্চয় করে ive

আমরা যখন কোনও পরিচালিত টেবিলটি ফেলে দিই, তখন হিভ টেবিলের ডেটা মুছে দেয় ut তবে পরিচালিত টেবিলগুলি অন্য সরঞ্জামগুলির সাথে ভাগ করার জন্য কম সুবিধাজনক। উদাহরণস্বরূপ, আসুন আমরা বলতে পারি যে আমাদের কাছে এমন ডেটা রয়েছে যা প্রাথমিকভাবে পিগ তৈরি এবং ব্যবহার করে থাকে তবে আমরা এর বিরুদ্ধে কিছু অনুসন্ধান চালাতে চাই, তবে ডেভটিকে হাইভকে দেই না।

সেই সময়ে, বাহ্যিক সারণিটি সংজ্ঞায়িত করা হয় যা সেই ডেটাতে নির্দেশ করে, তবে এর মালিকানা নেয় না।


0

অভ্যন্তরীণ : ছক তৈরি করা হয় প্রথম এবং ডেটা লোড হয় পরে

বহিস্থিত : ডেটা হল বর্তমান এবং টেবিল করা হয় উপরে নির্মিত এটি।


0

হাইভে আমরা একটি বাহ্যিক সারণীও তৈরি করতে পারি। এটি হাইভকে গুদাম ডিরেক্টরিগুলির বাইরে বিদ্যমান অবস্থানে থাকা ডেটা উল্লেখ করতে বলে। বাহ্যিক টেবিলগুলি বাদ দেওয়ার ফলে মেটাডেটা মুছে যাবে তবে ডেটা নয়।


0

আমি এটি যোগ করতে চাই

  1. অভ্যন্তরীণ সারণীগুলি ব্যবহার করা হয় যখন ডেটা আপডেট করার প্রয়োজন হয় বা কিছু সারি মুছে ফেলা প্রয়োজন কারণ এসিআইডি বৈশিষ্ট্যগুলি অভ্যন্তরীণ টেবিলগুলিতে সমর্থিত হতে পারে তবে এসিআইডি বৈশিষ্ট্যগুলি বাহ্যিক টেবিলগুলিতে সমর্থন করা যায় না।
  2. দয়া করে নিশ্চিত করুন যে অভ্যন্তরীণ সারণীতে ডেটার একটি ব্যাকআপ রয়েছে কারণ যদি কোনও অভ্যন্তরীণ সারণী বাদ পড়ে যায় তবে ডেটাও নষ্ট হয়ে যাবে।

-2

সহজ কথায় দুটি জিনিস রয়েছে:

Hive গুদামে জিনিস পরিচালনা করতে পারে অর্থাত্ এটি গুদামের বাইরে থাকা ডেটা মুছবে না। যখন আমরা টেবিলটি মুছি:

1) অভ্যন্তরীণ টেবিলগুলির জন্য ডেটা গুদামে অভ্যন্তরীণভাবে পরিচালিত হয়। তাই মুছে ফেলা হবে।

2) বাহ্যিক টেবিলের জন্য ডেটা গুদাম থেকে চিরন্তন পরিচালিত হয়। সুতরাং মুছা যায় না এবং মুরগির অন্যান্য ক্লায়েন্টরাও এটি ব্যবহার করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.