【发布时间】:2018-03-15 14:51:50
【问题描述】:
以下是我用来将 Iterator[char] 转换为 Seq[String] 的代码。
val result = IOUtils.toByteArray(new FileInputStream (new File(fileDir)))
val remove_comp = result.grouped(11).map{arr => arr.update(2, 32);arr}.flatMap{arr => arr.update(3, 32); arr}
val convert_iter = remove_comp.map(_.toChar.toString).toSeq.mkString.split("\n")
val rdd_input = Spark.sparkSession.sparkContext.parallelize(convert_iter)
val 文件目录:
12**34567890
12@@34567890
12!!34567890
12¬¬34567890
12
'34567890
我对这段代码不满意,因为数据量很大,转换为字符串最终会得到堆空间。
val convert_iter = remove_comp.map(_.toChar)
convert_iter: Iterator[Char] = non-empty iterator
有没有更好的编码方式?
【问题讨论】:
标签: scala apache-spark