SparkMap变换

ukxgm1gy  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(333)

下面的代码将从文件中提取数据,并用逗号分隔符拆分数据。

val a=sc.textFile("/sparkinput")
val b=a.map(x=>x.split(","))
b.collect

输出:

Array(Array(1, Brandon Buckner, avil, female, 525), Array(2, Veda Hopkins, avil, male, 633), Array(3, Zia Underwood, paracetamol, male, 980), Array(4, Austin Mayer, paracetamol, female, 338), Array(5, Mara Higgins, avil, female, 153), Array(6, Sybill Crosby, avil, male, 193), Array(7, Tyler Rosales, paracetamol, male, 778), Array(8, Ivan Hale, avil, female, 454), Array(9, Alika Gilmore, paracetamol, female, 833), Array(10, Len Burgess, metacin, male, 325))

b.saveasTextFile("/sparkoutput")

当我把输出保存在textfile中时,我不知道为什么我会得到如下的数据。
输出:

[Ljava.lang.String;@45968fc2

[Ljava.lang.String;@6b3012a2

[Ljava.lang.String;@211780a8

[Ljava.lang.String;@dffa691

[Ljava.lang.String;@b1080c5

[Ljava.lang.String;@68760b2f

[Ljava.lang.String;@1dd8703d

我是新手,请帮我。

jjjwad0x

jjjwad0x1#

我认为在数组上使用“saveastextfile”时,可能会导致编写java对象而不是字符串。
我认为使用flatmap而不是map可以帮助您在输出文件中获取字符串。
请参见:https://stackoverflow.com/a/22510434/5088142

相关问题