python写spark的效率问题_如何用Python写spark?

这篇博客探讨了在Spark编程中如何使用map函数处理RDD数据。通过实例展示了如何进行元素加一、元组拆分与组合以及自定义函数应用。强调了在处理PairRDD时,map操作如何匹配和获取值,以及对于参数数量的要求。
摘要由CSDN通过智能技术生成

766d74eb67fcdaa408083074f775d401.png

一只斗牛犬

1.RDD是PariRDD类型def add1(line):return line[0] + line[1]def add2(x1,x2):return x1 + x2sc = SparkContext(appName="gridAnalyse")rdd = sc.parallelize([1,2,3])list1 = rdd.map(lambda line: (line,1)).map(lambda (x1,x2) : x1 + x2).collect() #只有一个参数,通过匹配来直接获取(赋值给里面对应位置的变量)list1 = rdd.map(lambda line: (line,1)).map(lambda x1,x2 : x1 + x2).collect() #错误,相当于函数有两个参数list2 = rdd.map(lambda line: (line,1)).map(lambda line : line[0] + line[1]).collect() #只有一个参数,参数是Tuple或List数据类型,再从集合的对应位置取出数据list3 = rdd.map(lambda line: (line,1)).map(add1).collect() #传递函数,将Tuple或List类型数据传给形参list4 = rdd.map(lambda line: (line,1)).map(add2).collect() #错误,因为输入只有一个,却有两个形参当RDD是PairRDD时,map中可以写lambda表达式和传入一个函数。a、写lambda表达式:可以通过(x1,x2,x3)来匹配获取值;或者使用line获取集合,然后从集合中获取。b、传入函数根据spark具体的transaction OR action 操作来确定自定义函数参数的个数,此例子中只有一个参数,从形参(集合类型)中获取相应位置的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值