lines = sc.textFile('路径') #.textFile(),将路径里的文件化作rdd元素
lines.foreach(print) #打印每个rdd
array = 【列表】
lines = sc.parallelize(array) #parallelize将列表元素转为rdd
rdd转换操作:
filter(function) #过滤出满足function的内容,并返回一个新的数据集(rdd)
map(function) #将每个元素传递到函数function中,并返回一个新的数据集(rdd)
flatmap(function) #‘扁平化’操作,与map()类似,但每个输入元素输出多个结果
groupByKey() #针对rdd元素为(k,v)类型的数据,返回一个(k,Iterable)的数据集,【Iterable是v1,v2,v3......,即K相同时,v的集合】
reduceByKey(function) #针对rdd元素为(k,v)类型的数据,返回一个新(k,v)的数据集,【K相同时,v代入function函数,聚合后成新的v】
#注意:
function一般是指 lambda x: x+12 #这种匿名函数
print(lines.collect()) #返回的是rdd元素,但是,是列表形式
rdd行动操作:
count() #返回数据集中的元素个数
collect() #以数组(列表)的形式返回数据集中的所有元素
first() #返回数据集中第一个元素
take(n) #以数组(列表)的形式返回数据集中前n个元素
reduce(function) #聚合数据集中的元素(一般是匿名函数 lambda x,y : x+y)聚合数据集中元素
foreach(function) #将数据集中每一个元素传递到function中运行
rdd键值对(k,v):
reduceByKey(function)
groupByKey()
keys #返回数据集的k
values #返回数据集的v
sortByKey()#依据k进行排序,False表示降序排序,Ture表示升序排序
sortBy(function) #可根据function进行排序,例如sortby( lambda x : x[1] , False)即依据v进行排序
mapValue(function) #对键值对中每个v都应用一个function函数,但是key不会变化
join() #内连接,连接两个数据集(k,v1)(k,v2),最终得到(k,(v1,v2))类型数据集【注意:存在两个数据集存在相同的k才能会输出】
spark rdd操作语句(尚未完善)
评论 (暂无评论)