إدارة التبعيات مع تدفق Hadoop؟
-
30-09-2019 - |
سؤال
لدي سؤال سريع للتدفق. إذا كنت أستخدم 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
ومع ذلك ، انظر هذه القضية لتحذير:
نصائح أخرى
إذا كنت تستخدم Dumbo ، يمكنك استخدام -libegg لتوزيع ملفات البيض والتكوين التلقائي لوقت تشغيل Python:
https://github.com/klbostee/dumbo/wiki/short-tutorial#wiki-eggs_and_jarshttps://github.com/klbostee/dumbo/wiki/Configuration-Files
لا تنتمي إلى StackOverflow