2024-05-05 06:05:44 发布
网友
所以我在使用Spark RDD。我有一个制表符分隔的文件,格式如下
Actor1 Movie1 Movie2 Movie3 Actor2 Movie4 Movie5 Movie6
我想创建键值对,其中Key是演员,values是演员所在的电影。如何使用Scala或Python做到这一点呢?我能够读取文本文件并从制表符中拆分行,例如下面的内容,但是我不知道如何形成键值对。在
我也在尝试解决类似的问题。。这个问题的结论是什么?有用吗?如何使用mapPartion来解决这类问题?在
你不能,或者至少不应该这样做。spark的要点是不同的行可以并行处理;如果前两行运行在一个集群节点上,而后两行运行在不同的集群节点上,那么第二个节点就无法知道Movie3与Actor1一起运行。在
您可以将mapPartitions与函数一起使用,该函数将行作为Iterator,并使用var来跟踪“当前”参与者。如果对如何拆分输入文本文件非常小心,则可能不会丢失任何数据。但我建议您寻找一种更好的输入格式。在
mapPartitions
Iterator
var
我也在尝试解决类似的问题。。这个问题的结论是什么?有用吗?如何使用mapPartion来解决这类问题?在
你不能,或者至少不应该这样做。spark的要点是不同的行可以并行处理;如果前两行运行在一个集群节点上,而后两行运行在不同的集群节点上,那么第二个节点就无法知道Movie3与Actor1一起运行。在
您可以将
mapPartitions
与函数一起使用,该函数将行作为Iterator
,并使用var
来跟踪“当前”参与者。如果对如何拆分输入文本文件非常小心,则可能不会丢失任何数据。但我建议您寻找一种更好的输入格式。在相关问题 更多 >
编程相关推荐