كيفية استخدام خريطة كاساندرا تقلل مع أو ث/س خنزير؟

StackOverflow https://stackoverflow.com/questions/2734005

  •  02-10-2019
  •  | 
  •  

سؤال

هل يمكن لأحد أن يشرح كيف يعمل MapReduce مع Cassandra .6؟ لقد قرأت من خلال مثال عدد الكلمات ، لكنني لا أتابع ما يحدث في نهاية كاساندرا نهاية مقابل "العميل".

https://svn.apache.org/repos/asf/cassandra/trunk/contrib/word_count/

على سبيل المثال ، لنفترض أنني أستخدم Python و Pycassa ، كيف يمكنني تحميل وظيفة تقليل الخريطة الجديدة ، ثم أسميها؟ هل يجب أن تكون وظيفة تقليل خريطتي هي Java مثبتة على خادم Cassandra؟ إذا كان الأمر كذلك ، كيف أسميها من بيكاسا؟

هناك أيضًا ذكر للخنازير التي تجعل هذا كل شيء أسهل ، لكنني لم يساعد ذلك حقًا.

يمكن أن تستخدم إجابتك التوفير أو أي شيء آخر ، لقد ذكرت للتو Pycassa للدلالة على جانب العميل. أحاول فقط فهم الفرق بين ما يعمل في مجموعة كاساندرا مقابل الخادم الفعلي الذي يقدم الطلبات.

هل كانت مفيدة؟

المحلول

من ما سمعت (ومن هنا) ، الطريقة التي يكتب بها المطور برنامج MapReduce الذي يستخدم Cassandra كمصدر للبيانات كما يلي. يمكنك كتابة برنامج MapReduce منتظم (المثال الذي ربطته IS للحصول على إصدار Pure-Java) والجرار المتوفرة الآن توفر CustomInputFormat يسمح لمصدر الإدخال بأن يكون Cassandra (بدلاً من الافتراضي ، وهو Hadoop).

إذا كنت تستخدم Pycassa ، فأنا أقول إنك محظوظًا حتى (1) يضيف مشرف هذا المشروع دعمًا لـ MapReduce أو (2) ترمي بعض وظائف Python معًا التي تكتب برنامج Java MapReduce وتشغيله . هذا الأخير هو بالتأكيد جزء من الاختراق ولكنه سوف يستيقظك وتذهب.

نصائح أخرى

يعرف عن المنطقة ؛ يتجاوز Cassandra InportFormat getLocations () للحفاظ على موقع البيانات

إن الفوز باستخدام إدخال مباشر من Cassandra هو أنه يقوم بتدفق البيانات بكفاءة ، وهو فوز كبير جدًا. يغطي كل تقسيم المدخلات مجموعة من الرموز المميزة وينطلق من القرص في النطاق الترددي الكامل: لا تسعى ، لا استعلام معقد. لا أعتقد أن هذا يعرف عن الموقع - لجعل كل TaskTracker يفضل انقسامات الإدخال من عملية كاساندرا على نفس العقدة.

يمكنك محاولة استخدام Pig باستخدام طريقة الدفق كاختراق حتى يتم وضع المزيد من دعم دفق Hadoop المباشر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top