IOError: [Errno 2] Нет такого файла или каталога при запуске в Flex App Engine - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь запустить конвейер потока данных, который использует файлы python, которые интегрированы с файлом pickle ниже:

dataflow.py

    from stopwords import StopWords
    stopwords = StopWords()
    ...
    data = (pipeline | 'read' >> ReadFromText (gs://some/inputData.txt)      
| 'stopwords' >> beam.Map(lambda x:{'id':x['id'],'text': stopwords.validate(x['text'])}))

stopwords.py

class StopWords:
def __init__ (self):

module_dir = os.path.dirname(__file__)
self.words = pickle.load(open(os.path.join(module_dir, 'model/sw.p'), "rb"))

Как бы то ни было, я обнаружил ошибку:

IOError: [Errno 2] Нет такого файла или каталога: «/usr/local/lib/python2.7/dist-packages/dataflow/model/sw.p'

Я пытаюсь отладить self.words, и он работает гладко. однако, я столкнулся с проблемой, когда я запустил его в задании потока данных облака Google.

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 17 сентября 2018

Ваш класс StopWords пытается загрузить модель (sw.p) из того же каталога, что и файл stopwords.py, но кажется, что модели не были развернуты вместе с вашим кодом.

Возможно, попробуйте поместить файл sw.p, который у вас есть локально, в корзину Google Cloud Storage и вместо этого загрузить его оттуда?

...