Spark 编程基础(四)

分享 manba ⋅ 1271 阅读

使用键值对RDD的keys和values方法
键值对RDD,包含键和值两个部分。
Spark提供了两种方法,分别获取键值对RDD的键和值。
● keys方法返回一个仅包含键的RDD。
● values方法返回一个仅包含值的RDD。

代码3-21 keys和values 使用keys方法返回一个仅包含键的RDD

val key = words.keys

查看key

key.collect

使用values方法返回一个仅包含值的RDD

val value = words.values

查看value

value.collect
使用键值对RDD的groupByKey()方法
● groupByKey()方法用于对具有相同键的值进行分组,可以对同一组的数据进行计数、求和等操作。
● 对于一个由类型K的键和类型V的值组成的RDD,通过groupByKey()方法得到的RDD类型是[K,Iterable[V]]。
代码3-23 groupByKey()示例

使用groupByKey()方法对具有相同键的值进行分组

val g_rdd = rdd_1.groupByKey()

查看分组结果

g_rdd.collect

使用map()方法查看分组后每个value中的元素个数

g_rdd.map(x => (x._1, x._2.size)).collect

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-manba,http://hainiubl.com/topics/76698
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter