欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ModuleNotFoundError: No module named 'resource'问题及解决方法

程序员文章站 2022-07-14 21:39:58
...

这几天在调试pyspark程序的时候, 只要一涉及到RDD相关的程序就报这个缺少“resource” ModuleNotFoundError: No module named ‘resource’:

  • 状况:我用朋友pycharm运行spark程序,如图一的程序,一直不成功,报resource的错误。
  • 预测问题:spark程序可能调用spark里面没有的模块。
  • 解决方法:我将我原来的spark-2.4.0-bin-hadoop2.7版本换成了spark-2.4.4-bin-hadoop2.7之后就可以正常使用了,python解释器用的是Anaconda3里面的python解释器。
  • 注意:我只是给大家提供个思路,配置pyspark网上的配置很多,基本都正确,实在没有的话可以私我,我有教程
  • 测试代码:
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("wordcount").master("local[2]").getOrCreate()
sc = spark.sparkContext

#案例1:
# ls = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# rdd = sc.parallelize(ls)#parallelize 是转换算子
# print(rdd.collect())#collect是行动算子
#
# rdd1 =rdd.map(lambda x:x*2)# map是对每个数据都进行操作,都执行一个函数,x*2是自己定义的一个函数
# print(rdd1.collect())


#案例2:为方便操作集合或者列表,将列表转为RDD
list = ["Hadoop","Spark","Hive","Spark"]
rdd = sc.parallelize(list)
pairRDD = rdd.map(lambda word : (word,1))#(hadoop,1)  ((Hive,1) (spark,2)
pairRDD.foreach(print)#foreach;是行动算子

ModuleNotFoundError: No module named 'resource'问题及解决方法 图一:缺少resource模块的结果
ModuleNotFoundError: No module named 'resource'问题及解决方法
图二:正确运行的结果