如何为这种格式创建键值对?

2024-05-05 06:05:44 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在使用Spark RDD。我有一个制表符分隔的文件,格式如下

Actor1   Movie1
         Movie2
         Movie3

Actor2   Movie4
         Movie5
         Movie6

我想创建键值对,其中Key是演员,values是演员所在的电影。如何使用Scala或Python做到这一点呢?我能够读取文本文件并从制表符中拆分行,例如下面的内容,但是我不知道如何形成键值对。在

^{pr2}$

Tags: 文件格式制表符spark键值rdd演员movie2
2条回答

我也在尝试解决类似的问题。。这个问题的结论是什么?有用吗?如何使用mapPartion来解决这类问题?在

你不能,或者至少不应该这样做。spark的要点是不同的行可以并行处理;如果前两行运行在一个集群节点上,而后两行运行在不同的集群节点上,那么第二个节点就无法知道Movie3与Actor1一起运行。在

您可以将mapPartitions与函数一起使用,该函数将行作为Iterator,并使用var来跟踪“当前”参与者。如果对如何拆分输入文本文件非常小心,则可能不会丢失任何数据。但我建议您寻找一种更好的输入格式。在

相关问题 更多 >