新手请教spark scala如何取出rdd中的每一个元素。

q13477027443 2017-02-14 11:58:01
val rdd = sc.parallelize(List('a','b','c','d','e','f','e','g')

val data = rdd(0)// 这一代码是错误的但是我想做的事情是取出rdd中的第一个元素a赋值给data 请问如何做到?
...全文
6868 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
永夜(梦) 2020-11-24
  • 打赏
  • 举报
回复
take和collect取出的元素形式都是char类型的
zhangshucheng129 2017-06-22
  • 打赏
  • 举报
回复
shell命令可以直接 rdd.collect
1-W 2017-02-23
  • 打赏
  • 举报
回复

val num = rdd.count()
val rddList = rdd.take(num)

var i = rddList(0)
for ( i <- rddList) {
       println("Your RDD element here: " + i)
       do Something
}
LinkSe7en 2017-02-14
  • 打赏
  • 举报
回复
在Spark等分布式环境里,取出和知道是两回事。取出意味着从executor将元素发送到driver,而知道则是在executor端针对元素的值做出处理。想想区别 “知道”的方法是rdd.foreach( v -> println(v))
q13477027443 2017-02-14
  • 打赏
  • 举报
回复
感谢楼上的。是我没把问题说清楚,其实我是想循环遍历取出数据的,所以用不了take。我知道循环的下标可以用rdd.count
LinkSe7en 2017-02-14
  • 打赏
  • 举报
回复
rdd.take(1)

1,258

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧