拆分字段并从一行 Spark-Scala 创建多行 [英] Split field and create multi rows from one row Spark-Scala

查看:46
本文介绍了拆分字段并从一行 Spark-Scala 创建多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新手,我需要帮助解决这个问题.

i am new and i need help with this issue.

我有一个这样的 csv 文件:

I have a csv file like this:

ANI,2974483123 29744423747 293744450542,Twitter,@ani

我需要拆分第二列2974483123 29744423747 293744450542"并像这样创建 3 行:

I need split the second column "2974483123 29744423747 293744450542" and create 3 rows like this:

ANI,2974483123,Twitter,@ani

ANI,29744423747,Twitter,@ani

ANI,293744450542,Twitter,@ani

有人可以帮我吗?请!

推荐答案

flatMap 正是您要找的:

val input: RDD[String] = sc.parallelize(Seq("ANI,2974483123 29744423747 293744450542,Twitter,@ani"))
val csv: RDD[Array[String]] = input.map(_.split(','))

val result = csv.flatMap { case Array(s1, s2, s3, s4) => s2.split(" ").map(part => (s1, part, s3, s4)) }

这篇关于拆分字段并从一行 Spark-Scala 创建多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆