我希望将大量日志拆分为更小的序列,但日志的开始时间是重叠的
比如说我们有
largeLogs = {
[startTime=A, duration=22],
[startTime=B, duration=12],
[startTime=C, duration=34],
[startTime=D, duration=12],
[startTime=E, duration=18],
[startTime=F, duration=8]
}
请求输出应为:
{[[startTime=A, duration=22],
[startTime=B, duration=12],
[startTime=C, duration=34]],
[[startTime=B, duration=12],
[startTime=C, duration=18],
[startTime=D, duration=8]],
[[startTime=c, duration=12],
[startTime=D, duration=18],
[startTime=E, duration=8]]}
我用python编写了如下代码
def split_func(batchSize, logs):
batchSize = min(batchSize, len(logs)-1)
return [logs[i:i+b4] for i in range(len(logs) - batchSize+1)]
因为我是scala新手,所以我试着写以下内容,但我被困在最后一行
def split_func(batchSize:Int, partialLogs: ListBuffer[Array[Byte]] ) : ListBuffer[Array[Byte]] = {
batchSize = Math.min(batchSize, partialLogs.size - 1) // getting error reassignment to val
val i = 0 to partialLogs.size - batchSize+1
return [lst[i:i+n] // no idea how to change this line from python to scala
有一个名为
sliding
的Scala方法,它将执行您想要的操作:第一个参数是每个块的大小,第二个参数是每个块起点之间的间隙
相关问题 更多 >
编程相关推荐