سؤال

لدي سؤال سريع للتدفق. إذا كنت أستخدم Python Streaming ولدي حزم Python التي تتطلبها المخازن/المخفضات ولكن لم يتم تثبيتها بشكل افتراضي ، فهل أحتاج إلى تثبيت جميع آلات Hadoop أيضًا أو هناك نوع من التسلسل الذي يرسلهم إلى الآلات البعيدة؟

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

المحلول

إذا لم يتم تثبيتها على مربعات المهام الخاصة بك ، فيمكنك إرسالها باستخدام File. إذا كنت بحاجة إلى حزمة أو بنية دليل أخرى ، فيمكنك إرسال zipfile ، والتي سيتم تفريغها لك. إليك دعوة 0.17 0.17:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-0.17.0-streaming.jar -mapper mapper.py -reducer reducer.py -input input/foo -output output -file /tmp/foo.py -file /tmp/lib.zip

ومع ذلك ، انظر هذه القضية لتحذير:

https://issues.apache.org/jira/browse/mapreduce-596

نصائح أخرى

إذا كنت تستخدم Dumbo ، يمكنك استخدام -libegg لتوزيع ملفات البيض والتكوين التلقائي لوقت تشغيل Python:

https://github.com/klbostee/dumbo/wiki/short-tutorial#wiki-eggs_and_jarshttps://github.com/klbostee/dumbo/wiki/Configuration-Files

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