pyhton3解决"tuple parameter unpacking is not supported"问题

准备将键值对中的键与值对调,结果第10行出了bug,显示"tuple parameter unpacking is not supported"

解决方法:将map(lambda(word,count) : (count,word)) 改为 map(lambda word_count : (word_count[1],word_count[0]))

原因:在python3中,类似

    lambda (x, y): x + y  这种形式,已经被

    lambda x_y: x_y[0] + x_y[1]   所取代,即使用  x_y 的形式代替 (x, y) ,即  x = x_y[0]    y=x_y[1]

datas = ["hadoop spark", "spark hive spark sql", "spark hadoop sql spark"]

rdd1 = sc.parallelize(datas)

word_count_rdd = rdd1.flatMap(lambda line: line.split(" "))\
        .map(lambda word: (word, 1))\
        .reduceByKey(lambda a, b: a+b)

sorted_rdd = word_count_rdd\
        .map(lambda(word,count ) :(count,word))\
        .sortByKey(ascending=False)     

转载于:https://www.cnblogs.com/octopuszy/p/9072225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值