Akka按流和分组批次

时间:2018-11-13 13:39:46

标签: akka-stream

我有一个特定格式的文件,我想按一个键进行分组。关键应该是第一部分。 然后将其分为3组。

例如: 这是我的文件:

key1 a

key1 c

key1 d

key2 e

key3 f

key4 f

key5 ee

key6 m

预期输出:

(key1,a)(key1 c)(key1,d)(key2,e)(key3,f)

(key4,f)(key5,j)(key6,m)

将所有具有key1的行视为一个组,并将其他2个组组合在一起。

这是我的代码:

FileIO.fromPath(Paths.get(“test”))
.via(Framing.delimiter(ByteString("\n"), 256, true)
.map(_.utf8String))
.groupBy(Int.MaxValue,x=> ({x.split(" ")(0)}, x))
.mergeSubstreams
.grouped(3)
.runForeach(println)

实际输出:

(key1,a)(key1 c)(key1,d)

(key2,e)(key3,f)(key4,f)

(key5,j)(key6,m)

0 个答案:

没有答案