(window.webpackJsonp=window.webpackJsonp||[]).push([[349],{1070:function(a,e,s){"use strict";s.r(e);var t=s(69),n=Object(t.a)({},(function(){var a=this,e=a.$createElement,s=a._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"降采样查询"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#降采样查询"}},[a._v("#")]),a._v(" 降采样查询")]),a._v(" "),s("ul",[s("li",[a._v("org.apache.iotdb.db.query.dataset.groupby.GroupByEngineDataSet")])]),a._v(" "),s("p",[a._v("降采样查询的结果集都会继承 "),s("code",[a._v("GroupByEngineDataSet")]),a._v("，该类包含如下字段：")]),a._v(" "),s("ul",[s("li",[a._v("protected long queryId")]),a._v(" "),s("li",[a._v("private long interval")]),a._v(" "),s("li",[a._v("private long slidingStep")])]),a._v(" "),s("p",[a._v("以下两个字段针对整个查询，时间段为左闭右开，即 "),s("code",[a._v("[startTime, endTime)")]),a._v("：")]),a._v(" "),s("ul",[s("li",[a._v("private long startTime")]),a._v(" "),s("li",[a._v("private long endTime")])]),a._v(" "),s("p",[a._v("以下字段针对当前分段，时间段为左闭右开，即 "),s("code",[a._v("[curStartTime, curEndTime)")])]),a._v(" "),s("ul",[s("li",[a._v("protected long curStartTime;")]),a._v(" "),s("li",[a._v("protected long curEndTime;")]),a._v(" "),s("li",[a._v("private int usedIndex;")]),a._v(" "),s("li",[a._v("protected boolean hasCachedTimeInterval;")])]),a._v(" "),s("p",[s("code",[a._v("GroupByEngineDataSet")]),a._v(" 的核心方法很容易，首先根据是否有缓存的时间段判断是否有下一分段，有则返回 "),s("code",[a._v("true")]),a._v("；如果没有就计算分段开始时间，将 "),s("code",[a._v("usedIndex")]),a._v(" 增加1。如果分段开始时间已经超过了查询结束时间，返回 "),s("code",[a._v("false")]),a._v("，否则计算查询结束时间，将 "),s("code",[a._v("hasCachedTimeInterval")]),a._v(" 置为"),s("code",[a._v("true")]),a._v("，并返回 "),s("code",[a._v("true")]),a._v("：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("protected boolean hasNextWithoutConstraint() {\n  if (hasCachedTimeInterval) {\n    return true;\n  }\n\n  curStartTime = usedIndex * slidingStep + startTime;\n  usedIndex++;\n  if (curStartTime < endTime) {\n    hasCachedTimeInterval = true;\n    curEndTime = Math.min(curStartTime + interval, endTime);\n    return true;\n  } else {\n    return false;\n  }\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br")])]),s("h2",{attrs:{id:"不带值过滤条件的降采样查询"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#不带值过滤条件的降采样查询"}},[a._v("#")]),a._v(" 不带值过滤条件的降采样查询")]),a._v(" "),s("p",[a._v("不带值过滤条件的降采样查询逻辑主要在 "),s("code",[a._v("GroupByWithoutValueFilterDataSet")]),a._v(" 类中，该类继承了 "),s("code",[a._v("GroupByEngineDataSet")]),a._v("。")]),a._v(" "),s("p",[a._v("该类有如下关键字段：")]),a._v(" "),s("ul",[s("li",[s("p",[a._v("private Map<Path, GroupByExecutor> pathExecutors 针对于相同 "),s("code",[a._v("Path")]),a._v(" 的聚合函数进行归类，并封装成 "),s("code",[a._v("GroupByExecutor")]),a._v(" ,\n"),s("code",[a._v("GroupByExecutor")]),a._v(" 封装了每个 "),s("code",[a._v("Path")]),a._v(" 的数据计算逻辑和方法，在后面介绍")])]),a._v(" "),s("li",[s("p",[a._v("private TimeRange timeRange 将每次计算的时间区间封装成对象，用于判断 "),s("code",[a._v("Statistics")]),a._v(" 是否可以直接参与计算")])]),a._v(" "),s("li",[s("p",[a._v("private Filter timeFilter   将用户定义的查询区间生成为 "),s("code",[a._v("Filter")]),a._v(" 对象，用来过滤可用的"),s("code",[a._v("文件")]),a._v("、"),s("code",[a._v("chunk")]),a._v("、"),s("code",[a._v("page")])])])]),a._v(" "),s("p",[a._v("首先，在初始化 "),s("code",[a._v("initGroupBy()")]),a._v(" 方法中，根据表达式计算出 "),s("code",[a._v("timeFilter")]),a._v("，并为每个 "),s("code",[a._v("path")]),a._v(" 生成 "),s("code",[a._v("GroupByExecutor")]),a._v(" 。")]),a._v(" "),s("p",[s("code",[a._v("nextWithoutConstraint()")]),a._v(" 方法通过调用 "),s("code",[a._v("GroupByExecutor.calcResult()")]),a._v(" 方法计算出每个 "),s("code",[a._v("Path")]),a._v(" 内的所有聚合方法的聚合值 "),s("code",[a._v("aggregateResults")]),a._v("。\n以下方法用于将结果列表转化为 RowRecord，需要注意列表中没有结果时， RowRecord 中添加 "),s("code",[a._v("null")]),a._v("：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("for (AggregateResult res : fields) {\n  if (res == null) {\n    record.addField(null);\n    continue;\n  }\n  record.addField(res.getResult(), res.getResultDataType());\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br")])]),s("h3",{attrs:{id:"groupbyexecutor"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#groupbyexecutor"}},[a._v("#")]),a._v(" GroupByExecutor")]),a._v(" "),s("p",[a._v("封装了相同 path 下的所有聚合函数的计算方法，该类有如下关键字段：")]),a._v(" "),s("ul",[s("li",[a._v("private IAggregateReader reader 读取当前 "),s("code",[a._v("Path")]),a._v(" 数据用到的 "),s("code",[a._v("SeriesAggregateReader")])]),a._v(" "),s("li",[a._v("private BatchData preCachedData 每次从 "),s("code",[a._v("Reader")]),a._v(" 读取的数据是一批，很有可能会超过当前的时间段，那么这个 "),s("code",[a._v("BatchData")]),a._v(" 就会被缓存留给下一次使用")]),a._v(" "),s("li",[a._v("private List<Pair<AggregateResult, Integer>> results 存储了当前 "),s("code",[a._v("Path")]),a._v(" 里所有的聚合方法，\n例如："),s("code",[a._v("select count(a),sum(a),avg(b)")]),a._v(" ，"),s("code",[a._v("count")]),a._v(" 和 "),s("code",[a._v("sum")]),a._v(" 方法就被存到一起。\n右侧的 "),s("code",[a._v("Integer")]),a._v(" 用于结果集转化为RowRecord之前，需要将其顺序还原为用户查询的顺序。")])]),a._v(" "),s("h4",{attrs:{id:"主要方法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#主要方法"}},[a._v("#")]),a._v(" 主要方法")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("//从 reader 中读取数据，并计算，该类的主方法。\nprivate List<Pair<AggregateResult, Integer>> calcResult() throws IOException, QueryProcessException;\n\n//添加当前 path 的聚合操作\nprivate void addAggregateResult(AggregateResult aggrResult, int index);\n\n//判断当前 path 是否已经完成了所有的聚合计算\nprivate boolean isEndCalc();\n\n//从上次计算没有使用完缓存的 BatchData 中计算结果\nprivate boolean calcFromCacheData() throws IOException;\n\n//使用 BatchData 计算\nprivate void calcFromBatch(BatchData batchData) throws IOException;\n\n//使用 Page 或 Chunk 的 Statistics 信息直接计算结果\nprivate void calcFromStatistics(Statistics statistics) throws QueryProcessException;\n\n//清空所有计算结果\nprivate void resetAggregateResults();\n\n//遍历并计算 page 中的数据\nprivate boolean readAndCalcFromPage() throws IOException, QueryProcessException;\n\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br"),s("span",{staticClass:"line-number"},[a._v("16")]),s("br"),s("span",{staticClass:"line-number"},[a._v("17")]),s("br"),s("span",{staticClass:"line-number"},[a._v("18")]),s("br"),s("span",{staticClass:"line-number"},[a._v("19")]),s("br"),s("span",{staticClass:"line-number"},[a._v("20")]),s("br"),s("span",{staticClass:"line-number"},[a._v("21")]),s("br"),s("span",{staticClass:"line-number"},[a._v("22")]),s("br"),s("span",{staticClass:"line-number"},[a._v("23")]),s("br"),s("span",{staticClass:"line-number"},[a._v("24")]),s("br")])]),s("p",[s("code",[a._v("GroupByExecutor")]),a._v(" 中因为相同 "),s("code",[a._v("path")]),a._v(" 的不同聚合函数使用的数据是相同的，所以在入口方法 "),s("code",[a._v("calcResult")]),a._v(" 中负责读取该 "),s("code",[a._v("Path")]),a._v(" 的所有数据,\n取出来的数据再调用 "),s("code",[a._v("calcFromBatch")]),a._v(" 方法完成遍历所有聚合函数对 "),s("code",[a._v("BatchData")]),a._v(" 的计算。")]),a._v(" "),s("p",[s("code",[a._v("calcResult")]),a._v(" 方法返回当前 Path 下的所有AggregateResult，以及当前聚合值在用户查询顺序里的位置，其主要逻辑：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("//把上次遗留的数据先做计算，如果能直接获得结果就结束计算\nif (calcFromCacheData()) {\n    return results;\n}\n\n//因为一个chunk是包含多个page的，那么必须先使用完当前chunk的page，再打开下一个chunk\nif (readAndCalcFromPage()) {\n    return results;\n}\n\n//遗留的数据如果计算完了就要打开新的chunk继续计算\nwhile (reader.hasNextChunk()) {\n    Statistics chunkStatistics = reader.currentChunkStatistics();\n      // 判断能否使用 Statistics，并执行计算\n       ....\n      // 跳过当前chunk\n      reader.skipCurrentChunk();\n      // 如果已经获取到了所有结果就结束计算\n      if (isEndCalc()) {\n        return true;\n      }\n      continue;\n    }\n    //如果不能使用 chunkStatistics 就需要使用page数据计算\n    if (readAndCalcFromPage()) {\n      return results;\n    }\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br"),s("span",{staticClass:"line-number"},[a._v("16")]),s("br"),s("span",{staticClass:"line-number"},[a._v("17")]),s("br"),s("span",{staticClass:"line-number"},[a._v("18")]),s("br"),s("span",{staticClass:"line-number"},[a._v("19")]),s("br"),s("span",{staticClass:"line-number"},[a._v("20")]),s("br"),s("span",{staticClass:"line-number"},[a._v("21")]),s("br"),s("span",{staticClass:"line-number"},[a._v("22")]),s("br"),s("span",{staticClass:"line-number"},[a._v("23")]),s("br"),s("span",{staticClass:"line-number"},[a._v("24")]),s("br"),s("span",{staticClass:"line-number"},[a._v("25")]),s("br"),s("span",{staticClass:"line-number"},[a._v("26")]),s("br"),s("span",{staticClass:"line-number"},[a._v("27")]),s("br"),s("span",{staticClass:"line-number"},[a._v("28")]),s("br")])]),s("p",[s("code",[a._v("readAndCalcFromPage")]),a._v(" 方法是从当前打开的chunk中获取page的数据，并计算聚合结果。当完成所有计算时返回 true，否则返回 false。主要逻辑：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("while (reader.hasNextPage()) {\n    Statistics pageStatistics = reader.currentPageStatistics();\n    //只有page与其它page不相交时，才能使用 pageStatistics\n    if (pageStatistics != null) {\n        // 判断能否使用 Statistics，并执行计算\n        ....\n        // 跳过当前page\n        reader.skipCurrentPage();\n        // 如果已经获取到了所有结果就结束计算\n        if (isEndCalc()) {\n          return true;\n        }\n        continue;\n      }\n    }\n    // 不能使用 Statistics 时，只能取出所有数据进行计算\n    BatchData batchData = reader.nextPage();\n    if (batchData == null || !batchData.hasCurrent()) {\n      continue;\n    }\n    // 如果刚打开的page就超过时间范围，缓存取出来的数据并直接结束计算\n    if (batchData.currentTime() >= curEndTime) {\n      preCachedData = batchData;\n      return true;\n    }\n    //执行计算\n    calcFromBatch(batchData);\n    ...\n}\n\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br"),s("span",{staticClass:"line-number"},[a._v("16")]),s("br"),s("span",{staticClass:"line-number"},[a._v("17")]),s("br"),s("span",{staticClass:"line-number"},[a._v("18")]),s("br"),s("span",{staticClass:"line-number"},[a._v("19")]),s("br"),s("span",{staticClass:"line-number"},[a._v("20")]),s("br"),s("span",{staticClass:"line-number"},[a._v("21")]),s("br"),s("span",{staticClass:"line-number"},[a._v("22")]),s("br"),s("span",{staticClass:"line-number"},[a._v("23")]),s("br"),s("span",{staticClass:"line-number"},[a._v("24")]),s("br"),s("span",{staticClass:"line-number"},[a._v("25")]),s("br"),s("span",{staticClass:"line-number"},[a._v("26")]),s("br"),s("span",{staticClass:"line-number"},[a._v("27")]),s("br"),s("span",{staticClass:"line-number"},[a._v("28")]),s("br"),s("span",{staticClass:"line-number"},[a._v("29")]),s("br"),s("span",{staticClass:"line-number"},[a._v("30")]),s("br")])]),s("p",[s("code",[a._v("calcFromBatch")]),a._v(" 方法是对于取出的BatchData数据，遍历所有聚合函数进行计算，主要逻辑为：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("for (Pair<AggregateResult, Integer> result : results) {\n    //如果某个函数已经完成了计算，就不在进行计算了，比如最小值这种计算\n    if (result.left.isCalculatedAggregationResult()) {\n      continue;\n    }\n    // 执行计算\n    ....\n}\n//判断当前的 batchdata 里的数据是否还能被下次使用，如果能则加到缓存中\nif (batchData.getMaxTimestamp() >= curEndTime) {\n    preCachedData = batchData;\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br")])]),s("h2",{attrs:{id:"带值过滤条件的聚合查询"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#带值过滤条件的聚合查询"}},[a._v("#")]),a._v(" 带值过滤条件的聚合查询")]),a._v(" "),s("p",[a._v("带值过滤条件的降采样查询逻辑主要在 "),s("code",[a._v("GroupByWithValueFilterDataSet")]),a._v(" 类中，该类继承了 "),s("code",[a._v("GroupByEngineDataSet")]),a._v("。")]),a._v(" "),s("p",[a._v("该类有如下关键字段：")]),a._v(" "),s("ul",[s("li",[s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("private List<IReaderByTimestamp> allDataReaderList\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br")])])]),a._v(" "),s("li",[s("p",[a._v("private GroupByPlan groupByTimePlan")])]),a._v(" "),s("li",[s("p",[a._v("private TimeGenerator timestampGenerator")])]),a._v(" "),s("li",[s("p",[a._v("private long timestamp 用于为下一个 group by 分区缓存 timestamp")])]),a._v(" "),s("li",[s("p",[a._v("private boolean hasCachedTimestamp 用于判断是否有为下一个 group by 分区缓存 timestamp")])]),a._v(" "),s("li",[s("p",[a._v("private int timeStampFetchSize 是 group by 计算 batch 的大小")])])]),a._v(" "),s("p",[a._v("首先，在初始化 "),s("code",[a._v("initGroupBy()")]),a._v(" 方法中，根据表达式创建 "),s("code",[a._v("timestampGenerator")]),a._v("；然后为每一个时间序列创建一个 "),s("code",[a._v("SeriesReaderByTimestamp")]),a._v("，放到 "),s("code",[a._v("allDataReaderList")]),a._v("列表中")]),a._v(" "),s("p",[a._v("初始化完成后，调用 "),s("code",[a._v("nextWithoutConstraint()")]),a._v(" 方法更新结果。如果有为下一个 group by 分区缓存 timestamp，且时间符合要求，则将其加入 "),s("code",[a._v("timestampArray")]),a._v(" 中，否则直接返回 "),s("code",[a._v("aggregateResultList")]),a._v(" 结果；在没有为下一个 group by 分区缓存 timestamp 的情况下，使用 "),s("code",[a._v("timestampGenerator")]),a._v(" 进行遍历：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("while (timestampGenerator.hasNext()) {\n  // 调用 constructTimeArrayForOneCal() 方法，得到 timestamp 列表\n  timeArrayLength = constructTimeArrayForOneCal(timestampArray, timeArrayLength);\n\n  // 调用 updateResultUsingTimestamps() 方法，使用 timestamp 列表计算聚合结果\n  for (int i = 0; i < paths.size(); i++) {\n    aggregateResultList.get(i).updateResultUsingTimestamps(\n        timestampArray, timeArrayLength, allDataReaderList.get(i));\n  }\n\n  timeArrayLength = 0;\n  // 判断是否到结束\n  if (timestamp >= curEndTime) {\n    hasCachedTimestamp = true;\n    break;\n  }\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br"),s("span",{staticClass:"line-number"},[a._v("10")]),s("br"),s("span",{staticClass:"line-number"},[a._v("11")]),s("br"),s("span",{staticClass:"line-number"},[a._v("12")]),s("br"),s("span",{staticClass:"line-number"},[a._v("13")]),s("br"),s("span",{staticClass:"line-number"},[a._v("14")]),s("br"),s("span",{staticClass:"line-number"},[a._v("15")]),s("br"),s("span",{staticClass:"line-number"},[a._v("16")]),s("br"),s("span",{staticClass:"line-number"},[a._v("17")]),s("br")])]),s("p",[a._v("其中的 "),s("code",[a._v("constructTimeArrayForOneCal()")]),a._v(" 方法遍历 timestampGenerator 构建 timestamp 列表：")]),a._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[a._v("for (int cnt = 1; cnt < timeStampFetchSize && timestampGenerator.hasNext(); cnt++) {\n  timestamp = timestampGenerator.next();\n  if (timestamp < curEndTime) {\n    timestampArray[timeArrayLength++] = timestamp;\n  } else {\n    hasCachedTimestamp = true;\n    break;\n  }\n}\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br")])]),s("h2",{attrs:{id:"使用level来汇总降采样的总点数"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用level来汇总降采样的总点数"}},[a._v("#")]),a._v(" 使用Level来汇总降采样的总点数")]),a._v(" "),s("p",[a._v("降采样后，我们也可以使用level关键字来进一步汇总点数。")]),a._v(" "),s("p",[a._v("这个逻辑在 "),s("code",[a._v("GroupByTimeDataSet")]),a._v("类里。")]),a._v(" "),s("ol",[s("li",[s("p",[a._v("首先，把所有涉及到的时序按level来进行汇集，最后的路径。")]),a._v(" "),s("blockquote",[s("p",[a._v("例如把root.sg1.d1.s0,root.sg1.d2.s1按level=1汇集成root.sg1。")])])]),a._v(" "),s("li",[s("p",[a._v("然后调用上述的降采样逻辑求出所有时序的总点数信息，这个会返回RowRecord数据结构。")])]),a._v(" "),s("li",[s("p",[a._v("最后，把降采样返回的RowRecord按上述的final paths，进行累加，组合成新的RowRecord。")]),a._v(" "),s("blockquote",[s("p",[a._v("例如，把《root.sg1.d1.s0,3》，《root.sg1.d2.s1，4》聚合成《root.sg1，7》")])])])]),a._v(" "),s("blockquote",[s("p",[a._v("注意:")]),a._v(" "),s("ol",[s("li",[a._v("这里只支持count操作")]),a._v(" "),s("li",[a._v("root的层级level=0")])])])])}),[],!1,null,null,null);e.default=n.exports}}]);