Spark 动手实践 (2)
来源:互联网 发布:知乎回答问题在哪里 编辑:程序博客网 时间:2024/05/21 10:50
1. count()与countByValue()
一种总体统计,一种分组统计。
总体统计:
num_occupations = user_fields.map(lambda fields: fields[3]).<strong>count</strong>()print "num_occupations ",num_occupations输出结果
num_occupations 943
count_by_occupation2=user_fields.map(lambda fields: fields[3]).countByValue()print "Map-reduce approach:"print dict(count_by_occupation2)输出结果
{u'administrator': 79, u'retired': 14, u'lawyer': 12, u'healthcare': 16, u'marketing': 26, u'executive': 32, u'scientist': 31, u'student': 196, u'technician': 27, u'librarian': 51, u'programmer': 66, u'salesman': 12, u'homemaker': 7, u'engineer': 67, u'none': 9, u'doctor': 7, u'writer': 45, u'entertainment': 18, u'other': 105, u'educator': 95, u'artist': 28}
一种是MR,一种是countByValue,输出结果相同。
count_by_occupation = user_fields.map(lambda fields: (fields[3], 1)).reduceByKey(lambda x, y: x + y).collect()print "countByValue approach:"print dict(count_by_occupation)
4. reduceByKey(lambda x, y: x + y)与reduce(lambda x, y: x + y)
reduce将RDD中元素两两传递给输入函数,同时产生一个新的值,新产生的值与RDD中下一个元素再被传递给输入函数直到最后只有一个值为止。
reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行reduce,因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。
max_rating = ratings.reduce(lambda x, y: max(x, y))print "Max rating: %d" % max_rating输出结果:
Max rating: 5
5. stats() 产生数据集的profile,主要有如下内容:
print ratings.stats()输出结果
(<strong>count</strong>: 100000, <strong>mean</strong>: 3.52986, <strong>stdev</strong>: 1.12566797076, <strong>max</strong>: 5, <strong>min</strong>: 1)
0 0
- Spark 动手实践 (2)
- 【转载 Hadoop&Spark 动手实践 2】Hadoop2.7.3 HDFS理论与动手实践
- python动手实践(1)
- 动手实践
- JMX 集成动手实践
- 学习理论和动手实践
- 操作系统动手实践总结
- [CoffeeScript]咖啡,动手实践
- gRPC动手实践
- 动手实践虚拟网络
- 动手实践 Linux VLAN
- 动手实践 Linux VLAN
- 动手实践虚拟网络
- 动手实践-环境搭建
- TCP/IP 动手实践2-windows驱动编程入门2
- 使用Keras动手实践深度学习(上)
- 使用Keras动手实践深度学习(下)
- 甲骨文开发者大会动手实践
- 安装cocoapods,试验成功
- 后台存储数据到数据库中文乱码
- Label的文字自适应
- 【Boost】boost库中thread多线程详解6——线程组简单例子
- ACAccount
- Spark 动手实践 (2)
- logback(一)
- win7 64位 VC++6.0 调试出错 解决办法
- 1016. 部分A+B (15)
- Android RecyclerView 使用完全解析 体验艺术般的控件
- 【Boost】boost库中thread多线程详解7——wait与timed_wait简单例子
- OpenCV 配置的注意事项
- 转:VS2012 Debugging information for... cannot be found 
- 计算机视觉(ComputerVision, CV)相关领域的网站链接