【问题标题】:IOError: [Errno 2] No such file or directory when run in Flex App EngineIOError: [Errno 2] 在 Flex App Engine 中运行时没有这样的文件或目录
【发布时间】:2019-02-20 22:41:34
【问题描述】:

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

数据流.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'])}))

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

有人可以帮忙吗?

【问题讨论】:

    标签: python google-app-engine google-cloud-platform google-cloud-storage apache-beam


    【解决方案1】:

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

    也许尝试将您在本地拥有的 sw.p 文件放入 Google Cloud Storage 存储桶并从那里加载?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多