我试图搜索一个特定的关键字,并将与该单词相关联的整行放入数组缓冲区。我使用下面的示例并尝试将所有hhh放入数组缓冲区。
样品
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
为了实现这一目标,我编写了以下代码:
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 }
}
}
但是我看不到数组缓冲区的内容。我想知道如何查看数组缓冲区内容,这是正确的方法吗。
请帮忙
1条答案
按热度按时间qlckcl4x1#
你也可以试试这样的。使用tobuffer方法将任何集合转换为可变集合。
我试着用下面的输入
代码:
按上述代码输出: