python+spark 2.0+hadoop 机器学习与大数据实战 第十一章部分代码

wordcount.py代码


from pyspark import SparkContext
from pyspark import SparkConf
import sys
def SetLogger( sc ):
    logger = sc._jvm.org.apache.log4j
    logger.LogManager.getLogger("org"). setLevel( logger.Level.ERROR )
    logger.LogManager.getLogger("akka").setLevel( logger.Level.ERROR )
    logger.LogManager.getRootLogger().setLevel(logger.Level.ERROR)   

def SetPath(sc):
    global Path
    if sc.master[0:5]=="local" :
        Path="/home/hduser/pythonwork/pythonproject/"
    else:   
        Path="hdfs://master:9000/user/hduser/"
#如果要在cluster模式运行(hadoop yarn 或Spark Stand alone),请按照书上的说明,先把文件上传到HDFS目录

def CreateSparkContext():
    sparkConf = SparkConf()                                                       \
                         .setAppName("WordCounts")                         \
                         .set("spark.ui.showConsoleProgress", "false") \
              
    sc = SparkContext(conf = sparkConf)
    print("master="+sc.master)
    SetLogger(sc)
    SetPath(sc)
    return (sc)

    

if __name__ == "__main__":
    reload(sys)
    sys.setdefaultencoding('utf-8')
    print("开始运行RunWordCount")
    sc=CreateSparkContext()
 
    print("开始读取文本文件...")
    textFile = sc.textFile(Path+"data/README.md")
    #print("文本文件共"+str(textFile.count())+"行")
    print(textFile.count())
    countsRDD = textFile                                     \
                  .flatMap(lambda line: line.split(' ')) \
                  .map(lambda x: (x, 1))                    \
                  .reduceByKey(lambda x,y :x+y)
                  
    print("文字统计共"+str(countsRDD.count())+"项数据")                  
    print("开始存储到文本文件...")
    try:
        countsRDD.saveAsTextFile(Path+ "data/output")
        
    except Exception as e:
        print("输出目录已经存在,请先删除原有目录")
    sc.stop()
 

1、本地提交代码命令: 

spark-submit --driver-memory 2g --master local[3] wordcount.py

 

利用jupyter notebook 进行运行

首先切换到工作目录

 cd ~/pythonwork/ipynotebook

1、本地运行命令:(小插曲:该命令直接复制过去不可以运行,手敲就可以)

PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark

2、Hadoop yarn-client运行命令:(需提前启动Hadoop集群)

PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop MASTER=yarn-client pyspark
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据基于用户画像电影推荐系统是一个涉及PythonSparkHadoop等技术的复杂项目。在这个毕业源码案例设计中,源代码包含了多个部分的实现。 首先,Python作为主要的编程语言之一,负责数据的处理和分析。通过Python的数据处理库,我们可以对用户的个人画像数据进行清洗和整合,包括用户的年龄、性别、观影习惯等信息。同时,Python也可以用来编写推荐算法和模型评估的代码。 其次,Spark作为大数据处理和分析的引擎,在这个项目中起着重要的作用。我们可以利用Spark来处理海量的用户观影行为数据,进行分布式计算和数据处理,快速生成用户画像和推荐模型。Spark机器学习库也可以用来构建推荐系统模型,根据用户的画像特征为其推荐电影。 最后,Hadoop作为大数据存储和管理的平台,负责存储用户的个人画像数据、电影信息数据以及用户观影行为数据。通过Hadoop分布式文件系统(HDFS)和MapReduce计算框架,可以实现数据的高效存储和处理。 在这个毕业源码案例设计中,源代码会包括数据预处理的代码、推荐算法的实现、模型评估的代码,以及与HadoopSpark的交互代码等。这些源代码的编写将涉及到Python的数据处理和建模技术,Spark的分布式计算和机器学习技术,以及Hadoop的数据存储和管理技术。通过这些源代码的设计和实现,可以构建一个完整的大数据用户画像电影推荐系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值