栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark Low level API RDD学习笔记:key

Spark Low level API RDD学习笔记:key

常规操作

# 创建
myCollection = "Spark The Definitive Guide : Big Data Processing Made Simple"
.split(" ")
words = spark.sparkContext.parallelize(myCollection, 2)

keyword = words.keyBy(lambda word:word.lower()[0])
keyword.mapValues(lambda word: word.upper()).collect()
[('s', 'SPARK'),
('t', 'THE'),
('d', 'DEFINITIVE'),
('g', 'GUIDE'),
(':', ':'),
('b', 'BIG'),
('d', 'DATA'),
('p', 'PROCESSING'),
('m', 'MADE'),
('s', 'SIMPLE')]

# look up the result for particular key
keyword.lookup("s")
['Spark', 'Simple']

#sampleByKey
#sample an RDD by a set of keys
#RDD.sampleByKey(withReplacement, fractions, seed=None)[source]
# 第一个是是否有放回,第二个是概率,第三个是随机数种子
# 这个没法确认返回子集的大小
import random
## extract characters in words
distinctChars = words.flatMap(lambda word:list(word.lower())
                     .distinct()
                     .collect() 
 
sampleMap = dict(map(lambda c:(c, random.random()), distinctChars))
words.map(lambda word: (word.lower()[0], word))
    .sampleByKey(True, sampleMap, 6)
    .collect()                  
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号