【发布时间】:2018-06-30 06:36:31
【问题描述】:
我有一个包含多个数据结构的 RDD,而其中一个数据结构是 Map[String, Int]。
为了轻松可视化,我在地图转换后得到以下信息:
val data = ... // This is a RDD[Map[String, Int]]
在此 RDD 的元素之一中,Map 包含以下内容:
*key value*
map_id -> 7753
Oscar -> 39
Jaden -> 13
Thomas -> 1
Chris -> 52
然后它在RDD的其他元素中包含其他名称和数字,每个映射包含一定的map_id。无论如何,如果我只是简单地做data.saveAsTextFile(path),我会在我的文件中得到以下输出:
Map(map_id -> 7753, Oscar -> 39, Jaden -> 13, Thomas -> 1, Chris -> 52)
Map(...)
Map(...)
但是,我想将其格式化如下:
---------------------------
map_id: 7753
---------------------------
Oscar: 39
Jaden: 13
Thomas: 1
Chris: 52
---------------------------
map_id: <some other id>
---------------------------
Name: nbr
Name2: nbr2
基本上,map_id 作为某种标题,然后是内容,一行空格,然后是下一个元素。
对于我的问题,data RDD 只有两个选项,另存为文本文件或目标文件,据我所知,它们都不支持我自定义格式。我该怎么做呢?
【问题讨论】:
标签: scala hadoop apache-spark rdd