如何循环scala中的每一行

cyvaqqii  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(498)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

三年前关门了。
改进这个问题
我是scala的初学者,我想把我正在读的每一行循环如下:

val data = sc.textFile("D:/Data.csv")

data.csv如下所示:

1,462,0,NA,0,1,0,Friday,1,5
1,147,33,NA,0,1,0,Friday,1,5
1,105,58,NA,0,1,0,Friday,1,5
1,276,96,NA,0,1,0,Friday,1,5
1,466,1,NA,0,1,0,Friday,1,5
1,466,1,NA,0,1,0,Friday,1,5
1,466,1,NA,0,1,0,Friday,1,5

我想遍历上面csv中的每一行并打印每一行中的第1列和第3列值。任何帮助都将不胜感激。

zzwlnbp8

zzwlnbp81#

val data = sc.textFile("D:/Data.csv")

data.map(_.split(','))
    .foreach(r => println(r(0), r(2)))

这个 map 上面的调用以逗号分隔文件中的每一行,将每一行转换为 Array[String] 创造一个 RDD[Array[String]] :此中的每个元素 RDD 是一个 Array[String] 行中的列值。
这个 foreach call打印每行的第一列和第三列值(即,每行中的第一和第三个元素) Array[String]RDD ):

(1,0)
(1,1)
(1,1)
(1,33)
(1,1)
(1,58)
(1,96)

相关问题