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才能会输出】