[英]How to split CSV lines into tuples with Spark Scala
这是我想通过 Scala 检索的数据。 数据如下所示: userId,movieId 1,1172 1,1405 1,2193 1,2968 2,52 2,144 2,248
首先我想跳过第一行,然后通过 split(",") 拆分用户和电影并映射到 (userID,movieID)
这是我第一次尝试 Scala,一切都让我发疯。 我写了这段代码来跳过第一行并拆分
rdd.mapPartitionsWithIndex{ (idx, iter) =>
if (idx == 0)
iter.drop(1)
else
iter }.flatMap(line=>line.split(","))
但结果是这样的:
1
1172
1
1405
1
2193
1
2968
2
52
我想这是因为 mapPartitionsWithIndex 有没有办法在不改变结构的情况下正确跳过标题?
啊,你的问题不是关于标题,而是关于如何将行拆分为(userid,movieid)? 而不是.flatMap(line=>line.split(","))
你应该试试这个:
.map(line => line.split(",") match { case Array(userid, movieid) => (userid, movieid) })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.