Я нашел это, которое дало мне обходной путь. Очевидно это не может быть сделано по умолчанию в Python.
В каждом скрипте в папке scripts я начинал с этого кода:
# add to the Python path to import helper functions
import sys
import os
sys.path.append(os.path.abspath('.'))
Легко начать.
Вот FAQ: http://aws.amazon.com/elasticmapreduce/faqs/
И вот Руководство по началу работы: http://docs.amazonwebservices.com/ElasticMapReduce/latest/GettingStartedGuide/
Если у Вас уже есть учетная запись EC2, можно включить MapReduce и иметь пример приложения и работающий меньше чем через 10 минут с помощью Консоли управления AWS.
Я сделал предварительно упакованный пример приложения Для подсчета количества слов, который возвращает количество каждого слова, содержавшегося приблизительно в 20 МБ текста. Можно настроить до 20 экземпляров для выполнения одновременно, хотя я просто использовал 2 экземпляра и задание, завершенное приблизительно за 3 минуты.
Задание возвращается, 300 КБ расположили в алфавитном порядке список слов и как часто каждое слово появляется в демонстрационном корпусе.
Мне действительно нравится этот MapReduce, который задания могут быть записаны в моем выборе Perl, Python, Ruby, PHP, C++, R, или Java. Процесс был безболезненным и простым, и интерфейс дает хорошую обратную связь на состоянии Ваших экземпляров и потока заданий.
Знайте, что, так как AWS взимает в течение целого часа, когда экземпляр создается, и так как экземпляры MapReduce автоматически завершаются в конце потока заданий, стоимость нескольких быстро рабочих потоков заданий может сложить быстро.
Например, если я создам поток заданий, который использует 20 экземпляров и результаты возвратов за 15 минут, и затем повторно выполняет поток заданий еще 3 раза, то я буду обвинен в течение 80 часов машинного времени даже при том, что у меня только было 20 экземпляров, работающих в течение 1 часа.
Это очень удобно, потому что вам не нужно администрировать свой собственный кластер. Вы просто платите за использование, так что я думаю, что это хорошая идея, если у вас есть работа, которая должна выполняться время от времени. Мы запускаем Amazon MapReduce всего раз в месяц, так что для нашего использования это того стоит.
Однако, насколько я могу судить, недостатком Amazon MapReduce является то, что вы не можете сказать, какая операционная система запущена, или даже её версия. Это вызвало у меня проблемы с запуском c++ кода, скомпилированного с g++ 4.44, некоторые образы операционных систем не поддерживают библиотеку cUrl и т.д.
Если вам не нужны специальные библиотеки для вашего случая использования, я бы сказал - вперед.