我正在尝试使用一个名为"requests“的python包和一个使用pyspark的程序。我已经下载了所需的包,并且可以通过包含“导入请求”来使用它来处理普通的python程序,但它不能与pyspark程序一起工作,并显示"ImportError: No module named requests“。
代码
def get_text(s):
import requests
url = s
data = requests.get(url).text
return data调用函数
newrdd=newrdd.map(get_text)输出错误行
16/12/12 15:42:33 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 1.0 (TID 48, node090.cm.cluster): org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/local/hadoop-2/tmp/hadoop-yarn/nm-local-dir/usercache/wdps1615/appcache/application_1480500761259_0178/container_1480500761259_0178_01_000003/pyspark.zip/pyspark/worker.py", line 172, in main
process()
File "/local/hadoop-2/tmp/hadoop-yarn/nm-local-dir/usercache/wdps1615/appcache/application_1480500761259_0178/container_1480500761259_0178_01_000003/pyspark.zip/pyspark/worker.py", line 167, in process
serializer.dump_stream(func(split_index, iterator), outfile)
File "/local/hadoop-2/tmp/hadoop-yarn/nm-local-dir/usercache/wdps1615/appcache/application_1480500761259_0178/container_1480500761259_0178_01_000003/pyspark.zip/pyspark/serializers.py", line 133, in dump_stream
for obj in iterator:
File "/var/scratch/wdps1615/spark-2.0.2-bin-without-hadoop/python/lib/pyspark.zip/pyspark/rdd.py", line 1507, in func
File "/var/scratch/wdps1615/Entitytext.py", line 45, in get_text
import requests
ImportError: No module named requests发布于 2018-04-25 17:26:02
我也有同样的问题,这对我很有效:
import sys
sys.path.append('/usr/local/lib/python3.5/dist-packages')
import requests您也可以使用python2.7而不是python3.5,但您必须确保pip包已安装并且在该文件夹中可用。
发布于 2016-12-13 04:24:51
看起来你已经在另一个python解释器上执行了你的pyspark应用程序,确保你已经为该解释器安装了requests包,你可以检查requests是否安装在[PYSPARK_VENV]/lib/python2.7/site-packages/文件夹中。
运行命令并重新启动应用程序可以解决以下问题:
/var/scratch/wdps1615/spark-2.0.2-bin-without-hadoop/pip install requestshttps://stackoverflow.com/questions/41108868
复制相似问题