Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

输入:多个文件的 ChunkMetadataListIterator,Iterator Iterator(iterator),Iterator 每次输出的 List 内的 sensor 个数为 max_index_degree(假设有3个文件:file1:(s1,s2),(s3,s4)   file2:(s1, s3)  file3:(s1,s2),(s3,s4s5)

输出:每轮待合并的 sensor 列表

描述:每个迭代器取1个 描述:每个 iterator 取1个 List,找到每个 List 的最大字典序的 sensor,组成集合 S,本次合并从头开始合并到 S 中最小字典序的 sensor sensor,直到所有都合并完 。并从 List 中清除已合并的 sensor,如果此 List 消耗完,获取下一个 Lst

...

第一轮:file1(s1,s2)+file2(s1,s3)+file3(s3s1,s4s2) → (s1,s2)

第二轮:file1(s3, s4)+file2(s3)+file3(s3,s4s5)  → (s3)

第三轮:file1(s4)+第三轮:file3(s4s5) → (s4s5)




反序列化Page合并算法

  • 通过各自文件的reader有序把数据读出并整理出对应的time-value列表
  • 遍历上述的time-value列表,将数据写入新的ChunkWriter
  • 判断限流
  • ChunkWriter写入新文件

...