Amazon web services 从Sagemaker笔记本访问S3中的bz2文件

Amazon web services 从Sagemaker笔记本访问S3中的bz2文件,amazon-web-services,amazon-s3,amazon-sagemaker,Amazon Web Services,Amazon S3,Amazon Sagemaker,我能够从Sagemaker笔记本读取csv文件并将其写入S3 bucket,但当尝试使用csv文件中使用的路径方法读取bz2文件时,我得到的错误是没有文件或目录 IOErrorTraceback (most recent call last) <ipython-input-19-d14d47a702e1> in <module>() 2 # Create corpus 3 #%time wiki = WikiCorpus("resources/ar

我能够从Sagemaker笔记本读取csv文件并将其写入S3 bucket,但当尝试使用csv文件中使用的路径方法读取bz2文件时,我得到的错误是没有文件或目录

IOErrorTraceback (most recent call last)
<ipython-input-19-d14d47a702e1> in <module>()
      2 # Create corpus
      3 #%time wiki = WikiCorpus("resources/articles1.xml.bz2", tokenizer_func=spacy_tokenize)
----> 4 wiki = WikiCorpus("s3://sagemakerq/enwiki.xml.bz2", tokenizer_func=spacy_tokenize)

/home/ec2-user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/wikicorpus.pyc in __init__(self, fname, processes, lemmatize, dictionary, filter_namespaces, tokenizer_func, article_min_tokens, token_min_len, token_max_len, lower, filter_articles)
    634 
    635         if dictionary is None:
--> 636             self.dictionary = Dictionary(self.get_texts())
    637         else:
    638             self.dictionary = dictionary

/home/ec2-user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/dictionary.pyc in __init__(self, documents, prune_at)
     82 
     83         if documents is not None:
---> 84             self.add_documents(documents, prune_at=prune_at)
     85 
     86     def __getitem__(self, tokenid):

/home/ec2-user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/dictionary.pyc in add_documents(self, documents, prune_at)
    195 
    196         """
--> 197         for docno, document in enumerate(documents):
    198             # log progress & run a regular check for pruning, once every 10k docs
    199             if docno % 10000 == 0:

/home/ec2-user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/wikicorpus.pyc in get_texts(self)
    676             ((text, self.lemmatize, title, pageid, tokenization_params)
    677              for title, text, pageid
--> 678              in extract_pages(bz2.BZ2File(self.fname), self.filter_namespaces, self.filter_articles))
    679         pool = multiprocessing.Pool(self.processes, init_to_ignore_interrupt)
    680 

IOError: [Errno 2] No such file or directory: 's3://sagemakerq/enwiki.xml.bz2'
IOErrorTraceback(最近一次呼叫上次)
在()
2.创建语料库
3#%time wiki=WikiCorpus(“resources/articles1.xml.bz2”,tokenizer\u func=spacy\u tokenize)
---->4 wiki=WikiCorpus(“s3://sagemakerq/enwiki.xml.bz2”,tokenizer\u func=spacy\u tokenize)
/home/ec2 user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/wikicorpus.pyc in_uuuuinit_uuuuuuuuuuuuuu(self、fname、processs、lemmatize、dictionary、filter_命名空间、tokenizer_func、article_min_utokens、token_min_ulen、token_max_ulen、lower、filter_uarticles)
634
635如果字典为无:
-->636 self.dictionary=字典(self.get_text())
637其他:
638 self.dictionary=字典
/home/ec2 user/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/dictionary.pyc in_uuuuuuinit_uuuuuuuuuuuuuuuuu(self,documents,prune_uat)
82
83如果文件不是无:
--->84.add_文档(文档,prune_at=prune_at)
85
86 def_uuugetItem_uuuu(self,tokenid):
/home/ec2 user/anaconda3/envs/amazonei\u mxnet\u p27/lib/python2.7/site-packages/gensim/corpora/dictionary.pyc添加文档(self、documents、prune\u at)
195
196         """
-->197对于文件编号,枚举中的文件(文件):
198#记录进度并定期检查修剪情况,每10k文档一次
199如果单据号%10000==0:
/主页/ec2用户/anaconda3/envs/amazonei_mxnet_p27/lib/python2.7/site-packages/gensim/corpora/wikicorpus.pyc in get_text(self)
676((文本、self.lemmatize、标题、页面ID、标记化参数)
677用于标题、文本、页面ID
-->678在摘录页面中(bz2.bz2文件(self.fname)、self.filter\u名称空间、self.filter\u文章))
679 pool=多处理.pool(self.processes,初始化到忽略中断)
680
IOError:[Errno 2]没有这样的文件或目录:“s3://sagemakerq/enwiki.xml.bz2”

看起来您正在使用Python
gensim
包从S3的基于wiki的数据库转储构建语料库。不支持直接从S3读取。相反,您可以下载该文件并使用它

import boto3
from gensim.corpora.wikicorpus import WikiCorpus

s3 = boto3.client('s3')
s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')
wiki = WikiCorpus('FILE_NAME')