准备将键值对中的键与值对调,结果第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)
如对本文有疑问, 点击进行留言回复!!
HBase Filter 过滤器之FamilyFilter详解
去 HBase,Kylin on Parquet 性能表现如何?
如何找到Hive提交的SQL相对应的Yarn程序的applicationId
网友评论