如何使用apachezeppelin笔记本序列化pyspark中的gensim语料库?

4uqofj5v  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(450)

我试图创建一个gensim语料库并将其保存到任意hdfs或常规fs路径。我正在使用pyspark(2.2.1)并在hadoop集群上运行一个zeppelin笔记本。下面是我的最小示例:

from gensim import corpora
import os

path = "/my/existing/hadoop/path"
corpus = [[(0,0), (1,2)]]
corpora.MmCorpus.serialize(os.path.join(path,"corpus.mm"), corpus)

这会导致错误:

[Errno 2] No such file or directory: '/my/existing/hadoop/path/corpus.mm'

尽管路径存在。
进行以下工作。

corpora.MmCorpus.serialize("corpus.mm", corpus)
corpora.MmCorpus.serialize(os.path.join("/tmp","corpus.mm"), corpus)

但是,我找不到它。我查过了 /tmp 以及 hadoop fs -ls /tmp 使用pyspark时需要什么样的路径?

8tntrjer

8tntrjer1#

使用pyspark时需要什么样的路径?
保存常规路径时需要常规路径。只需确保齐柏林飞艇有权写入所需位置。您还必须知道当前会话运行在集群的哪个节点上。
进行以下工作。
corpora.mmcorpus.serialize(“corpus.mm”,corpus)corpora.mmcorpus.serialize(os.path.join(“/tmp”,“corpus.mm”),corpus)
位置可以通过

import os
print(os.getcwd())

相关问题