首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Scala将HDFS文件内容存储在ArrayBuffer中

使用Scala将HDFS文件内容存储在ArrayBuffer中
EN

Stack Overflow用户
提问于 2016-08-18 07:27:51
回答 1查看 312关注 0票数 1

我试图搜索一个特定的关键字,并将与单词关联的整个行放在数组缓冲区中。我正在使用下面的示例,并尝试将所有的HHH放在数组缓冲区中。

样本

代码语言:javascript
复制
PID|1|5897450M|58974650M|58977650M|CSTO^TES||19320722|F|||745 - 81 ST^^IAMI BEH^FL^341|||||||332165520
ORC||5033220|503320||||||20150202|||1689659096^HAM^MISH^^^^PI
OBR|1||64564|DF DEFAULT|||20150202|2015002||||||||16096^^^^^I|||||||||
HHH|1|NM|6690-2^^LN^0^^L||7|XE/UL|3.4-18||||F|||20150202| ^^L
HHH|9|NM|777-3^LOINC^LN^015172^PLATELETS^L||185|X10E3/UL|150-379||||F|||201202|TA   ^^L
HHH|10|NM|770-8^^LN^015107^^L||65|%|||||F|||20150202|TA   ^^L
HHH|11|NM|736-9^LOINC^LN^015123^^L||26|%|||||F|||20150202|TA   ^^L
HHH|12|NM|5905-5^LOINC^LN^015131^^L||8|%|||||F|||20150202|TA   ^^L
HHH|13|NM|713-8^LOINC^LN^015149^^L||1|%|||||F|||20150202|TA   ^^L

为了实现这一目标,我编写了以下代码:

代码语言:javascript
复制
import scala.collection.mutable.ArrayBuffer
object WordCount {
def main(args: Array[String])
{
    var arrybufobx =  ArrayBuffer[String]()
    val textfile = sc.textFile("/user/cloudera/xxx/File")
    val word = textfile.filter(x => x.length >  0).map(_.split('|'))
    val obx = word.filter(_.contains("HHH"))
    val obxkeys = obx.map(a => s"${a(0)},${a(5)},${a(8)}").toString()
    arrybufobx += obxkeys
    arrybufobx.foreach { println }
}
}   

但是我无法看到数组缓冲区的内容。我想知道如何查看我的数组缓冲区内容,这是正确的方法吗?

请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2016-08-18 11:16:24

你也可以试试这样的东西。使用toBuffer方法将任何集合转换为可变集合。

我尝试了下面的输入

代码语言:javascript
复制
PID|1|5897450M
ORC||5033220
HHH|9|NM
HHH|1|NM

代码:

代码语言:javascript
复制
val myArr=Source.fromFile("C:\\Users\\hhh.txt").getLines().toArray;

val myFiltered= myArr.filter { x => x.length()>0 }.map { x => x.split("\\|") }

val finalData =myFiltered.filter { x => x.contains("HHH") }

var myMapped =finalData.map { x => x(0)+ ","+x(1)+","+ x(2) }

println(myMaped.toBuffer)

输出如上述代码所示:

代码语言:javascript
复制
ArrayBuffer(HHH,9,NM, HHH,1,NM)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39012260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档