我有一个特定格式的文件,我想按一个键进行分组。关键应该是第一部分。 然后将其分为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)