spark学习笔记3

本文介绍了如何在PyCharm中配置Spark程序,包括创建pyspark.pth文件来指向Spark的python API,并提及可能需要安装py4j包。此外,还解决了在运行mllib时遇到的No module named numpy的错误,原因在于Spark默认查找的Python环境中缺少numpy,安装numpy后问题解决。最后,文章提到了首个ml建模脚本的运行。
摘要由CSDN通过智能技术生成

一、pycharm开发spark程序配置方法:

在C:\Anaconda\Lib\site-packages目录下新建pyspark.pth,内容是D:\hadoop_spark\spark-2.0.2-bin-hadoop2.7\python 
即spark目录下的的python目录,也就是spark的python API.

其实就是将pyspark当做一个普通的python包对待而已,没有做其他的配置。

另外,对python安装了py4j包,不知道是否是必须的。

以下是验证是否配置成功的脚本,在pycharm中顺利运行即可。

from pyspark import SparkContext
import numpy

sc = SparkContext("local","Simple App")
doc = sc.parallelize([['a','b','c'],['b','d','d']])
words = doc.flatMap(lambda d:d).distinct().collect()
word_dict = {w:i for w,i in zip(words,range(len(words)))}
word_dict_b = sc.broadcast(word_dict)

def wordCountPerDoc(d):
    dict={}
    wd = word_dict_b.value
    for w in d:
        if dict.get(wd[w],0):
            dict[wd[w]] +=1
        else:
            dict[wd[w]] = 1
    return dict
print(doc.map(wordCountPerDoc).collect())
print("successful!")

二、运行mllib时,No module named numpy报错

报错原因是本项目使用anaconda环境python,但spark ml会默认寻找本地安装的python,本地python没有安装numpy,安装之后此报错无。

三、第一个ml建模脚本

from pyspark.ml.clustering import KMeans
from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master("local") \
    .appName("Word Count") \
    .config("spark.some.config.option", "some-value") \
    .getOrCreate()

dataset = spark.read.format("libsvm").load("D:\spark\spark-2.0.2-bin-hadoop2.6\data\mllib\sample_kmeans_data.txt")

kmeans = KMeans().setK(2).setSeed(1)
model = kmeans.fit(dataset)

predictions = model.transform(dataset)
print predictions.collect()




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值