PySpark翻页键/值(PySpark flip key/value)

2019-09-28 15:17发布

我想从一个数据集翻页键值做排序。 但是,map函数返回一个无效的语法错误

rdd = clean_headers_rdd.rdd\
        .filter(lambda x: x['date'].year == 2016)\
        .map(lambda x: (x['user_id'], 1)).reduceByKey(lambda x, y: x + y)\
        .map(lambda (x, y): (y, x)).sortByKey(ascending = False)

Answer 1:

PEP 3113 -元组参数开箱的去除 。

  • 方法所建议的过渡计划 :

     rdd.map(lambda x_y: (x_y[1], x_y[0]) 
  • 使用快捷operator模块:

     from operator import itemgetter rdd.map(itemgetter(1, 0)) 
  • 切片:

     rdd.map(lambda x: x[::-1]) 


文章来源: PySpark flip key/value