当前位置: 首页 > 知识库问答 >
问题:

火花映射变换

邵胜涝
2023-03-14
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")
[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

我是新的火花,请帮助我这一点。

共有1个答案

郭志泽
2023-03-14

我认为在数组的数组上使用“saveastextfile”可能会导致编写Java对象而不是字符串。

我认为使用flatMap而不是map可能会帮助您在输出文件中获取字符串。

参见:https://stackoverflow.com/A/22510434/5088142

 类似资料:
  • 我在spark中有一个数据集,只有一列,这列是一个Map[String,Any]。我想逐行映射数据集,然后逐键映射映射映射列,计算每个键的值,并使用新数据生成与前一个相同类型的新数据集。 例如: 我想在每个值的末尾加上“”,结果将是一个数据类型的数据集,如下所示: 谢谢Nir

  • 我在mapr集群上安装了一个全新的spark 1.2.1,在测试它时,我发现它在本地模式下工作得很好,但在yarn模式下,它似乎无法访问变量,如果广播的话也是如此。准确地说,下面的测试代码 在局部模式下工作,但在纱线上失败。更准确地说,和这两个方法都失败了,如果它们都工作。

  • 一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?

  • 我想了解以下关于火花概念的RDD的事情。 > RDD仅仅是从HDFS存储中复制某个节点RAM中的所需数据以加快执行的概念吗? 如果一个文件在集群中被拆分,那么对于单个flie来说,RDD从其他节点带来所有所需的数据? 如果第二点是正确的,那么它如何决定它必须执行哪个节点的JVM?数据局部性在这里是如何工作的?

  • 我想从Spark v.1.6(使用scala)数据帧创建一个JSON。我知道有一个简单的解决方案,就是做。 但是,我的问题看起来有点不同。例如,考虑具有以下列的数据帧: 我想在最后有一个数据帧 其中C是包含、、的JSON。不幸的是,我在编译时不知道数据框是什么样子的(除了始终“固定”的列和)。 至于我需要这个的原因:我使用Protobuf发送结果。不幸的是,我的数据帧有时有比预期更多的列,我仍然会

  • 我试图从聚合原理的角度来理解火花流。Spark DF 基于迷你批次,计算在特定时间窗口内出现的迷你批次上完成。 假设我们有数据作为- 然后首先对Window_period_1进行计算,然后对Window_period_2进行计算。如果我需要将新的传入数据与历史数据一起使用,比如说Window_priod_new与Window_pperid_1和Window_perid_2的数据之间的分组函数,我该