pythonspark实例_Spark的Python编程-简单示例

本文通过一个学生成绩单分析的实例,展示了如何使用Python操作Spark进行数据处理,包括读取文件、数据转换、组合键、过滤、排序及结果输出。Spark利用内存计算和缓存机制提供了比Hadoop更高的性能,并可运行于多种资源管理系统之上。
摘要由CSDN通过智能技术生成

安装好Spark 后,自带了一些demo, 路径在Spark根目录/examples/src/main/python/

里面有些例子,例如统计字数的 wordcount.py

import sys

from operator import add

from pyspark import SparkContext

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

if __name__ == "__main__":

if len(sys.argv) != 2:

print >> sys.stderr, "Usage: wordcount "

exit(-1)

sc = SparkContext(appName="PythonWordCount")

lines = sc.textFile(sys.argv[1], 1)

counts = lines.flatMap(lambda x: x.split(' ')) \

.map(lambda x: (x, 1)) \

.reduceByKey(add)

output = counts.collect()

for (word, count) in output:

print "%s: %i" % (word, count)

sc.stop()

写了一个小demo,就是练习一下api的使用,做业务很方便。针对于大数据文件做统计分析的。比如几十兆上百兆的我们单机处理,上G的就放在hadoop 的 hdfs上。

下面是一个学生成绩单。四列字段:学生,以及三科成绩。其中学生有重复的(比如额外加分的情况,需要合并分析)。

yang 85 90 30

wang 20 60 50

zhang 90 90 90

li 100 54 0

yanf 0 0 0

yang 12 0 0

当然实际中数据要很多,比如很多列,而且几十万行甚至几百万行。这里是一个demo ,相当于在部署前测试。

在 Spark根目录/example/src/main/python/ 下新建一个 students.py :

#coding=utf-8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值