IOError:[Errno 2]在Flex App Engine中运行时没有此类文件或目录

问题描述 投票:0回答:1

我尝试运行数据流管道,该管道使用与下面的pickle文件集成的python文件:

data flow.朋友

    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'])}))

stop words.朋友

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,它运行顺利。但是,当我在谷歌云数据流工作中运行它时,它解决了一个问题。

有人可以帮忙吗?

python google-app-engine google-cloud-platform google-cloud-storage apache-beam
1个回答
0
投票

您的StopWords类正在尝试从与sw.p文件相同的目录中加载模型(stopwords.py),但似乎模型尚未与您的代码一起部署。

也许尝试将您在本地使用的sw.p文件放入Google云端存储桶并从那里加载?

© www.soinside.com 2019 - 2024. All rights reserved.