首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Scala/RDD :如何将元组的值与相同元组中的值列表进行比较

Scala/RDD :如何将元组的值与相同元组中的值列表进行比较
EN

Stack Overflow用户
提问于 2018-08-17 04:26:43
回答 2查看 194关注 0票数 0

我有如下数据

代码语言:javascript
运行
复制
val t=((1,List(1,2,3,4)),(2,List(1,2,3,4)),(3,List(1,2,3,4)),(4,List(1,2,3,4)))

我想要的输出如下:

代码语言:javascript
运行
复制
1--1
2--2
3--3
4--4

有没有人可以使用scala或spark core来帮助我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-17 04:49:18

使用RDD的另一种方式:

输入:

代码语言:javascript
运行
复制
(1,List(1, 2, 3, 4))
(2,List(1, 2, 3, 4))
(3,List(1, 2, 3, 4))
(4,List(1, 2, 3, 4))

t.map(x => s"""${x._1} -- ${if(x._2.contains(x._1)) x._1}""").collect.foreach(println)  

输出:

代码语言:javascript
运行
复制
1 -- 1
2 -- 2
3 -- 3
4 -- 4  
票数 1
EN

Stack Overflow用户

发布于 2018-08-17 04:43:15

试试这个:

代码语言:javascript
运行
复制
  val spark = SparkSession.builder()
    .appName("app_name")
    .master("local[2]")
    .getOrCreate()

  import spark.implicits._

  val df = spark.sparkContext.parallelize(Seq((1,List(1,2,3,4)),(2,List(1,2,3,4)),(3,List(1,2,3,4)),(4,List(1,2,3,4))))
  df.map{
    case (id, list) => s"${id}--${list(id - 1)}"
  }.toDF().show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51884856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档