【问题标题】:Spark two RDD join issueSpark 两个 RDD 连接问题
【发布时间】:2015-08-06 22:04:05
【问题描述】:

我有两个 RDD。

moviesRDD =[(1,'monster'),(2,'minions 3D'),...] #(movieID,title)
ratingsRDD =[(1,(3,4)),(2,(4,5)),.....]  #(movieID,(numbersofrating,avg_rating))

理想的结果是:

newRDD =[(3,'monster',4),(4,'minions 3D',5),....] #(numbersofrating,title,avg_rating)

我不确定如何获取 newRDD。

【问题讨论】:

    标签: python join apache-spark


    【解决方案1】:

    这应该可以解决问题:

    (moviesRDD
        .join(ratingsRDD) # Join by key
        .values() # Extract values
        .map(lambda x: (x[1][0], x[0], x[1][1]))) # Reshape
    

    【讨论】:

    • 处理moviesRDD.join(ratingsRDD)后的结果是什么
    • 它是(key, (v1, v2))。例如(1, ('monster', (3, 4)))
    猜你喜欢
    • 2016-07-19
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2015-01-31
    • 2015-06-15
    • 2015-05-30
    相关资源
    最近更新 更多