| <!doctype html> |
| <html lang="zh-CN" data-theme="light"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width,initial-scale=1" /> |
| <meta name="generator" content="VuePress 2.0.0-rc.19" /> |
| <meta name="theme" content="VuePress Theme Hope 2.0.0-rc.71" /> |
| <style> |
| :root { |
| --vp-c-bg: #fff; |
| } |
| |
| [data-theme="dark"] { |
| --vp-c-bg: #1b1b1f; |
| } |
| |
| html, |
| body { |
| background: var(--vp-c-bg); |
| } |
| </style> |
| <script> |
| const userMode = localStorage.getItem("vuepress-theme-hope-scheme"); |
| const systemDarkMode = |
| window.matchMedia && |
| window.matchMedia("(prefers-color-scheme: dark)").matches; |
| |
| if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) { |
| document.documentElement.setAttribute("data-theme", "dark"); |
| } |
| </script> |
| <link rel="alternate" hreflang="en-us" href="https://iotdb.apache.org/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.html"><meta property="og:url" content="https://iotdb.apache.org/zh/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="UDF函数库"><meta property="og:description" content="UDF函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 安装步骤 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 ..."><meta property="og:type" content="article"><meta property="og:locale" content="zh-CN"><meta property="og:locale:alternate" content="en-US"><meta property="og:updated_time" content="2025-03-13T04:11:25.000Z"><meta property="article:modified_time" content="2025-03-13T04:11:25.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"UDF函数库","image":[""],"dateModified":"2025-03-13T04:11:25.000Z","author":[]}</script><link rel="icon" href="/favicon.ico"><meta name="Description" content="Apache IoTDB: Time Series Database for IoT"><meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management, 时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据"><meta name="baidu-site-verification" content="wfKETzB3OT"><meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo"><script type="text/javascript">var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| _paq.push(["setDoNotTrack", true]); |
| _paq.push(["disableCookies"]); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '56']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script><title>UDF函数库 | IoTDB Website</title><meta name="description" content="UDF函数库 基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。 注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。 安装步骤 请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。 ..."> |
| <link rel="preload" href="/assets/style-CI4qIzxp.css" as="style"><link rel="stylesheet" href="/assets/style-CI4qIzxp.css"> |
| <link rel="modulepreload" href="/assets/app-C-fAkKj6.js"><link rel="modulepreload" href="/assets/UDF-Libraries_apache.html-D81mR-7W.js"> |
| |
| </head> |
| <body> |
| <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">跳至主要內容</a><!--]--><!--[--><div class="theme-container external-link-icon has-toc" vp-container><!--[--><header id="navbar" class="vp-navbar" vp-navbar><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><a class="route-link vp-brand" href="/zh/" aria-label="带我回家"><img class="vp-nav-logo" src="/logo.png" alt><!----><!----></a><!--]--></div><div class="vp-navbar-center"><!--[--><!--]--></div><div class="vp-navbar-end"><!--[--><!--[--><div id="docsearch-container" style="display:none;"></div><div><button type="button" class="DocSearch DocSearch-Button" aria-label="搜索文档"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"><svg width="15" height="15" class="DocSearch-Control-Key-Icon"><path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path></svg></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="文档"><!--[--><!---->文档<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/latest/QuickStart/QuickStart_apache.html" aria-label="v2.0.x" iconsizing="both"><!---->v2.0.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.3.x/QuickStart/QuickStart_apache.html" aria-label="v1.3.x" iconsizing="both"><!---->v1.3.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V1.2.x/QuickStart/QuickStart.html" aria-label="v1.2.x" iconsizing="both"><!---->v1.2.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/V0.13.x/QuickStart/QuickStart.html" aria-label="v0.13.x" iconsizing="both"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a class="auto-link external-link" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=177051872" aria-label="系统设计" rel="noopener noreferrer" target="_blank" iconsizing="height"><!---->系统设计<!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/zh/Download/" aria-label="下载" iconsizing="height"><!---->下载<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="社区"><!--[--><!---->社区<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/About.html" aria-label="关于社区" iconsizing="both"><!---->关于社区<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Development-Guide.html" aria-label="贡献指南" iconsizing="both"><!---->贡献指南<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Community-Partners.html" aria-label="社区伙伴" iconsizing="both"><!---->社区伙伴<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Feedback.html" aria-label="交流与反馈" iconsizing="both"><!---->交流与反馈<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Events-and-Reports.html" aria-label="活动与报告" iconsizing="both"><!---->活动与报告<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/Community/Committers.html" aria-label="Committers" iconsizing="both"><!---->Committers<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="ASF"><!--[--><!---->ASF<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/" aria-label="基金会" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->基金会<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/licenses/" aria-label="许可证" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->许可证<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/security/" aria-label="安全" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->安全<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/sponsorship.html" aria-label="赞助" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->赞助<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/thanks.html" aria-label="致谢" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->致谢<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/events/current-event" aria-label="活动" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->活动<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://privacy.apache.org/policies/privacy-policy-public.html" aria-label="隐私" rel="noopener noreferrer" target="_blank" iconsizing="both"><!---->隐私<!----></a></li></ul></button></div></div></nav><div class="vp-nav-item"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="选择语言"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon i18n-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="i18n icon" name="i18n" style="width:1rem;height:1rem;vertical-align:middle;"><path d="M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"></path></svg><!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.html" aria-label="English" iconsizing="both"><!---->English<!----></a></li><li class="vp-dropdown-item"><a class="route-link route-link-active auto-link" href="/zh/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.html" aria-label="简体中文" iconsizing="both"><!---->简体中文<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><button type="button" class="vp-color-mode-switch" id="color-mode-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" name="auto" style="display:none;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" name="dark" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" name="light" style="display:block;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><div class="vp-nav-item vp-action"><a class="vp-action-link" href="https://github.com/apache/iotdb" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" name="github" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar iotdb-sidebar" vp-sidebar><!--[--><p class="vp-sidebar-header iotdb-sidebar-header"><span class="vp-sidebar-title">IoTDB用户手册 (V1.3.x)</span></p><div class="sidebar-top-wrapper"><!----></div><!--]--><ul class="vp-sidebar-links"><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><!----><span class="vp-sidebar-title">IoTDB用户手册 (V1.3.x)</span><!----></p><ul class="vp-sidebar-links"></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">关于IoTDB</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">预备知识</span><span class="vp-arrow end"></span></button><!----></section></li><li><a class="route-link auto-link vp-sidebar-link" href="/zh/UserGuide/V1.3.x/QuickStart/QuickStart_apache.html" aria-label="快速上手" iconsizing="both"><!---->快速上手<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">部署与运维</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">基础功能</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">高级功能</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">工具体系</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">应用编程接口</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">系统集成</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">SQL手册</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><a class="route-link auto-link vp-sidebar-link" href="/zh/UserGuide/V1.3.x/SQL-Manual/SQL-Manual.html" aria-label="SQL手册" iconsizing="both"><!---->SQL手册<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">函数与运算符</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><a class="route-link route-link-active auto-link vp-sidebar-link active" href="/zh/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.html" aria-label="UDF函数库" iconsizing="both"><!---->UDF函数库<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/zh/UserGuide/V1.3.x/SQL-Manual/Operator-and-Expression.html" aria-label="函数与运算符" iconsizing="both"><!---->函数与运算符<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/zh/UserGuide/V1.3.x/SQL-Manual/Function-and-Expression.html" aria-label="内置函数与表达式" iconsizing="both"><!---->内置函数与表达式<!----></a></li></ul></section></li></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">技术内幕</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">附录</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">FAQ</span><span class="vp-arrow end"></span></button><!----></section></li></ul><!----></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->UDF函数库</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="写作日期📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon" name="calendar"><path d="M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"></path></svg><span data-allow-mismatch="text">2023年9月1日</span><meta property="datePublished" content="2023-09-01T12:02:30.000Z"></span><!----><span class="page-reading-time-info" aria-label="阅读时间⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon" name="timer"><path d="M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"></path></svg><span>大约 110 分钟</span><meta property="timeRequired" content="PT110M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc" vp-toc><!----><!--[--><div class="vp-toc-header">此页内容<button type="button" class="print-button" title="打印"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon" name="print"><path d="M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#安装步骤">安装步骤</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#数据质量">数据质量</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#completeness">Completeness</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#consistency">Consistency</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#timeliness">Timeliness</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#validity">Validity</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#数据画像">数据画像</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#acf">ACF</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#distinct">Distinct</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#histogram">Histogram</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#integral">Integral</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#integralavg">IntegralAvg</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#mad">Mad</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#median">Median</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#minmax">MinMax</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#mvavg">MvAvg</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#pacf">PACF</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#percentile">Percentile</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#quantile">Quantile</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#period">Period</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#qlb">QLB</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#resample">Resample</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#sample">Sample</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#segment">Segment</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#skew">Skew</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#spline">Spline</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#spread">Spread</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#zscore">ZScore</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#异常检测">异常检测</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#iqr">IQR</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#ksigma">KSigma</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#lof">LOF</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#missdetect">MissDetect</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#range">Range</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#twosidedfilter">TwoSidedFilter</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#outlier">Outlier</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#mastertrain">MasterTrain</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#masterdetect">MasterDetect</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#频域分析">频域分析</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#conv">Conv</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#deconv">Deconv</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#dwt">DWT</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#fft">FFT</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#highpass">HighPass</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#ifft">IFFT</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#lowpass">LowPass</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#envelope">Envelope</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#函数简介-41">函数简介</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#使用示例-41">使用示例</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#数据匹配">数据匹配</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#cov">Cov</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#dtw">Dtw</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#pearson">Pearson</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#ptnsym">PtnSym</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#xcorr">XCorr</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#pattern-match">Pattern_match</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#数据修复">数据修复</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#timestamprepair">TimestampRepair</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#函数简介-48">函数简介</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#使用示例-48">使用示例</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#valuefill">ValueFill</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#valuerepair">ValueRepair</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#masterrepair">MasterRepair</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#seasonalrepair">SeasonalRepair</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#序列发现">序列发现</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#consecutivesequences">ConsecutiveSequences</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#consecutivewindows">ConsecutiveWindows</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#机器学习">机器学习</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#ar">AR</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#representation">Representation</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#rm">RM</a></li><!----><!--]--></ul></li><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--]--><!----></aside></div><!----><div class="theme-hope-content" vp-content><h1 id="udf函数库" tabindex="-1"><a class="header-anchor" href="#udf函数库"><span>UDF函数库</span></a></h1><p>基于用户自定义函数能力,IoTDB 提供了一系列关于时序数据处理的函数,包括数据质量、数据画像、异常检测、 频域分析、数据匹配、数据修复、序列发现、机器学习等,能够满足工业领域对时序数据处理的需求。</p><blockquote><p>注意:当前UDF函数库中的函数仅支持毫秒级的时间戳精度。</p></blockquote><h2 id="安装步骤" tabindex="-1"><a class="header-anchor" href="#安装步骤"><span>安装步骤</span></a></h2><ol><li><p>请获取与 IoTDB 版本兼容的 UDF 函数库 JAR 包的压缩包。</p><table><thead><tr><th>UDF 安装包</th><th>支持的 IoTDB 版本</th><th>下载链接</th></tr></thead><tbody><tr><td>apache-UDF-1.3.3.zip</td><td>V1.3.3及以上</td><td>请联系天谋商务获取</td></tr><tr><td>apache-UDF-1.3.2.zip</td><td>V1.0.0~V1.3.2</td><td>请联系天谋商务获取</td></tr></tbody></table></li><li><p>将获取的压缩包中的 library-udf.jar 文件放置在 IoTDB 集群所有节点的 <code>/ext/udf</code> 的目录下</p></li><li><p>在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行下述相应的函数注册语句。</p></li><li><p>批量注册:两种注册方式:注册脚本 或 SQL汇总语句</p></li></ol><ul><li><p>注册脚本</p><ul><li>将压缩包中的注册脚本(<a href="http://register-UDF.sh" target="_blank" rel="noopener noreferrer">register-UDF.sh</a> 或 register-UDF.bat)按需复制到 IoTDB 的 tools 目录下,修改脚本中的参数(默认为host=127.0.0.1,rpcPort=6667,user=root,pass=root);</li><li>启动 IoTDB 服务,运行注册脚本批量注册 UDF</li></ul></li><li><p>SQL汇总语句</p><ul><li>打开压缩包中的SQl文件,复制全部 SQL 语句,在 IoTDB 的 SQL 命令行终端(CLI)的 SQL 操作界面中,执行全部 SQl 语句批量注册 UDF</li></ul></li></ul><h2 id="数据质量" tabindex="-1"><a class="header-anchor" href="#数据质量"><span>数据质量</span></a></h2><h3 id="completeness" tabindex="-1"><a class="header-anchor" href="#completeness"><span>Completeness</span></a></h3><h4 id="注册语句" tabindex="-1"><a class="header-anchor" href="#注册语句"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> completeness</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dquality.UDTFCompleteness'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介" tabindex="-1"><a class="header-anchor" href="#函数简介"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的完整性。将输入序列划分为若干个连续且不重叠的窗口,分别计算每一个窗口的完整性,并输出窗口第一个数据点的时间戳和窗口的完整性。</p><p><strong>函数名:</strong> COMPLETENESS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>window</code>:窗口大小,它是一个大于0的整数或者一个有单位的正数。前者代表每一个窗口包含的数据点数目,最后一个窗口的数据点数目可能会不足;后者代表窗口的时间跨度,目前支持五种单位,分别是'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。缺省情况下,全部输入数据都属于同一个窗口。</li><li><code>downtime</code>:完整性计算是否考虑停机异常。它的取值为 'true' 或 'false',默认值为 'true'. 在考虑停机异常时,长时间的数据缺失将被视作停机,不对完整性产生影响。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,其中每一个数据点的值的范围都是 [0,1].</p><p><strong>提示:</strong> 只有当窗口内的数据点数目超过10时,才会进行完整性计算。否则,该窗口将被忽略,不做任何输出。</p><h4 id="使用示例" tabindex="-1"><a class="header-anchor" href="#使用示例"><span>使用示例</span></a></h4><h5 id="参数缺省" tabindex="-1"><a class="header-anchor" href="#参数缺省"><span>参数缺省</span></a></h5><p>在参数缺省的情况下,本函数将会把全部输入数据都作为同一个窗口计算完整性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> completeness(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| Time|completeness(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.875|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="指定窗口大小" tabindex="-1"><a class="header-anchor" href="#指定窗口大小"><span>指定窗口大小</span></a></h5><p>在指定窗口大小的情况下,本函数会把输入数据划分为若干个窗口计算完整性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> completeness(s1,</span><span style="color:#98C379;">"window"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"15"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------+</span></span> |
| <span class="line"><span>| Time|completeness(root.test.d1.s1, "window"="15")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.875|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="consistency" tabindex="-1"><a class="header-anchor" href="#consistency"><span>Consistency</span></a></h3><h4 id="注册语句-1" tabindex="-1"><a class="header-anchor" href="#注册语句-1"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consistency</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dquality.UDTFConsistency'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-1" tabindex="-1"><a class="header-anchor" href="#函数简介-1"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的一致性。将输入序列划分为若干个连续且不重叠的窗口,分别计算每一个窗口的一致性,并输出窗口第一个数据点的时间戳和窗口的时效性。</p><p><strong>函数名:</strong> CONSISTENCY</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>window</code>:窗口大小,它是一个大于0的整数或者一个有单位的正数。前者代表每一个窗口包含的数据点数目,最后一个窗口的数据点数目可能会不足;后者代表窗口的时间跨度,目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。缺省情况下,全部输入数据都属于同一个窗口。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,其中每一个数据点的值的范围都是 [0,1].</p><p><strong>提示:</strong> 只有当窗口内的数据点数目超过10时,才会进行一致性计算。否则,该窗口将被忽略,不做任何输出。</p><h4 id="使用示例-1" tabindex="-1"><a class="header-anchor" href="#使用示例-1"><span>使用示例</span></a></h4><h5 id="参数缺省-1" tabindex="-1"><a class="header-anchor" href="#参数缺省-1"><span>参数缺省</span></a></h5><p>在参数缺省的情况下,本函数将会把全部输入数据都作为同一个窗口计算一致性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consistency(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>| Time|consistency(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="指定窗口大小-1" tabindex="-1"><a class="header-anchor" href="#指定窗口大小-1"><span>指定窗口大小</span></a></h5><p>在指定窗口大小的情况下,本函数会把输入数据划分为若干个窗口计算一致性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consistency(s1,</span><span style="color:#98C379;">"window"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"15"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------+</span></span> |
| <span class="line"><span>| Time|consistency(root.test.d1.s1, "window"="15")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="timeliness" tabindex="-1"><a class="header-anchor" href="#timeliness"><span>Timeliness</span></a></h3><h4 id="注册语句-2" tabindex="-1"><a class="header-anchor" href="#注册语句-2"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> timeliness</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dquality.UDTFTimeliness'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-2" tabindex="-1"><a class="header-anchor" href="#函数简介-2"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的时效性。将输入序列划分为若干个连续且不重叠的窗口,分别计算每一个窗口的时效性,并输出窗口第一个数据点的时间戳和窗口的时效性。</p><p><strong>函数名:</strong> TIMELINESS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>window</code>:窗口大小,它是一个大于0的整数或者一个有单位的正数。前者代表每一个窗口包含的数据点数目,最后一个窗口的数据点数目可能会不足;后者代表窗口的时间跨度,目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。缺省情况下,全部输入数据都属于同一个窗口。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,其中每一个数据点的值的范围都是 [0,1].</p><p><strong>提示:</strong> 只有当窗口内的数据点数目超过10时,才会进行时效性计算。否则,该窗口将被忽略,不做任何输出。</p><h4 id="使用示例-2" tabindex="-1"><a class="header-anchor" href="#使用示例-2"><span>使用示例</span></a></h4><h5 id="参数缺省-2" tabindex="-1"><a class="header-anchor" href="#参数缺省-2"><span>参数缺省</span></a></h5><p>在参数缺省的情况下,本函数将会把全部输入数据都作为同一个窗口计算时效性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timeliness(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------+</span></span> |
| <span class="line"><span>| Time|timeliness(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="指定窗口大小-2" tabindex="-1"><a class="header-anchor" href="#指定窗口大小-2"><span>指定窗口大小</span></a></h5><p>在指定窗口大小的情况下,本函数会把输入数据划分为若干个窗口计算时效性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timeliness(s1,</span><span style="color:#98C379;">"window"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"15"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------+</span></span> |
| <span class="line"><span>| Time|timeliness(root.test.d1.s1, "window"="15")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.9333333333333333|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="validity" tabindex="-1"><a class="header-anchor" href="#validity"><span>Validity</span></a></h3><h4 id="注册语句-3" tabindex="-1"><a class="header-anchor" href="#注册语句-3"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> validity</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dquality.UDTFValidity'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-3" tabindex="-1"><a class="header-anchor" href="#函数简介-3"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的有效性。将输入序列划分为若干个连续且不重叠的窗口,分别计算每一个窗口的有效性,并输出窗口第一个数据点的时间戳和窗口的有效性。</p><p><strong>函数名:</strong> VALIDITY</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>window</code>:窗口大小,它是一个大于0的整数或者一个有单位的正数。前者代表每一个窗口包含的数据点数目,最后一个窗口的数据点数目可能会不足;后者代表窗口的时间跨度,目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。缺省情况下,全部输入数据都属于同一个窗口。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,其中每一个数据点的值的范围都是 [0,1].</p><p><strong>提示:</strong> 只有当窗口内的数据点数目超过10时,才会进行有效性计算。否则,该窗口将被忽略,不做任何输出。</p><h4 id="使用示例-3" tabindex="-1"><a class="header-anchor" href="#使用示例-3"><span>使用示例</span></a></h4><h5 id="参数缺省-3" tabindex="-1"><a class="header-anchor" href="#参数缺省-3"><span>参数缺省</span></a></h5><p>在参数缺省的情况下,本函数将会把全部输入数据都作为同一个窗口计算有效性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> validity(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>| Time|validity(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.8833333333333333|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="指定窗口大小-3" tabindex="-1"><a class="header-anchor" href="#指定窗口大小-3"><span>指定窗口大小</span></a></h5><p>在指定窗口大小的情况下,本函数会把输入数据划分为若干个窗口计算有效性。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 130.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:34.000+08:00| 132.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:36.000+08:00| 134.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:38.000+08:00| 136.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:40.000+08:00| 138.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:42.000+08:00| 140.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:44.000+08:00| 142.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:46.000+08:00| 144.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:48.000+08:00| 146.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:50.000+08:00| 148.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:52.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:54.000+08:00| 152.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:56.000+08:00| 154.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:58.000+08:00| 156.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:01:00.000+08:00| 158.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> validity(s1,</span><span style="color:#98C379;">"window"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"15"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>| Time|validity(root.test.d1.s1, "window"="15")|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.8833333333333333|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:32.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="数据画像" tabindex="-1"><a class="header-anchor" href="#数据画像"><span>数据画像</span></a></h2><h3 id="acf" tabindex="-1"><a class="header-anchor" href="#acf"><span>ACF</span></a></h3><h4 id="注册语句-4" tabindex="-1"><a class="header-anchor" href="#注册语句-4"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> acf</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFACF'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-4" tabindex="-1"><a class="header-anchor" href="#函数简介-4"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的自相关函数值,即序列与自身之间的互相关函数。</p><p><strong>函数名:</strong> ACF</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列中共包含<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.186ex;" xmlns="http://www.w3.org/2000/svg" width="7.037ex" height="1.731ex" role="img" focusable="false" viewBox="0 -683 3110.4 765" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1610.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(2610.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mi>N</mi><mo>−</mo><mn>1</mn></math></mjx-assistive-mml></mjx-container>个数据点。</p><p><strong>提示:</strong></p><ul><li>序列中的<code>NaN</code>值会被忽略,在计算中表现为0。</li></ul><h4 id="使用示例-4" tabindex="-1"><a class="header-anchor" href="#使用示例-4"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> acf(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">05</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>| Time|acf(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 3.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 3.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="distinct" tabindex="-1"><a class="header-anchor" href="#distinct"><span>Distinct</span></a></h3><h4 id="注册语句-5" tabindex="-1"><a class="header-anchor" href="#注册语句-5"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> distinct</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFDistinct'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-5" tabindex="-1"><a class="header-anchor" href="#函数简介-5"><span>函数简介</span></a></h4><p>本函数可以返回输入序列中出现的所有不同的元素。</p><p><strong>函数名:</strong> DISTINCT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型可以是任意的</p><p><strong>输出序列:</strong> 输出单个序列,类型与输入相同。</p><p><strong>提示:</strong></p><ul><li>输出序列的时间戳是无意义的。输出顺序是任意的。</li><li>缺失值和空值将被忽略,但<code>NaN</code>不会被忽略。</li><li>字符串区分大小写</li></ul><h4 id="使用示例-5" tabindex="-1"><a class="header-anchor" href="#使用示例-5"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T08:00:00.001+08:00| Hello|</span></span> |
| <span class="line"><span>|2020-01-01T08:00:00.002+08:00| hello|</span></span> |
| <span class="line"><span>|2020-01-01T08:00:00.003+08:00| Hello|</span></span> |
| <span class="line"><span>|2020-01-01T08:00:00.004+08:00| World|</span></span> |
| <span class="line"><span>|2020-01-01T08:00:00.005+08:00| World|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select distinct</span><span style="color:#ABB2BF;">(s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>| Time|distinct(root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| Hello|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| hello|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| World|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="histogram" tabindex="-1"><a class="header-anchor" href="#histogram"><span>Histogram</span></a></h3><h4 id="注册语句-6" tabindex="-1"><a class="header-anchor" href="#注册语句-6"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> histogram</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFHistogram'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-6" tabindex="-1"><a class="header-anchor" href="#函数简介-6"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的分布直方图。</p><p><strong>函数名:</strong> HISTOGRAM</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>min</code>:表示所求数据范围的下限,默认值为 -Double.MAX_VALUE。</li><li><code>max</code>:表示所求数据范围的上限,默认值为 Double.MAX_VALUE,<code>start</code>的值必须小于或等于<code>end</code>。</li><li><code>count</code>: 表示直方图分桶的数量,默认值为 1,其值必须为正整数。</li></ul><p><strong>输出序列:</strong> 直方图分桶的值,其中第 i 个桶(从 1 开始计数)表示的数据范围下界为<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.798ex;" xmlns="http://www.w3.org/2000/svg" width="23.285ex" height="2.756ex" role="img" focusable="false" viewBox="0 -865.4 10291.9 1218.2" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1223,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2045.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(3045.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(3434.4,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(4001.7,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(5001.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(5501.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6113.1,0)"><path data-c="22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path></g><g data-mml-node="mfrac" transform="translate(6613.3,0)"><g data-mml-node="mrow" transform="translate(220,398) scale(0.707)"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(1407,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(1979,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2757,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3635,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3980,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g></g><g data-mml-node="mrow" transform="translate(972.7,-345) scale(0.707)"><g data-mml-node="mi"><path data-c="1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path></g><g data-mml-node="mi" transform="translate(433,0)"><path data-c="1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path></g><g data-mml-node="mi" transform="translate(918,0)"><path data-c="1D462" d="M21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1490,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2090,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g></g><rect width="3438.5" height="60" x="120" y="220"></rect></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>i</mi><mi>n</mi><mo>+</mo><mo stretchy="false">(</mo><mi>i</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>⋅</mo><mfrac><mrow><mi>m</mi><mi>a</mi><mi>x</mi><mo>−</mo><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>c</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>t</mi></mrow></mfrac></math></mjx-assistive-mml></mjx-container>,数据范围上界为<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.798ex;" xmlns="http://www.w3.org/2000/svg" width="17.628ex" height="2.756ex" role="img" focusable="false" viewBox="0 -865.4 7791.4 1218.2" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1223,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2045.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(3045.4,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3612.7,0)"><path data-c="22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path></g><g data-mml-node="mfrac" transform="translate(4112.9,0)"><g data-mml-node="mrow" transform="translate(220,398) scale(0.707)"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(878,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(1407,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(1979,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2757,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3635,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3980,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g></g><g data-mml-node="mrow" transform="translate(972.7,-345) scale(0.707)"><g data-mml-node="mi"><path data-c="1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path></g><g data-mml-node="mi" transform="translate(433,0)"><path data-c="1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path></g><g data-mml-node="mi" transform="translate(918,0)"><path data-c="1D462" d="M21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1490,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2090,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g></g><rect width="3438.5" height="60" x="120" y="220"></rect></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>m</mi><mi>i</mi><mi>n</mi><mo>+</mo><mi>i</mi><mo>⋅</mo><mfrac><mrow><mi>m</mi><mi>a</mi><mi>x</mi><mo>−</mo><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>c</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>t</mi></mrow></mfrac></math></mjx-assistive-mml></mjx-container>。</p><p><strong>提示:</strong></p><ul><li>如果某个数据点的数值小于<code>min</code>,它会被放入第 1 个桶;如果某个数据点的数值大于<code>max</code>,它会被放入最后 1 个桶。</li><li>数据中的空值、缺失值和<code>NaN</code>将会被忽略。</li></ul><h4 id="使用示例-6" tabindex="-1"><a class="header-anchor" href="#使用示例-6"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 11.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:11.000+08:00| 12.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| 13.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:13.000+08:00| 14.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 15.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 16.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 17.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:17.000+08:00| 18.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 19.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:19.000+08:00| 20.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> histogram</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">"min"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"max"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"20"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"count"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"10"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|histogram(root.test.d1.s1, "min"="1", "max"="20", "count"="10")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="integral" tabindex="-1"><a class="header-anchor" href="#integral"><span>Integral</span></a></h3><h4 id="注册语句-7" tabindex="-1"><a class="header-anchor" href="#注册语句-7"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> integral</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFIntegral'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-7" tabindex="-1"><a class="header-anchor" href="#函数简介-7"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的数值积分,即以时间为横坐标、数值为纵坐标绘制的折线图中折线以下的面积。</p><p><strong>函数名:</strong> INTEGRAL</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>unit</code>:积分求解所用的时间轴单位,取值为 "1S", "1s", "1m", "1H", "1d"(区分大小写),分别表示以毫秒、秒、分钟、小时、天为单位计算积分。<br> 缺省情况下取 "1s",以秒为单位。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE,序列仅包含一个时间戳为 0、值为积分结果的数据点。</p><p><strong>提示:</strong></p><ul><li><p>积分值等于折线图中每相邻两个数据点和时间轴形成的直角梯形的面积之和,不同时间单位下相当于横轴进行不同倍数放缩,得到的积分值可直接按放缩倍数转换。</p></li><li><p>数据中<code>NaN</code>将会被忽略。折线将以临近两个有值数据点为准。</p></li></ul><h4 id="使用示例-7" tabindex="-1"><a class="header-anchor" href="#使用示例-7"><span>使用示例</span></a></h4><h5 id="参数缺省-4" tabindex="-1"><a class="header-anchor" href="#参数缺省-4"><span>参数缺省</span></a></h5><p>缺省情况下积分以1s为时间单位。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 6|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 7|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integral(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>| Time|integral(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 57.5|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>其计算公式为:</p><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-1.552ex;" xmlns="http://www.w3.org/2000/svg" width="89.496ex" height="4.588ex" role="img" focusable="false" viewBox="0 -1342 39557.1 2028" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(220,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mn" transform="translate(220,-686)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><rect width="700" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(940,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(1218,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1607,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2329.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3329.4,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3829.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(4440.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(5440.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(6163.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(7163.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(7552.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(8274.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(9274.8,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(9774.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(10386,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(11386.2,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(12108.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(13108.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(13497.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(14219.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(15220.1,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(15720.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(16331.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(17331.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(18053.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(19054,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(19443,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(20165.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(21165.4,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(21665.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(22276.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(23276.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(23999.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(24999.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(25388.3,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(26110.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(27110.8,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(27610.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(28222,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(29222.2,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(29944.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(30944.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(31333.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(32055.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(33056.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(34056.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(34667.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(35667.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(36167.6,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(36723.3,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(37779.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z" transform="translate(500,0)"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(1000,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mn>1</mn><mn>2</mn></mfrac><mo stretchy="false">[</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>2</mn><mo>+</mo><mn>5</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>5</mn><mo>+</mo><mn>6</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>6</mn><mo>+</mo><mn>7</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>7</mn><mo>+</mo><mn>8</mn><mo stretchy="false">)</mo><mo>×</mo><mn>3</mn><mo>+</mo><mo stretchy="false">(</mo><mn>8</mn><mo>+</mo><mn>10</mn><mo stretchy="false">)</mo><mo>×</mo><mn>2</mn><mo stretchy="false">]</mo><mo>=</mo><mn>57.5</mn></math></mjx-assistive-mml></mjx-container><h5 id="指定时间单位" tabindex="-1"><a class="header-anchor" href="#指定时间单位"><span>指定时间单位</span></a></h5><p>指定以分钟为时间单位。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integral(s1, </span><span style="color:#98C379;">"unit"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1m"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>| Time|integral(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.958|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>其计算公式为:</p><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-1.602ex;" xmlns="http://www.w3.org/2000/svg" width="95.655ex" height="4.638ex" role="img" focusable="false" viewBox="0 -1342 42279.6 2050" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(1331.2,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mrow" transform="translate(220,-686)"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(722.2,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(1722.4,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g></g><rect width="2922.4" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(3162.4,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(3440.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3829.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(4551.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(5551.9,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(6051.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6663.1,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(7663.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(8385.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(9385.8,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9774.8,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(10497,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(11497.2,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(11997.2,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(12608.4,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(13608.7,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(14330.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(15331.1,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(15720.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(16442.3,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(17442.6,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(17942.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(18553.8,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(19554,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(20276.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(21276.4,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(21665.4,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(22387.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(23387.9,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(23887.9,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(24499.1,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(25499.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(26221.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(27221.8,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(27610.8,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(28333,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(29333.2,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(29833.2,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(30444.4,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(31444.7,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(32166.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(33167.1,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(33556.1,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(34278.3,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(35278.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(36278.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(36889.8,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(37890,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(38390,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(38945.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(40001.6,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(778,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(1778,0)"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mn>1</mn><mrow><mn>2</mn><mo>×</mo><mn>60</mn></mrow></mfrac><mo stretchy="false">[</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>2</mn><mo>+</mo><mn>3</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>5</mn><mo>+</mo><mn>6</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>6</mn><mo>+</mo><mn>7</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>7</mn><mo>+</mo><mn>8</mn><mo stretchy="false">)</mo><mo>×</mo><mn>3</mn><mo>+</mo><mo stretchy="false">(</mo><mn>8</mn><mo>+</mo><mn>10</mn><mo stretchy="false">)</mo><mo>×</mo><mn>2</mn><mo stretchy="false">]</mo><mo>=</mo><mn>0.958</mn></math></mjx-assistive-mml></mjx-container><h3 id="integralavg" tabindex="-1"><a class="header-anchor" href="#integralavg"><span>IntegralAvg</span></a></h3><h4 id="注册语句-8" tabindex="-1"><a class="header-anchor" href="#注册语句-8"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> integralavg</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFIntegralAvg'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-8" tabindex="-1"><a class="header-anchor" href="#函数简介-8"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的函数均值,即在相同时间单位下的数值积分除以序列总的时间跨度。更多关于数值积分计算的信息请参考<code>Integral</code>函数。</p><p><strong>函数名:</strong> INTEGRALAVG</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE,序列仅包含一个时间戳为 0、值为时间加权平均结果的数据点。</p><p><strong>提示:</strong></p><ul><li><p>时间加权的平均值等于在任意时间单位<code>unit</code>下计算的数值积分(即折线图中每相邻两个数据点和时间轴形成的直角梯形的面积之和),<br> 除以相同时间单位下输入序列的时间跨度,其值与具体采用的时间单位无关,默认与 IoTDB 时间单位一致。</p></li><li><p>数据中的<code>NaN</code>将会被忽略。折线将以临近两个有值数据点为准。</p></li><li><p>输入序列为空时,函数输出结果为 0;仅有一个数据点时,输出结果为该点数值。</p></li></ul><h4 id="使用示例-8" tabindex="-1"><a class="header-anchor" href="#使用示例-8"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 6|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 7|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> integralavg(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">10</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>| Time|integralavg(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.75|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>其计算公式为:</p><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-1.552ex;" xmlns="http://www.w3.org/2000/svg" width="92.889ex" height="4.588ex" role="img" focusable="false" viewBox="0 -1342 41057.1 2028" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mn" transform="translate(220,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mn" transform="translate(220,-686)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><rect width="700" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(940,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mo" transform="translate(1218,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1607,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2329.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3329.4,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3829.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(4440.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(5440.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(6163.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(7163.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(7552.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(8274.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(9274.8,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(9774.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(10386,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(11386.2,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(12108.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(13108.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(13497.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(14219.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(15220.1,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(15720.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(16331.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(17331.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(18053.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(19054,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(19443,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(20165.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(21165.4,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(21665.4,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(22276.7,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(23276.9,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(23999.1,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(24999.3,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(25388.3,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(26110.6,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(27110.8,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(27610.8,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(28222,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(29222.2,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(29944.4,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mo" transform="translate(30944.7,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(31333.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(32055.9,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(33056.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(34056.1,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(34667.3,0)"><path data-c="D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></g><g data-mml-node="mn" transform="translate(35667.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(36167.6,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(36445.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(36945.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="mo" transform="translate(38223.3,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(39279.1,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z" transform="translate(778,0)"></path><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z" transform="translate(1278,0)"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mfrac><mn>1</mn><mn>2</mn></mfrac><mo stretchy="false">[</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>2</mn><mo>+</mo><mn>5</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>5</mn><mo>+</mo><mn>6</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>6</mn><mo>+</mo><mn>7</mn><mo stretchy="false">)</mo><mo>×</mo><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mn>7</mn><mo>+</mo><mn>8</mn><mo stretchy="false">)</mo><mo>×</mo><mn>3</mn><mo>+</mo><mo stretchy="false">(</mo><mn>8</mn><mo>+</mo><mn>10</mn><mo stretchy="false">)</mo><mo>×</mo><mn>2</mn><mo stretchy="false">]</mo><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>10</mn><mo>=</mo><mn>5.75</mn></math></mjx-assistive-mml></mjx-container><h3 id="mad" tabindex="-1"><a class="header-anchor" href="#mad"><span>Mad</span></a></h3><h4 id="注册语句-9" tabindex="-1"><a class="header-anchor" href="#注册语句-9"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> mad</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFMad'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-9" tabindex="-1"><a class="header-anchor" href="#函数简介-9"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的精确或近似绝对中位差,绝对中位差为所有数值与其中位数绝对偏移量的中位数。</p><p>如有数据集<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="20.492ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 9057.3 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="7B" d="M434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231Z"></path></g><g data-mml-node="mn" transform="translate(500,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(1000,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(1444.7,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(1944.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(2389.3,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(2889.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(3334,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(3834,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(4278.7,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(4778.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(5223.3,0)"><path data-c="36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></g><g data-mml-node="mo" transform="translate(5723.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(6168,0)"><path data-c="37" d="M55 458Q56 460 72 567L88 674Q88 676 108 676H128V672Q128 662 143 655T195 646T364 644H485V605L417 512Q408 500 387 472T360 435T339 403T319 367T305 330T292 284T284 230T278 162T275 80Q275 66 275 52T274 28V19Q270 2 255 -10T221 -22Q210 -22 200 -19T179 0T168 40Q168 198 265 368Q285 400 349 489L395 552H302Q128 552 119 546Q113 543 108 522T98 479L95 458V455H55V458Z"></path></g><g data-mml-node="mo" transform="translate(6668,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(7112.7,0)"><path data-c="38" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"></path></g><g data-mml-node="mo" transform="translate(7612.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(8057.3,0)"><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z"></path></g><g data-mml-node="mo" transform="translate(8557.3,0)"><path data-c="7D" d="M65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>9</mn><mo fence="false" stretchy="false">}</mo></math></mjx-assistive-mml></mjx-container>,其中位数为5,所有数值与中位数的偏移量的绝对值为<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="20.492ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 9057.3 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="7B" d="M434 -231Q434 -244 428 -250H410Q281 -250 230 -184Q225 -177 222 -172T217 -161T213 -148T211 -133T210 -111T209 -84T209 -47T209 0Q209 21 209 53Q208 142 204 153Q203 154 203 155Q189 191 153 211T82 231Q71 231 68 234T65 250T68 266T82 269Q116 269 152 289T203 345Q208 356 208 377T209 529V579Q209 634 215 656T244 698Q270 724 324 740Q361 748 377 749Q379 749 390 749T408 750H428Q434 744 434 732Q434 719 431 716Q429 713 415 713Q362 710 332 689T296 647Q291 634 291 499V417Q291 370 288 353T271 314Q240 271 184 255L170 250L184 245Q202 239 220 230T262 196T290 137Q291 131 291 1Q291 -134 296 -147Q306 -174 339 -192T415 -213Q429 -213 431 -216Q434 -219 434 -231Z"></path></g><g data-mml-node="mn" transform="translate(500,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(1000,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(1444.7,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(1944.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(2389.3,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(2889.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(3334,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(3834,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(4278.7,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(4778.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(5223.3,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mo" transform="translate(5723.3,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(6168,0)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g><g data-mml-node="mo" transform="translate(6668,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(7112.7,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(7612.7,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mn" transform="translate(8057.3,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(8557.3,0)"><path data-c="7D" d="M65 731Q65 745 68 747T88 750Q171 750 216 725T279 670Q288 649 289 635T291 501Q292 362 293 357Q306 312 345 291T417 269Q428 269 431 266T434 250T431 234T417 231Q380 231 345 210T298 157Q293 143 292 121T291 -28V-79Q291 -134 285 -156T256 -198Q202 -250 89 -250Q71 -250 68 -247T65 -230Q65 -224 65 -223T66 -218T69 -214T77 -213Q91 -213 108 -210T146 -200T183 -177T207 -139Q208 -134 209 3L210 139Q223 196 280 230Q315 247 330 250Q305 257 280 270Q225 304 212 352L210 362L209 498Q208 635 207 640Q195 680 154 696T77 713Q68 713 67 716T65 731Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mo fence="false" stretchy="false">{</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo fence="false" stretchy="false">}</mo></math></mjx-assistive-mml></mjx-container>,其中位数为2,故而原数据集的绝对中位差为2。</p><p><strong>函数名:</strong> MAD</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>error</code>:近似绝对中位差的基于数值的误差百分比,取值范围为 [0,1),默认值为 0。如当<code>error</code>=0.01 时,记精确绝对中位差为a,近似绝对中位差为b,不等式 <mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.312ex;" xmlns="http://www.w3.org/2000/svg" width="17.444ex" height="1.882ex" role="img" focusable="false" viewBox="0 -694 7710.1 832" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(778,0)"></path><path data-c="39" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z" transform="translate(1278,0)"></path></g><g data-mml-node="mi" transform="translate(1778,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mo" transform="translate(2584.8,0)"><path data-c="2264" d="M674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118Z"></path></g><g data-mml-node="mi" transform="translate(3640.6,0)"><path data-c="1D44F" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></g><g data-mml-node="mo" transform="translate(4347.3,0)"><path data-c="2264" d="M674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118Z"></path></g><g data-mml-node="mn" transform="translate(5403.1,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(778,0)"></path><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z" transform="translate(1278,0)"></path></g><g data-mml-node="mi" transform="translate(7181.1,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>0.99</mn><mi>a</mi><mo>≤</mo><mi>b</mi><mo>≤</mo><mn>1.01</mn><mi>a</mi></math></mjx-assistive-mml></mjx-container> 成立。当<code>error</code>=0 时,计算结果为精确绝对中位差。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,序列仅包含一个时间戳为 0、值为绝对中位差的数据点。</p><p><strong>提示:</strong> 数据中的空值、缺失值和<code>NaN</code>将会被忽略。</p><h4 id="使用示例-9" tabindex="-1"><a class="header-anchor" href="#使用示例-9"><span>使用示例</span></a></h4><h5 id="精确查询" tabindex="-1"><a class="header-anchor" href="#精确查询"><span>精确查询</span></a></h5><p>当<code>error</code>参数缺省或为0时,本函数计算精确绝对中位差。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>............</span></span> |
| <span class="line"><span>Total line number = 20</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mad(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>| Time|median(root.test.s1, "error"="0")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="近似查询" tabindex="-1"><a class="header-anchor" href="#近似查询"><span>近似查询</span></a></h5><p>当<code>error</code>参数取值不为 0 时,本函数计算近似绝对中位差。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mad(s1, </span><span style="color:#98C379;">"error"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.01"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>| Time|mad(root.test.s1, "error"="0.01")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.9900000000000001|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="median" tabindex="-1"><a class="header-anchor" href="#median"><span>Median</span></a></h3><h4 id="注册语句-10" tabindex="-1"><a class="header-anchor" href="#注册语句-10"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> median</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFMedian'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-10" tabindex="-1"><a class="header-anchor" href="#函数简介-10"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的精确或近似中位数。中位数是顺序排列的一组数据中居于中间位置的数;当序列有偶数个时,中位数为中间二者的平均数。</p><p><strong>函数名:</strong> MEDIAN</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>error</code>:近似中位数的基于排名的误差百分比,取值范围 [0,1),默认值为 0。如当<code>error</code>=0.01 时,计算出的中位数的真实排名百分比在 0.49~0.51 之间。当<code>error</code>=0 时,计算结果为精确中位数。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE,序列仅包含一个时间戳为 0、值为中位数的数据点。</p><h4 id="使用示例-10" tabindex="-1"><a class="header-anchor" href="#使用示例-10"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>Total line number = 20</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> median(s1, </span><span style="color:#98C379;">"error"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.01"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>| Time|median(root.test.s1, "error"="0.01")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="minmax" tabindex="-1"><a class="header-anchor" href="#minmax"><span>MinMax</span></a></h3><h4 id="注册语句-11" tabindex="-1"><a class="header-anchor" href="#注册语句-11"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> minmax</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFMinMax'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-11" tabindex="-1"><a class="header-anchor" href="#函数简介-11"><span>函数简介</span></a></h4><p>本函数将输入序列使用 min-max 方法进行标准化。最小值归一至 0,最大值归一至 1.</p><p><strong>函数名:</strong> MINMAX</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>compute</code>:若设置为"batch",则将数据全部读入后转换;若设置为 "stream",则需用户提供最大值及最小值进行流式计算转换。默认为 "batch"。</li><li><code>min</code>:使用流式计算时的最小值。</li><li><code>max</code>:使用流式计算时的最大值。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><h4 id="使用示例-11" tabindex="-1"><a class="header-anchor" href="#使用示例-11"><span>使用示例</span></a></h4><h5 id="全数据计算" tabindex="-1"><a class="header-anchor" href="#全数据计算"><span>全数据计算</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> minmax(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>| Time|minmax(root.test.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.25|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.08333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.25|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.08333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 0.08333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.25|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.16666666666666666|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="mvavg" tabindex="-1"><a class="header-anchor" href="#mvavg"><span>MvAvg</span></a></h3><h4 id="注册语句-12" tabindex="-1"><a class="header-anchor" href="#注册语句-12"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> mvavg</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFMvAvg'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-12" tabindex="-1"><a class="header-anchor" href="#函数简介-12"><span>函数简介</span></a></h4><p>本函数计算序列的移动平均。</p><p><strong>函数名:</strong> MVAVG</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>window</code>:移动窗口的长度。默认值为 10.</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><h4 id="使用示例-12" tabindex="-1"><a class="header-anchor" href="#使用示例-12"><span>使用示例</span></a></h4><h5 id="指定窗口长度" tabindex="-1"><a class="header-anchor" href="#指定窗口长度"><span>指定窗口长度</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> mvavg(s1, </span><span style="color:#98C379;">"window"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"3"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>| Time|mvavg(root.test.s1, "window"="3")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| -0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -0.6666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.6666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -0.6666666666666666|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.3333333333333333|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 3.3333333333333335|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -0.6666666666666666|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="pacf" tabindex="-1"><a class="header-anchor" href="#pacf"><span>PACF</span></a></h3><h4 id="注册语句-13" tabindex="-1"><a class="header-anchor" href="#注册语句-13"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pacf</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFPACF'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-13" tabindex="-1"><a class="header-anchor" href="#函数简介-13"><span>函数简介</span></a></h4><p>本函数通过求解 Yule-Walker 方程,计算序列的偏自相关系数。对于特殊的输入序列,方程可能没有解,此时输出<code>NaN</code>。</p><p><strong>函数名:</strong> PACF</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>lag</code>:最大滞后阶数。默认值为<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.581ex;" xmlns="http://www.w3.org/2000/svg" width="20.845ex" height="2.278ex" role="img" focusable="false" viewBox="0 -750 9213.6 1006.9" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><path data-c="6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path data-c="69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z" transform="translate(833,0)"></path><path data-c="6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z" transform="translate(1111,0)"></path></g><g data-mml-node="mo" transform="translate(1667,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(2056,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g><g data-mml-node="msub" transform="translate(3222.7,0)"><g data-mml-node="mi"><path data-c="6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path data-c="6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z" transform="translate(278,0)"></path><path data-c="67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z" transform="translate(778,0)"></path></g><g data-mml-node="TeXAtom" transform="translate(1311,-241.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(500,0)"></path></g></g></g><g data-mml-node="mo" transform="translate(5290.8,0)"><path data-c="2061" d=""></path></g><g data-mml-node="mi" transform="translate(5457.4,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(6057.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mi" transform="translate(6502.1,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(7324.3,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(8324.6,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mo" transform="translate(8824.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mo data-mjx-texclass="OP" movablelimits="true">min</mo><mo stretchy="false">(</mo><mn>10</mn><msub><mi>log</mi><mrow data-mjx-texclass="ORD"><mn>10</mn></mrow></msub><mo data-mjx-texclass="NONE"></mo><mi>n</mi><mo>,</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>,<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.357ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 600 453" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi></math></mjx-assistive-mml></mjx-container>表示数据点个数。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><h4 id="使用示例-13" tabindex="-1"><a class="header-anchor" href="#使用示例-13"><span>使用示例</span></a></h4><h5 id="指定滞后阶数" tabindex="-1"><a class="header-anchor" href="#指定滞后阶数"><span>指定滞后阶数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pacf(s1, </span><span style="color:#98C379;">"lag"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------+</span></span> |
| <span class="line"><span>| Time|pacf(root.test.d1.s1, "lag"="5")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| -0.5744680851063829|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 0.3172297297297296|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| -0.2977686586304181|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| -2.0609033521065867|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="percentile" tabindex="-1"><a class="header-anchor" href="#percentile"><span>Percentile</span></a></h3><h4 id="注册语句-14" tabindex="-1"><a class="header-anchor" href="#注册语句-14"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> percentile</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFPercentile'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-14" tabindex="-1"><a class="header-anchor" href="#函数简介-14"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的精确或近似分位数。</p><p><strong>函数名:</strong> PERCENTILE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>rank</code>:所求分位数在所有数据中的排名百分比,取值范围为 (0,1],默认值为 0.5。如当设为 0.5时则计算中位数。</li><li><code>error</code>:近似分位数的基于排名的误差百分比,取值范围为 [0,1),默认值为0。如<code>rank</code>=0.5 且<code>error</code>=0.01,则计算出的分位数的真实排名百分比在 0.49~0.51之间。当<code>error</code>=0 时,计算结果为精确分位数。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。当<code>error</code>=0时,序列仅包含一个时间戳为分位数第一次出现的时间戳、值为分位数的数据点;否则,输出值的时间戳为0。</p><p><strong>提示:</strong> 数据中的空值、缺失值和<code>NaN</code>将会被忽略。</p><h4 id="使用示例-14" tabindex="-1"><a class="header-anchor" href="#使用示例-14"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|2021-03-17T10:32:17.054+08:00| 0.5319929|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:18.054+08:00| 0.9304316|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:19.054+08:00| -1.4800133|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:20.054+08:00| 0.6114087|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:21.054+08:00| 2.5163336|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:22.054+08:00| -1.0845392|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:23.054+08:00| 1.0562582|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:24.054+08:00| 1.3867859|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:25.054+08:00| -0.45429882|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:26.054+08:00| 1.0353678|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:27.054+08:00| 0.7307929|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:28.054+08:00| 2.3167255|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:29.054+08:00| 2.342443|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:30.054+08:00| 1.5809103|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:31.054+08:00| 1.4829416|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:32.054+08:00| 1.5800357|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:33.054+08:00| 0.7124368|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:34.054+08:00| -0.78597564|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:35.054+08:00| 1.2058644|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:36.054+08:00| 1.4215064|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:37.054+08:00| 1.2808295|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:38.054+08:00| -0.6173715|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:39.054+08:00| 0.06644377|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:40.054+08:00| 2.349338|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:41.054+08:00| 1.7335888|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:42.054+08:00| 1.5872132|</span></span> |
| <span class="line"><span>............</span></span> |
| <span class="line"><span>Total line number = 10000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> percentile(s0, </span><span style="color:#98C379;">"rank"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.2"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"error"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.01"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|percentile(root.test.s0, "rank"="0.2", "error"="0.01")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-03-17T10:35:02.054+08:00| 0.1801469624042511|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>```输入序列:</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>+-----------------------------+-------------+<br> | Time|root.test2.s1|<br> +-----------------------------+-------------+<br> |1970-01-01T08:00:00.100+08:00| 0.0|<br> |1970-01-01T08:00:00.200+08:00| 0.0|<br> |1970-01-01T08:00:00.300+08:00| 1.0|<br> |1970-01-01T08:00:00.400+08:00| -1.0|<br> |1970-01-01T08:00:00.500+08:00| 0.0|<br> |1970-01-01T08:00:00.600+08:00| 0.0|<br> |1970-01-01T08:00:00.700+08:00| -2.0|<br> |1970-01-01T08:00:00.800+08:00| 2.0|<br> |1970-01-01T08:00:00.900+08:00| 0.0|<br> |1970-01-01T08:00:01.000+08:00| 0.0|<br> |1970-01-01T08:00:01.100+08:00| 1.0|<br> |1970-01-01T08:00:01.200+08:00| -1.0|<br> |1970-01-01T08:00:01.300+08:00| -1.0|<br> |1970-01-01T08:00:01.400+08:00| 1.0|<br> |1970-01-01T08:00:01.500+08:00| 0.0|<br> |1970-01-01T08:00:01.600+08:00| 0.0|<br> |1970-01-01T08:00:01.700+08:00| 10.0|<br> |1970-01-01T08:00:01.800+08:00| 2.0|<br> |1970-01-01T08:00:01.900+08:00| -2.0|<br> |1970-01-01T08:00:02.000+08:00| 0.0|<br> +-----------------------------+-------------+<br> ............<br> Total line number = 20</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span></span></span> |
| <span class="line"><span>用于查询的 SQL 语句:</span></span> |
| <span class="line"><span></span></span> |
| <span class="line"><span>```sql</span></span> |
| <span class="line"><span>select percentile(s1, "rank"="0.2", "error"="0.01") from root.test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|percentile(root.test2.s1, "rank"="0.2", "error"="0.01")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| -1.0|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="quantile" tabindex="-1"><a class="header-anchor" href="#quantile"><span>Quantile</span></a></h3><h4 id="注册语句-15" tabindex="-1"><a class="header-anchor" href="#注册语句-15"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> quantile</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFQuantile'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-15" tabindex="-1"><a class="header-anchor" href="#函数简介-15"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的近似分位数。本函数基于KLL sketch算法实现。</p><p><strong>函数名:</strong> QUANTILE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>rank</code>:所求分位数在所有数据中的排名比,取值范围为 (0,1],默认值为 0.5。如当设为 0.5时则计算近似中位数。</li><li><code>K</code>:允许维护的KLL sketch大小,最小值为100,默认值为800。如<code>rank</code>=0.5 且<code>K</code>=800,则计算出的分位数的真实排名比有至少99%的可能性在 0.49~0.51之间。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。输出值的时间戳为0。</p><p><strong>提示:</strong> 数据中的空值、缺失值和<code>NaN</code>将会被忽略。</p><h4 id="使用示例-15" tabindex="-1"><a class="header-anchor" href="#使用示例-15"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------+</span></span> |
| <span class="line"><span>| Time|root.test1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+-------------+</span></span> |
| <span class="line"><span>|2021-03-17T10:32:17.054+08:00| 7|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:18.054+08:00| 15|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:19.054+08:00| 36|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:20.054+08:00| 39|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:21.054+08:00| 40|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:22.054+08:00| 41|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:23.054+08:00| 20|</span></span> |
| <span class="line"><span>|2021-03-17T10:32:24.054+08:00| 18|</span></span> |
| <span class="line"><span>+-----------------------------+-------------+</span></span> |
| <span class="line"><span>............</span></span> |
| <span class="line"><span>Total line number = 8</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> quantile(s1, </span><span style="color:#98C379;">"rank"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.2"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"K"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"800"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|quantile(root.test1.s1, "rank"="0.2", "K"="800")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 7.000000000000001|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="period" tabindex="-1"><a class="header-anchor" href="#period"><span>Period</span></a></h3><h4 id="注册语句-16" tabindex="-1"><a class="header-anchor" href="#注册语句-16"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> period</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFPeriod'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-16" tabindex="-1"><a class="header-anchor" href="#函数简介-16"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的周期。</p><p><strong>函数名:</strong> PERIOD</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>输出序列:</strong> 输出单个序列,类型为 INT32,序列仅包含一个时间戳为 0、值为周期的数据点。</p><h4 id="使用示例-16" tabindex="-1"><a class="header-anchor" href="#使用示例-16"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d3.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 3.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 3.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 3.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> period</span><span style="color:#ABB2BF;">(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d3</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>| Time|period(root.test.d3.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 3|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="qlb" tabindex="-1"><a class="header-anchor" href="#qlb"><span>QLB</span></a></h3><h4 id="注册语句-17" tabindex="-1"><a class="header-anchor" href="#注册语句-17"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> qlb</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFQLB'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-17" tabindex="-1"><a class="header-anchor" href="#函数简介-17"><span>函数简介</span></a></h4><p>本函数对输入序列计算$Q_{LB} $统计量,并计算对应的p值。p值越小表明序列越有可能为非平稳序列。</p><p><strong>函数名:</strong> QLB</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>lag</code>:计算时用到的最大延迟阶数,取值应为 1 至 n-2 之间的整数,n 为序列采样总数。默认取 n-2。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。该序列是$Q_{LB} $统计量对应的 p 值,时间标签代表偏移阶数。</p><p><strong>提示:</strong> $Q_{LB} $统计量由自相关系数求得,如需得到统计量而非 p 值,可以使用 ACF 函数。</p><h4 id="使用示例-17" tabindex="-1"><a class="header-anchor" href="#使用示例-17"><span>使用示例</span></a></h4><h5 id="使用默认参数" tabindex="-1"><a class="header-anchor" href="#使用默认参数"><span>使用默认参数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.100+08:00| 1.22|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.200+08:00| -2.78|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.300+08:00| 1.53|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.400+08:00| 0.70|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.500+08:00| 0.75|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.600+08:00| -0.72|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.700+08:00| -0.22|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.800+08:00| 0.28|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.900+08:00| 0.57|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.000+08:00| -0.22|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.100+08:00| -0.72|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.200+08:00| 1.34|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.300+08:00| -0.25|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.400+08:00| 0.17|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.500+08:00| 2.51|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.600+08:00| 1.42|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.700+08:00| -1.34|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.800+08:00| -0.01|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:01.900+08:00| -0.49|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:02.000+08:00| 1.63|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> QLB(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>| Time|QLB(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.001+08:00| 0.2168702295315677|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.002+08:00| 0.3068948509261751|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.003+08:00| 0.4217859150918444|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.004+08:00| 0.5114539874276656|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.005+08:00| 0.6560619525616759|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.006+08:00| 0.7722398654053280|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.007+08:00| 0.8532491661465290|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.008+08:00| 0.9028575017542528|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.009+08:00| 0.9434989988192729|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.010+08:00| 0.8950280161464689|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.011+08:00| 0.7701048398839656|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.012+08:00| 0.7845536060001281|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.013+08:00| 0.5943030981705825|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.014+08:00| 0.4618413512531093|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.015+08:00| 0.2645948244673964|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.016+08:00| 0.3167530476666645|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.017+08:00| 0.2330010780351453|</span></span> |
| <span class="line"><span>|1970-01-01T00:00:00.018+08:00| 0.0666611237622325|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="resample" tabindex="-1"><a class="header-anchor" href="#resample"><span>Resample</span></a></h3><h4 id="注册语句-18" tabindex="-1"><a class="header-anchor" href="#注册语句-18"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> re_sample</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFResample'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-18" tabindex="-1"><a class="header-anchor" href="#函数简介-18"><span>函数简介</span></a></h4><p>本函数对输入序列按照指定的频率进行重采样,包括上采样和下采样。目前,本函数支持的上采样方法包括<code>NaN</code>填充法 (NaN)、前值填充法 (FFill)、后值填充法 (BFill) 以及线性插值法 (Linear);本函数支持的下采样方法为分组聚合,聚合方法包括最大值 (Max)、最小值 (Min)、首值 (First)、末值 (Last)、平均值 (Mean)和中位数 (Median)。</p><p><strong>函数名:</strong> RESAMPLE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>every</code>:重采样频率,是一个有单位的正数。目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。该参数不允许缺省。</li><li><code>interp</code>:上采样的插值方法,取值为 'NaN'、'FFill'、'BFill' 或 'Linear'。在缺省情况下,使用<code>NaN</code>填充法。</li><li><code>aggr</code>:下采样的聚合方法,取值为 'Max'、'Min'、'First'、'Last'、'Mean' 或 'Median'。在缺省情况下,使用平均数聚合。</li><li><code>start</code>:重采样的起始时间(包含),是一个格式为 'yyyy-MM-dd HH:mm:ss' 的时间字符串。在缺省情况下,使用第一个有效数据点的时间戳。</li><li><code>end</code>:重采样的结束时间(不包含),是一个格式为 'yyyy-MM-dd HH:mm:ss' 的时间字符串。在缺省情况下,使用最后一个有效数据点的时间戳。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。该序列按照重采样频率严格等间隔分布。</p><p><strong>提示:</strong> 数据中的<code>NaN</code>将会被忽略。</p><h4 id="使用示例-18" tabindex="-1"><a class="header-anchor" href="#使用示例-18"><span>使用示例</span></a></h4><h5 id="上采样" tabindex="-1"><a class="header-anchor" href="#上采样"><span>上采样</span></a></h5><p>当重采样频率高于数据原始频率时,将会进行上采样。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.09|</span></span> |
| <span class="line"><span>|2021-03-06T16:15:00.000+08:00| 3.53|</span></span> |
| <span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span> |
| <span class="line"><span>|2021-03-06T16:45:00.000+08:00| 3.51|</span></span> |
| <span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.41|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">'every'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5m'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'interp'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'linear'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|resample(root.test.d1.s1, "every"="5m", "interp"="linear")|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.0899999141693115|</span></span> |
| <span class="line"><span>|2021-03-06T16:05:00.000+08:00| 3.2366665999094644|</span></span> |
| <span class="line"><span>|2021-03-06T16:10:00.000+08:00| 3.3833332856496177|</span></span> |
| <span class="line"><span>|2021-03-06T16:15:00.000+08:00| 3.5299999713897705|</span></span> |
| <span class="line"><span>|2021-03-06T16:20:00.000+08:00| 3.5199999809265137|</span></span> |
| <span class="line"><span>|2021-03-06T16:25:00.000+08:00| 3.509999990463257|</span></span> |
| <span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span> |
| <span class="line"><span>|2021-03-06T16:35:00.000+08:00| 3.503333330154419|</span></span> |
| <span class="line"><span>|2021-03-06T16:40:00.000+08:00| 3.506666660308838|</span></span> |
| <span class="line"><span>|2021-03-06T16:45:00.000+08:00| 3.509999990463257|</span></span> |
| <span class="line"><span>|2021-03-06T16:50:00.000+08:00| 3.4766666889190674|</span></span> |
| <span class="line"><span>|2021-03-06T16:55:00.000+08:00| 3.443333387374878|</span></span> |
| <span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="下采样" tabindex="-1"><a class="header-anchor" href="#下采样"><span>下采样</span></a></h5><p>当重采样频率低于数据原始频率时,将会进行下采样。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">'every'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'30m'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'aggr'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'first'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|resample(root.test.d1.s1, "every"="30m", "aggr"="first")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.0899999141693115|</span></span> |
| <span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5|</span></span> |
| <span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h6 id="指定重采样时间段" tabindex="-1"><a class="header-anchor" href="#指定重采样时间段"><span>指定重采样时间段</span></a></h6><p>可以使用<code>start</code>和<code>end</code>两个参数指定重采样的时间段,超出实际时间范围的部分会被插值填补。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> resample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">'every'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'30m'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'start'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'2021-03-06 15:00:00'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|resample(root.test.d1.s1, "every"="30m", "start"="2021-03-06 15:00:00")|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-03-06T15:00:00.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2021-03-06T15:30:00.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2021-03-06T16:00:00.000+08:00| 3.309999942779541|</span></span> |
| <span class="line"><span>|2021-03-06T16:30:00.000+08:00| 3.5049999952316284|</span></span> |
| <span class="line"><span>|2021-03-06T17:00:00.000+08:00| 3.4100000858306885|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="sample" tabindex="-1"><a class="header-anchor" href="#sample"><span>Sample</span></a></h3><h4 id="注册语句-19" tabindex="-1"><a class="header-anchor" href="#注册语句-19"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> sample</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFSample'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-19" tabindex="-1"><a class="header-anchor" href="#函数简介-19"><span>函数简介</span></a></h4><p>本函数对输入序列进行采样,即从输入序列中选取指定数量的数据点并输出。目前,本函数支持三种采样方法:<strong>蓄水池采样法 (reservoir sampling)</strong> 对数据进行随机采样,所有数据点被采样的概率相同;<strong>等距采样法 (isometric sampling)</strong> 按照相等的索引间隔对数据进行采样,<strong>最大三角采样法 (triangle sampling)</strong> 对所有数据会按采样率分桶,每个桶内会计算数据点间三角形面积,并保留面积最大的点,该算法通常用于数据的可视化展示中,采用过程可以保证一些关键的突变点在采用中得到保留,更多抽样算法细节可以阅读论文 <a href="http://skemman.is/stream/get/1946/15343/37285/3/SS_MSthesis.pdf" target="_blank" rel="noopener noreferrer">here</a>。</p><p><strong>函数名:</strong> SAMPLE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型可以是任意的。</p><p><strong>参数:</strong></p><ul><li><code>method</code>:采样方法,取值为 'reservoir','isometric' 或 'triangle' 。在缺省情况下,采用蓄水池采样法。</li><li><code>k</code>:采样数,它是一个正整数,在缺省情况下为 1。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。该序列的长度为采样数,序列中的每一个数据点都来自于输入序列。</p><p><strong>提示:</strong> 如果采样数大于序列长度,那么输入序列中所有的数据点都会被输出。</p><h4 id="使用示例-19" tabindex="-1"><a class="header-anchor" href="#使用示例-19"><span>使用示例</span></a></h4><h5 id="蓄水池采样" tabindex="-1"><a class="header-anchor" href="#蓄水池采样"><span>蓄水池采样</span></a></h5><p>当<code>method</code>参数为 'reservoir' 或缺省时,采用蓄水池采样法对输入序列进行采样。由于该采样方法具有随机性,下面展示的输出序列只是一种可能的结果。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> sample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">'method'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'reservoir'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'k'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|sample(root.test.d1.s1, "method"="reservoir", "k"="5")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="等距采样" tabindex="-1"><a class="header-anchor" href="#等距采样"><span>等距采样</span></a></h5><p>当<code>method</code>参数为 'isometric' 时,采用等距采样法对输入序列进行采样。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> sample</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">'method'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'isometric'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'k'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|sample(root.test.d1.s1, "method"="isometric", "k"="5")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 9.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="segment" tabindex="-1"><a class="header-anchor" href="#segment"><span>Segment</span></a></h3><h4 id="注册语句-20" tabindex="-1"><a class="header-anchor" href="#注册语句-20"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> segment</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFSegment'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-20" tabindex="-1"><a class="header-anchor" href="#函数简介-20"><span>函数简介</span></a></h4><p>本函数按照数据的线性变化趋势将数据划分为多个子序列,返回分段直线拟合后的子序列首值或所有拟合值。</p><p><strong>函数名:</strong> SEGMENT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><p><code>output</code>:"all" 输出所有拟合值;"first" 输出子序列起点拟合值。默认为 "first"。</p></li><li><p><code>error</code>:判定存在线性趋势的误差允许阈值。误差的定义为子序列进行线性拟合的误差的绝对值的均值。默认为 0.1.</p></li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。</p><p><strong>提示:</strong> 函数默认所有数据等时间间隔分布。函数读取所有数据,若原始数据过多,请先进行降采样处理。拟合采用自底向上方法,子序列的尾值可能会被认作子序列首值输出。</p><h4 id="使用示例-20" tabindex="-1"><a class="header-anchor" href="#使用示例-20"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 5.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 6.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 8.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 9.1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 9.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 9.3|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 9.4|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 9.5|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 9.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 9.7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 9.8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| 9.9|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.100+08:00| 8.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.200+08:00| 6.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.300+08:00| 4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.400+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.600+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.700+08:00| -4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.800+08:00| -6.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.900+08:00| -8.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.100+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.200+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.300+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.400+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.500+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.600+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.800+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.900+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> segment(s1,</span><span style="color:#98C379;">"error"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.1"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>| Time|segment(root.test.s1, "error"="0.1")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.200+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="skew" tabindex="-1"><a class="header-anchor" href="#skew"><span>Skew</span></a></h3><h4 id="注册语句-21" tabindex="-1"><a class="header-anchor" href="#注册语句-21"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> skew</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFSkew'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-21" tabindex="-1"><a class="header-anchor" href="#函数简介-21"><span>函数简介</span></a></h4><p>本函数用于计算单列数值型数据的总体偏度</p><p><strong>函数名:</strong> SKEW</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE,序列仅包含一个时间戳为 0、值为总体偏度的数据点。</p><p><strong>提示:</strong> 数据中的空值、缺失值和<code>NaN</code>将会被忽略。</p><h4 id="使用示例-21" tabindex="-1"><a class="header-anchor" href="#使用示例-21"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:11.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:13.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:17.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:19.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> skew(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>| Time| skew(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| -0.9998427402292644|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="spline" tabindex="-1"><a class="header-anchor" href="#spline"><span>Spline</span></a></h3><h4 id="注册语句-22" tabindex="-1"><a class="header-anchor" href="#注册语句-22"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> spline</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFSpline'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-22" tabindex="-1"><a class="header-anchor" href="#函数简介-22"><span>函数简介</span></a></h4><p>本函数提供对原始序列进行三次样条曲线拟合后的插值重采样。</p><p><strong>函数名:</strong> SPLINE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>points</code>:重采样个数。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><p><strong>提示</strong>:输出序列保留输入序列的首尾值,等时间间隔采样。仅当输入点个数不少于 4 个时才计算插值。</p><h4 id="使用示例-22" tabindex="-1"><a class="header-anchor" href="#使用示例-22"><span>使用示例</span></a></h4><h5 id="指定插值个数" tabindex="-1"><a class="header-anchor" href="#指定插值个数"><span>指定插值个数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.6|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> spline(s1, </span><span style="color:#98C379;">"points"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"151"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>| Time|spline(root.test.s1, "points"="151")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| 0.04870000251134237|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| 0.09680000495910646|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.030+08:00| 0.14430000734329226|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.040+08:00| 0.19120000966389972|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.050+08:00| 0.23750001192092896|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.060+08:00| 0.2832000141143799|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.070+08:00| 0.32830001624425253|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.080+08:00| 0.3728000183105469|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.090+08:00| 0.416700020313263|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.4600000222524008|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.110+08:00| 0.5027000241279602|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.120+08:00| 0.5448000259399414|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.130+08:00| 0.5863000276883443|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.140+08:00| 0.627200029373169|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.150+08:00| 0.6675000309944153|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.160+08:00| 0.7072000325520833|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.170+08:00| 0.7463000340461731|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.180+08:00| 0.7848000354766846|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.190+08:00| 0.8227000368436178|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.8600000381469728|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.210+08:00| 0.8967000393867494|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.220+08:00| 0.9328000405629477|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.230+08:00| 0.9683000416755676|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.240+08:00| 1.0032000427246095|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.250+08:00| 1.037500043710073|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.260+08:00| 1.071200044631958|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.270+08:00| 1.1043000454902647|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.280+08:00| 1.1368000462849934|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.290+08:00| 1.1687000470161437|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2000000476837158|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.310+08:00| 1.2307000483103594|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.320+08:00| 1.2608000489139557|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.330+08:00| 1.2903000494873524|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.340+08:00| 1.3192000500233967|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.350+08:00| 1.3475000505149364|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.360+08:00| 1.3752000509548186|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.370+08:00| 1.402300051335891|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.380+08:00| 1.4288000516510009|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.390+08:00| 1.4547000518929958|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 1.480000052054723|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.410+08:00| 1.5047000521290301|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.420+08:00| 1.5288000521087646|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.430+08:00| 1.5523000519867738|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.440+08:00| 1.575200051755905|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.450+08:00| 1.597500051409006|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.460+08:00| 1.619200050938924|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.470+08:00| 1.6403000503385066|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.480+08:00| 1.660800049600601|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.490+08:00| 1.680700048718055|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7000000476837158|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.510+08:00| 1.7188475466453037|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.520+08:00| 1.7373800457262996|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.530+08:00| 1.7555825448831923|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.540+08:00| 1.7734400440724702|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.550+08:00| 1.790937543250622|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.560+08:00| 1.8080600423741364|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.570+08:00| 1.8247925413995016|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.580+08:00| 1.8411200402832066|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.590+08:00| 1.8570275389817397|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 1.8725000374515897|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.610+08:00| 1.8875225356492449|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.620+08:00| 1.902080033531194|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.630+08:00| 1.9161575310539258|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.640+08:00| 1.9297400281739288|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.650+08:00| 1.9428125248476913|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.660+08:00| 1.9553600210317021|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.670+08:00| 1.96736751668245|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.680+08:00| 1.9788200117564232|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.690+08:00| 1.9897025062101101|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.710+08:00| 2.0097024933913334|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.720+08:00| 2.0188199867081615|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.730+08:00| 2.027367479995188|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.740+08:00| 2.0353599732971155|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.750+08:00| 2.0428124666586482|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.760+08:00| 2.049739960124489|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.770+08:00| 2.056157453739342|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.780+08:00| 2.06207994754791|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.790+08:00| 2.067522441594897|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.072499935925006|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.810+08:00| 2.07702743058294|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.820+08:00| 2.081119925613404|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.830+08:00| 2.0847924210611|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.840+08:00| 2.0880599169707317|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.850+08:00| 2.0909374133870027|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.860+08:00| 2.0934399103546166|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.870+08:00| 2.0955824079182768|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.880+08:00| 2.0973799061226863|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.890+08:00| 2.098847405012549|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.0999999046325684|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.910+08:00| 2.1005574051201332|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.920+08:00| 2.1002599065303778|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.930+08:00| 2.0991524087846245|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.940+08:00| 2.0972799118041947|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.950+08:00| 2.0946874155104105|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.960+08:00| 2.0914199198245944|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.970+08:00| 2.0875224246680673|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.980+08:00| 2.083039929962151|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.990+08:00| 2.0780174356281687|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 2.0724999415874406|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.010+08:00| 2.06653244776129|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.020+08:00| 2.060159954071038|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.030+08:00| 2.053427460438006|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.040+08:00| 2.046379966783517|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.050+08:00| 2.0390624730288924|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.060+08:00| 2.031519979095454|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.070+08:00| 2.0237974849045237|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.080+08:00| 2.015939990377423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.090+08:00| 2.0079924954354746|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.110+08:00| 1.9907018211101906|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.120+08:00| 1.9788509124245144|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.130+08:00| 1.9645127287932083|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.140+08:00| 1.9477527250665083|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.150+08:00| 1.9286363560946513|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.160+08:00| 1.9072290767278735|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.170+08:00| 1.8835963418164114|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.180+08:00| 1.8578036062105014|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.190+08:00| 1.8299163247603802|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.7999999523162842|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.210+08:00| 1.7623635841923329|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.220+08:00| 1.7129696477516976|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.230+08:00| 1.6543635959181928|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.240+08:00| 1.5890908816156328|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.250+08:00| 1.5196969577678319|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.260+08:00| 1.4487272772986044|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.270+08:00| 1.3787272931317647|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.280+08:00| 1.3122424581911272|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.290+08:00| 1.251818225400506|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2000000476837158|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.310+08:00| 1.1548000470995912|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.320+08:00| 1.1130667107899999|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.330+08:00| 1.0756000393033045|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.340+08:00| 1.043200033187868|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.350+08:00| 1.016666692992053|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.360+08:00| 0.9968000192642223|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.370+08:00| 0.9844000125527389|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.380+08:00| 0.9802666734059655|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.390+08:00| 0.9852000023722649|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.410+08:00| 1.023999999165535|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.420+08:00| 1.0559999990463256|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.430+08:00| 1.0959999996423722|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.440+08:00| 1.1440000009536744|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.450+08:00| 1.2000000029802322|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.460+08:00| 1.264000005722046|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.470+08:00| 1.3360000091791153|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.480+08:00| 1.4160000133514405|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.490+08:00| 1.5040000182390214|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.600000023841858|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="spread" tabindex="-1"><a class="header-anchor" href="#spread"><span>Spread</span></a></h3><h4 id="注册语句-23" tabindex="-1"><a class="header-anchor" href="#注册语句-23"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> spread</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDAFSpread'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-23" tabindex="-1"><a class="header-anchor" href="#函数简介-23"><span>函数简介</span></a></h4><p>本函数用于计算时间序列的极差,即最大值减去最小值的结果。</p><p><strong>函数名:</strong> SPREAD</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型与输入相同,序列仅包含一个时间戳为 0 、值为极差的数据点。</p><p><strong>提示:</strong> 数据中的空值、缺失值和<code>NaN</code>将会被忽略。</p><h4 id="使用示例-23" tabindex="-1"><a class="header-anchor" href="#使用示例-23"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> spread(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>| Time|spread(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 26.0|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="zscore" tabindex="-1"><a class="header-anchor" href="#zscore"><span>ZScore</span></a></h3><h4 id="注册语句-24" tabindex="-1"><a class="header-anchor" href="#注册语句-24"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> zscore</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dprofile.UDTFZScore'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-24" tabindex="-1"><a class="header-anchor" href="#函数简介-24"><span>函数简介</span></a></h4><p>本函数将输入序列使用z-score方法进行归一化。</p><p><strong>函数名:</strong> ZSCORE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>compute</code>:若设置为 "batch",则将数据全部读入后转换;若设置为 "stream",则需用户提供均值及方差进行流式计算转换。默认为 "batch"。</li><li><code>avg</code>:使用流式计算时的均值。</li><li><code>sd</code>:使用流式计算时的标准差。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><h4 id="使用示例-24" tabindex="-1"><a class="header-anchor" href="#使用示例-24"><span>使用示例</span></a></h4><h5 id="全数据计算-1" tabindex="-1"><a class="header-anchor" href="#全数据计算-1"><span>全数据计算</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> zscore(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>| Time|zscore(root.test.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -0.6201736729460423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -1.033622788243404|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 0.6201736729460423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -0.6201736729460423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -0.6201736729460423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 3.9277665953249348|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 0.6201736729460423|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -1.033622788243404|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00|-0.20672455764868078|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="异常检测" tabindex="-1"><a class="header-anchor" href="#异常检测"><span>异常检测</span></a></h2><h3 id="iqr" tabindex="-1"><a class="header-anchor" href="#iqr"><span>IQR</span></a></h3><h4 id="注册语句-25" tabindex="-1"><a class="header-anchor" href="#注册语句-25"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> iqr</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFIQR'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-25" tabindex="-1"><a class="header-anchor" href="#函数简介-25"><span>函数简介</span></a></h4><p>本函数用于检验超出上下四分位数1.5倍IQR的数据分布异常。</p><p><strong>函数名:</strong> IQR</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>method</code>:若设置为 "batch",则将数据全部读入后检测;若设置为 "stream",则需用户提供上下四分位数进行流式检测。默认为 "batch"。</li><li><code>q1</code>:使用流式计算时的下四分位数。</li><li><code>q3</code>:使用流式计算时的上四分位数。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型为 DOUBLE。</p><p><strong>说明</strong>:<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.439ex;" xmlns="http://www.w3.org/2000/svg" width="15.984ex" height="2.032ex" role="img" focusable="false" viewBox="0 -704 7065.1 898" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D43C" d="M43 1Q26 1 26 10Q26 12 29 24Q34 43 39 45Q42 46 54 46H60Q120 46 136 53Q137 53 138 54Q143 56 149 77T198 273Q210 318 216 344Q286 624 286 626Q284 630 284 631Q274 637 213 637H193Q184 643 189 662Q193 677 195 680T209 683H213Q285 681 359 681Q481 681 487 683H497Q504 676 504 672T501 655T494 639Q491 637 471 637Q440 637 407 634Q393 631 388 623Q381 609 337 432Q326 385 315 341Q245 65 245 59Q245 52 255 50T307 46H339Q345 38 345 37T342 19Q338 6 332 0H316Q279 2 179 2Q143 2 113 2T65 2T43 1Z"></path></g><g data-mml-node="mi" transform="translate(504,0)"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mi" transform="translate(1295,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(2331.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="msub" transform="translate(3387.6,0)"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mn" transform="translate(824,-150) scale(0.707)"><path data-c="33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></g></g><g data-mml-node="mo" transform="translate(4837.3,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="msub" transform="translate(5837.6,0)"><g data-mml-node="mi"><path data-c="1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path></g><g data-mml-node="mn" transform="translate(824,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>I</mi><mi>Q</mi><mi>R</mi><mo>=</mo><msub><mi>Q</mi><mn>3</mn></msub><mo>−</mo><msub><mi>Q</mi><mn>1</mn></msub></math></mjx-assistive-mml></mjx-container></p><h4 id="使用示例-25" tabindex="-1"><a class="header-anchor" href="#使用示例-25"><span>使用示例</span></a></h4><h5 id="全数据计算-2" tabindex="-1"><a class="header-anchor" href="#全数据计算-2"><span>全数据计算</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| -2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> iqr(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------+</span></span> |
| <span class="line"><span>| Time|iqr(root.test.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="ksigma" tabindex="-1"><a class="header-anchor" href="#ksigma"><span>KSigma</span></a></h3><h4 id="注册语句-26" tabindex="-1"><a class="header-anchor" href="#注册语句-26"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ksigma</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFKSigma'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-26" tabindex="-1"><a class="header-anchor" href="#函数简介-26"><span>函数简介</span></a></h4><p>本函数利用动态 K-Sigma 算法进行异常检测。在一个窗口内,与平均值的差距超过k倍标准差的数据将被视作异常并输出。</p><p><strong>函数名:</strong> KSIGMA</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>k</code>:在动态 K-Sigma 算法中,分布异常的标准差倍数阈值,默认值为 3。</li><li><code>window</code>:动态 K-Sigma 算法的滑动窗口大小,默认值为 10000。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。</p><p><strong>提示:</strong> k 应大于 0,否则将不做输出。</p><h4 id="使用示例-26" tabindex="-1"><a class="header-anchor" href="#使用示例-26"><span>使用示例</span></a></h4><h5 id="指定k" tabindex="-1"><a class="header-anchor" href="#指定k"><span>指定k</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 50.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 200.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 150.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 50.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ksigma(s1,</span><span style="color:#98C379;">"k"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1.0"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>|Time |ksigma(root.test.d1.s1,"k"="3.0")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 50.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 50.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="lof" tabindex="-1"><a class="header-anchor" href="#lof"><span>LOF</span></a></h3><h4 id="注册语句-27" tabindex="-1"><a class="header-anchor" href="#注册语句-27"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> LOF</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFLOF'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-27" tabindex="-1"><a class="header-anchor" href="#函数简介-27"><span>函数简介</span></a></h4><p>本函数使用局部离群点检测方法用于查找序列的密度异常。将根据提供的第k距离数及局部离群点因子(lof)阈值,判断输入数据是否为离群点,即异常,并输出各点的 LOF 值。</p><p><strong>函数名:</strong> LOF</p><p><strong>输入序列:</strong> 多个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>method</code>:使用的检测方法。默认为 default,以高维数据计算。设置为 series,将一维时间序列转换为高维数据计算。</li><li><code>k</code>:使用第k距离计算局部离群点因子.默认为 3。</li><li><code>window</code>:每次读取数据的窗口长度。默认为 10000.</li><li><code>windowsize</code>:使用series方法时,转化高维数据的维数,即单个窗口的大小。默认为 5。</li></ul><p><strong>输出序列:</strong> 输出单时间序列,类型为DOUBLE。</p><p><strong>提示:</strong> 不完整的数据行会被忽略,不参与计算,也不标记为离群点。</p><h4 id="使用示例-27" tabindex="-1"><a class="header-anchor" href="#使用示例-27"><span>使用示例</span></a></h4><h5 id="默认参数" tabindex="-1"><a class="header-anchor" href="#默认参数"><span>默认参数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.0| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 0.0| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 1.0| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 0.0| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| -1.0| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| -1.0| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.0| null|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lof(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"><</span><span style="color:#D19A66;">1000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>| Time|lof(root.test.d1.s1, root.test.d1.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 3.8274824267668244|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 3.0117631741126156|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 2.838155437762879|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.0117631741126156|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 2.73518261244453|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 2.371440975708148|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.73518261244453|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 1.7561416374270742|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="诊断一维时间序列" tabindex="-1"><a class="header-anchor" href="#诊断一维时间序列"><span>诊断一维时间序列</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 3.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 5.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 6.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 8.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 9.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 10.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 11.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 12.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 13.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 14.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 15.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 16.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.700+08:00| 17.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.800+08:00| 18.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.900+08:00| 19.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 20.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lof(s1, </span><span style="color:#98C379;">"method"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"series"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"><</span><span style="color:#D19A66;">1000</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>| Time|lof(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 3.77777777777778|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 4.32727272727273|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 4.85714285714286|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 5.40909090909091|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 5.94999999999999|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 6.43243243243243|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 6.79999999999999|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 6.79999999999999|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 6.43243243243243|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 5.94999999999999|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 5.40909090909091|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 4.85714285714286|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 4.32727272727273|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.600+08:00| 3.77777777777778|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="missdetect" tabindex="-1"><a class="header-anchor" href="#missdetect"><span>MissDetect</span></a></h3><h4 id="注册语句-28" tabindex="-1"><a class="header-anchor" href="#注册语句-28"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> missdetect</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFMissDetect'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-28" tabindex="-1"><a class="header-anchor" href="#函数简介-28"><span>函数简介</span></a></h4><p>本函数用于检测数据中的缺失异常。在一些数据中,缺失数据会被线性插值填补,在数据中出现完美的线性片段,且这些片段往往长度较大。本函数通过在数据中发现这些完美线性片段来检测缺失异常。</p><p><strong>函数名:</strong> MISSDETECT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>minlen</code>:被标记为异常的完美线性片段的最小长度,是一个大于等于 10 的整数,默认值为 10。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 BOOLEAN,即该数据点是否为缺失异常。</p><p><strong>提示:</strong> 数据中的<code>NaN</code>将会被忽略。</p><h4 id="使用示例-28" tabindex="-1"><a class="header-anchor" href="#使用示例-28"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:02.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:04.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:05.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:06.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:07.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:08.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:09.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:10.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:11.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:12.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:13.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:14.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:15.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:16.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:17.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:18.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:19.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:20.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> missdetect(s2,</span><span style="color:#98C379;">'minlen'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'10'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------+</span></span> |
| <span class="line"><span>| Time|missdetect(root.test.d2.s2, "minlen"="10")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:00.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:01.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:02.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:03.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:04.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:05.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:06.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:07.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:08.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:09.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:10.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:11.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:12.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:13.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:14.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:15.000+08:00| true|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:16.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:17.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:18.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:19.000+08:00| false|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:20.000+08:00| false|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="range" tabindex="-1"><a class="header-anchor" href="#range"><span>Range</span></a></h3><h4 id="注册语句-29" tabindex="-1"><a class="header-anchor" href="#注册语句-29"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> range</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFRange'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-29" tabindex="-1"><a class="header-anchor" href="#函数简介-29"><span>函数简介</span></a></h4><p>本函数用于查找时间序列的范围异常。将根据提供的上界与下界,判断输入数据是否越界,即异常,并输出所有异常点为新的时间序列。</p><p><strong>函数名:</strong> RANGE</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>lower_bound</code>:范围异常检测的下界。</li><li><code>upper_bound</code>:范围异常检测的上界。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。</p><p><strong>提示:</strong> 应满足<code>upper_bound</code>大于<code>lower_bound</code>,否则将不做输出。</p><h4 id="使用示例-29" tabindex="-1"><a class="header-anchor" href="#使用示例-29"><span>使用示例</span></a></h4><h5 id="指定上界与下界" tabindex="-1"><a class="header-anchor" href="#指定上界与下界"><span>指定上界与下界</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#C678DD;"> range</span><span style="color:#ABB2BF;">(s1,</span><span style="color:#98C379;">"lower_bound"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"101.0"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"upper_bound"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"125.0"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">30</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|Time |range(root.test.d1.s1,"lower_bound"="101.0","upper_bound"="125.0")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="twosidedfilter" tabindex="-1"><a class="header-anchor" href="#twosidedfilter"><span>TwoSidedFilter</span></a></h3><h4 id="注册语句-30" tabindex="-1"><a class="header-anchor" href="#注册语句-30"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> twosidedfilter</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFTwoSidedFilter'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-30" tabindex="-1"><a class="header-anchor" href="#函数简介-30"><span>函数简介</span></a></h4><p>本函数基于双边窗口检测法对输入序列中的异常点进行过滤。</p><p><strong>函数名:</strong> TWOSIDEDFILTER</p><p><strong>输出序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>输出序列:</strong> 输出单个序列,类型与输入相同,是输入序列去除异常点后的结果。</p><p><strong>参数:</strong></p><ul><li><code>len</code>:双边窗口检测法中的窗口大小,取值范围为正整数,默认值为 5.如当<code>len</code>=3 时,算法向前、向后各取长度为3的窗口,在窗口中计算异常度。</li><li><code>threshold</code>:异常度的阈值,取值范围为(0,1),默认值为 0.3。阈值越高,函数对于异常度的判定标准越严格。</li></ul><h4 id="使用示例-30" tabindex="-1"><a class="header-anchor" href="#使用示例-30"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2002.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1946.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 1958.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| 2012.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 2051.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1898.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 2014.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| 2052.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1935.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 1901.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1972.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1969.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1984.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| 2018.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:37.000+08:00| 1484.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:38.000+08:00| 1055.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:39.000+08:00| 1050.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:05.000+08:00| 1023.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:06.000+08:00| 1056.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:07.000+08:00| 978.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:08.000+08:00| 1050.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:09.000+08:00| 1123.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:10.000+08:00| 1150.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:11.000+08:00| 1034.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:12.000+08:00| 950.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:13.000+08:00| 1059.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> TwoSidedFilter(s0, </span><span style="color:#98C379;">'len'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'threshold'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0.3'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2002.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1946.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 1958.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| 2012.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 2051.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1898.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 2014.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| 2052.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1935.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 1901.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1972.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1969.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1984.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| 2018.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:05.000+08:00| 1023.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:06.000+08:00| 1056.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:07.000+08:00| 978.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:08.000+08:00| 1050.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:09.000+08:00| 1123.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:10.000+08:00| 1150.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:11.000+08:00| 1034.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:12.000+08:00| 950.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:01:13.000+08:00| 1059.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="outlier" tabindex="-1"><a class="header-anchor" href="#outlier"><span>Outlier</span></a></h3><h4 id="注册语句-31" tabindex="-1"><a class="header-anchor" href="#注册语句-31"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> outlier</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.anomaly.UDTFOutlier'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-31" tabindex="-1"><a class="header-anchor" href="#函数简介-31"><span>函数简介</span></a></h4><p>本函数用于检测基于距离的异常点。在当前窗口中,如果一个点距离阈值范围内的邻居数量(包括它自己)少于密度阈值,则该点是异常点。</p><p><strong>函数名:</strong> OUTLIER</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>r</code>:基于距离异常检测中的距离阈值。</li><li><code>k</code>:基于距离异常检测中的密度阈值。</li><li><code>w</code>:用于指定滑动窗口的大小。</li><li><code>s</code>:用于指定滑动窗口的步长。</li></ul><p><strong>输出序列</strong>:输出单个序列,类型与输入序列相同。</p><h4 id="使用示例-31" tabindex="-1"><a class="header-anchor" href="#使用示例-31"><span>使用示例</span></a></h4><h5 id="指定查询参数" tabindex="-1"><a class="header-anchor" href="#指定查询参数"><span>指定查询参数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.s1|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span> |
| <span class="line"><span>|2020-01-04T23:59:55.000+08:00| 56.0|</span></span> |
| <span class="line"><span>|2020-01-04T23:59:56.000+08:00| 55.1|</span></span> |
| <span class="line"><span>|2020-01-04T23:59:57.000+08:00| 54.2|</span></span> |
| <span class="line"><span>|2020-01-04T23:59:58.000+08:00| 56.3|</span></span> |
| <span class="line"><span>|2020-01-04T23:59:59.000+08:00| 59.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:00.000+08:00| 60.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:01.000+08:00| 60.5|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:02.000+08:00| 64.5|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:03.000+08:00| 69.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:04.000+08:00| 64.2|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:05.000+08:00| 62.3|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:06.000+08:00| 58.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:07.000+08:00| 58.9|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:08.000+08:00| 52.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:09.000+08:00| 62.3|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:10.000+08:00| 61.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:11.000+08:00| 64.2|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:12.000+08:00| 61.8|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:13.000+08:00| 64.0|</span></span> |
| <span class="line"><span>|2020-01-05T00:00:14.000+08:00| 63.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> outlier(s1,</span><span style="color:#98C379;">"r"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"5.0"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"k"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"4"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"w"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"10"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"s"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|outlier(root.test.s1,"r"="5.0","k"="4","w"="10","s"="5")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-05T00:00:03.000+08:00| 69.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-05T00:00:08.000+08:00| 52.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="mastertrain" tabindex="-1"><a class="header-anchor" href="#mastertrain"><span>MasterTrain</span></a></h3><h4 id="函数简介-32" tabindex="-1"><a class="header-anchor" href="#函数简介-32"><span>函数简介</span></a></h4><p>本函数基于主数据训练VAR预测模型。将根据提供的主数据判断时间序列中的数据点是否为错误值,并由连续p+1个非错误值作为训练样本训练VAR模型,输出训练后的模型参数。</p><p><strong>函数名:</strong> MasterTrain</p><p><strong>输入序列:</strong> 支持多个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>p</code>:模型阶数。</li><li><code>eta</code>:错误值判定阈值,在缺省情况下,算法根据3-sigma原则自动估计该参数。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE。</p><p><strong>安装方式:</strong></p><ul><li>从IoTDB代码仓库下载<code>research/master-detector</code>分支代码到本地</li><li>在根目录运行 <code>mvn spotless:apply</code></li><li>在根目录运行 <code>mvn clean package -pl library-udf -DskipTests -am -P get-jar-with-dependencies</code> 编译项目</li><li>将 <code>./library-UDF/target/library-udf-1.2.0-SNAPSHOT-jar-with-dependencies.jar</code>复制到IoTDB服务器的<code>./ext/udf/</code> 路径下。</li><li>启动 IoTDB服务器,在客户端中执行 <code>create function MasterTrain as org.apache.iotdb.library.anomaly.UDTFMasterTrain'</code>。</li></ul><h4 id="使用示例-32" tabindex="-1"><a class="header-anchor" href="#使用示例-32"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span> |
| <span class="line"><span>| Time|root.test.lo|root.test.la|root.test.m_la|root.test.m_lo|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 39.99982556| 116.327274| 116.3271939| 39.99984748|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 39.99983865| 116.327305| 116.3272269| 39.99984748|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 40.00019038| 116.3273291| 116.3272634| 39.99984769|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 39.99982556| 116.327342| 116.3273015| 39.9998483|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 39.99982991| 116.3273744| 116.327339| 39.99984892|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 39.99982716| 116.3274117| 116.3273759| 39.99984892|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 39.9998259| 116.3274396| 116.3274163| 39.99984953|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 39.99982597| 116.3274668| 116.3274525| 39.99985014|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 39.99982226| 116.3275026| 116.3274915| 39.99985076|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| 39.99980988| 116.3274967| 116.3275235| 39.99985137|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| 39.99984873| 116.3274929| 116.3275611| 39.99985199|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| 39.99981589| 116.3274745| 116.3275974| 39.9998526|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| 39.9998259| 116.3275095| 116.3276338| 39.99985384|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| 39.99984873| 116.3274787| 116.3276695| 39.99985446|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| 39.9998343| 116.3274693| 116.3277045| 39.99985569|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| 39.99983316| 116.3274941| 116.3277389| 39.99985631|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| 39.99983311| 116.3275401| 116.3277747| 39.99985693|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| 39.99984113| 116.3275713| 116.3278041| 39.99985756|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| 39.99983602| 116.3276003| 116.3278379| 39.99985818|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| 39.9998355| 116.3276308| 116.3278723| 39.9998588|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.021+08:00| 40.00012176| 116.3276107| 116.3279026| 39.99985942|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.022+08:00| 39.9998404| 116.3276684| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.023+08:00| 39.99983942| 116.3277016| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.024+08:00| 39.99984113| 116.3277284| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.025+08:00| 39.99984283| 116.3277562| null| null|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterTrain(lo,la,m_lo,m_la,</span><span style="color:#98C379;">'p'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'3'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'eta'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'1.0'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|MasterTrain(root.test.lo, root.test.la, root.test.m_lo, root.test.m_la, "p"="3", "eta"="1.0")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.13656607660463288|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.8291884323013894|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0.05012816073171693|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| -0.5495287787485761|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 0.03740486307345578|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1.0500132150475212|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 0.04583944643116993|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| -0.07863708480736269|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="masterdetect" tabindex="-1"><a class="header-anchor" href="#masterdetect"><span>MasterDetect</span></a></h3><h4 id="函数简介-33" tabindex="-1"><a class="header-anchor" href="#函数简介-33"><span>函数简介</span></a></h4><p>本函数基于主数据检测并修复时间序列中的错误值。将根据提供的主数据判断时间序列中的数据点是否为错误值,并由MasterTrain训练的模型进行时间序列预测,错误值将由预测值及主数据共同修复。</p><p><strong>函数名:</strong> MasterDetect</p><p><strong>输入序列:</strong> 支持多个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>p</code>:模型阶数。</li><li><code>k</code>:主数据中的近邻数量,正整数, 在缺省情况下,算法根据主数据中的k个近邻的元组距离自动估计该参数。</li><li><code>eta</code>:错误值判定阈值,在缺省情况下,算法根据3-sigma原则自动估计该参数。</li><li><code>beta</code>:异常值判定阈值,在缺省情况下,算法根据3-sigma原则自动估计该参数。</li><li><code>output_type</code>:输出结果类型,可选'repair'或'anomaly',即输出修复结果或异常检测结果,在缺省情况下默认为'repair'。</li><li><code>output_column</code>:输出列的序号,默认为1,即输出第一列的修复结果。</li></ul><p><strong>安装方式:</strong></p><ul><li>从IoTDB代码仓库下载<code>research/master-detector</code>分支代码到本地</li><li>在根目录运行 <code>mvn spotless:apply</code></li><li>在根目录运行 <code>mvn clean package -pl library-udf -DskipTests -am -P get-jar-with-dependencies</code> 编译项目</li><li>将 <code>./library-UDF/target/library-udf-1.2.0-SNAPSHOT-jar-with-dependencies.jar</code>复制到IoTDB服务器的<code>./ext/udf/</code> 路径下。</li><li>启动 IoTDB服务器,在客户端中执行 <code>create function MasterDetect as 'org.apache.iotdb.library.anomaly.UDTFMasterDetect'</code>。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入数据中对应列的类型相同,序列为输入列修复后的结果。</p><h4 id="使用示例-33" tabindex="-1"><a class="header-anchor" href="#使用示例-33"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span> |
| <span class="line"><span>| Time|root.test.lo|root.test.la|root.test.m_la|root.test.m_lo| root.test.model|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 39.99982556| 116.327274| 116.3271939| 39.99984748| 0.13656607660463288|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 39.99983865| 116.327305| 116.3272269| 39.99984748| 0.8291884323013894|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 40.00019038| 116.3273291| 116.3272634| 39.99984769| 0.05012816073171693|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 39.99982556| 116.327342| 116.3273015| 39.9998483| -0.5495287787485761|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 39.99982991| 116.3273744| 116.327339| 39.99984892| 0.03740486307345578|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 39.99982716| 116.3274117| 116.3273759| 39.99984892| 1.0500132150475212|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 39.9998259| 116.3274396| 116.3274163| 39.99984953| 0.04583944643116993|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 39.99982597| 116.3274668| 116.3274525| 39.99985014|-0.07863708480736269|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 39.99982226| 116.3275026| 116.3274915| 39.99985076| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| 39.99980988| 116.3274967| 116.3275235| 39.99985137| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| 39.99984873| 116.3274929| 116.3275611| 39.99985199| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| 39.99981589| 116.3274745| 116.3275974| 39.9998526| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| 39.9998259| 116.3275095| 116.3276338| 39.99985384| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| 39.99984873| 116.3274787| 116.3276695| 39.99985446| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| 39.9998343| 116.3274693| 116.3277045| 39.99985569| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| 39.99983316| 116.3274941| 116.3277389| 39.99985631| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| 39.99983311| 116.3275401| 116.3277747| 39.99985693| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| 39.99984113| 116.3275713| 116.3278041| 39.99985756| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| 39.99983602| 116.3276003| 116.3278379| 39.99985818| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| 39.9998355| 116.3276308| 116.3278723| 39.9998588| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.021+08:00| 40.00012176| 116.3276107| 116.3279026| 39.99985942| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.022+08:00| 39.9998404| 116.3276684| null| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.023+08:00| 39.99983942| 116.3277016| null| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.024+08:00| 39.99984113| 116.3277284| null| null| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.025+08:00| 39.99984283| 116.3277562| null| null| null|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+--------------+--------------+--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="修复" tabindex="-1"><a class="header-anchor" href="#修复"><span>修复</span></a></h5><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterDetect(lo,la,m_lo,m_la,model,</span><span style="color:#98C379;">'output_type'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'repair'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'p'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'3'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'k'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'3'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'eta'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'1.0'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|MasterDetect(lo,la,m_lo,m_la,model,'output_type'='repair','p'='3','k'='3','eta'='1.0')|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 116.327274|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 116.327305|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 116.3273291|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 116.327342|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 116.3273744|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 116.3274117|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 116.3274396|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 116.3274668|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 116.3275026|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| 116.3274967|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| 116.3274929|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| 116.3274745|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| 116.3275095|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| 116.3274787|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| 116.3274693|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| 116.3274941|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| 116.3275401|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| 116.3275713|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| 116.3276003|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| 116.3276308|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.021+08:00| 116.3276338|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.022+08:00| 116.3276684|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.023+08:00| 116.3277016|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.024+08:00| 116.3277284|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.025+08:00| 116.3277562|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="异常检测-1" tabindex="-1"><a class="header-anchor" href="#异常检测-1"><span>异常检测</span></a></h5><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterDetect(lo,la,m_lo,m_la,model,</span><span style="color:#98C379;">'output_type'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'anomaly'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'p'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'3'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'k'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'3'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'eta'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'1.0'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|MasterDetect(lo,la,m_lo,m_la,model,'output_type'='anomaly','p'='3','k'='3','eta'='1.0')|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| true|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| true|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.021+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.022+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.023+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.024+08:00| false|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.025+08:00| false|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="频域分析" tabindex="-1"><a class="header-anchor" href="#频域分析"><span>频域分析</span></a></h2><h3 id="conv" tabindex="-1"><a class="header-anchor" href="#conv"><span>Conv</span></a></h3><h4 id="注册语句-32" tabindex="-1"><a class="header-anchor" href="#注册语句-32"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> conv</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFConv'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-34" tabindex="-1"><a class="header-anchor" href="#函数简介-34"><span>函数简介</span></a></h4><p>本函数对两个输入序列进行卷积,即多项式乘法。</p><p><strong>函数名:</strong> CONV</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是两个序列卷积的结果。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h4 id="使用示例-34" tabindex="-1"><a class="header-anchor" href="#使用示例-34"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0| null|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> conv(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------+</span></span> |
| <span class="line"><span>| Time|conv(root.test.d2.s1, root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="deconv" tabindex="-1"><a class="header-anchor" href="#deconv"><span>Deconv</span></a></h3><h4 id="注册语句-33" tabindex="-1"><a class="header-anchor" href="#注册语句-33"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> deconv</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFDeconv'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-35" tabindex="-1"><a class="header-anchor" href="#函数简介-35"><span>函数简介</span></a></h4><p>本函数对两个输入序列进行去卷积,即多项式除法运算。</p><p><strong>函数名:</strong> DECONV</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>result</code>:去卷积的结果,取值为'quotient'或'remainder',分别对应于去卷积的商和余数。在缺省情况下,输出去卷积的商。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE。它是将第二个序列从第一个序列中去卷积(第一个序列除以第二个序列)的结果。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h4 id="使用示例-35" tabindex="-1"><a class="header-anchor" href="#使用示例-35"><span>使用示例</span></a></h4><h5 id="计算去卷积的商" tabindex="-1"><a class="header-anchor" href="#计算去卷积的商"><span>计算去卷积的商</span></a></h5><p>当<code>result</code>参数缺省或为'quotient'时,本函数计算去卷积的商。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s3|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 8.0| 7.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 2.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 7.0| null|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 2.0| null|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> deconv(s3,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>| Time|deconv(root.test.d2.s3, root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="计算去卷积的余数" tabindex="-1"><a class="header-anchor" href="#计算去卷积的余数"><span>计算去卷积的余数</span></a></h5><p>当<code>result</code>参数为'remainder'时,本函数计算去卷积的余数。输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> deconv(s3,s2,</span><span style="color:#98C379;">'result'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'remainder'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|deconv(root.test.d2.s3, root.test.d2.s2, "result"="remainder")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="dwt" tabindex="-1"><a class="header-anchor" href="#dwt"><span>DWT</span></a></h3><h4 id="注册语句-34" tabindex="-1"><a class="header-anchor" href="#注册语句-34"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> dwt</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFDWT'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-36" tabindex="-1"><a class="header-anchor" href="#函数简介-36"><span>函数简介</span></a></h4><p>本函数对输入序列进行一维离散小波变换。</p><p><strong>函数名:</strong> DWT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>method</code>:小波滤波的类型,提供'Haar', 'DB4', 'DB6', 'DB8',其中DB指代Daubechies。若不设置该参数,则用户需提供小波滤波的系数。不区分大小写。</li><li><code>coef</code>:小波滤波的系数。若提供该参数,请使用英文逗号','分割各项,不添加空格或其它符号。</li><li><code>layer</code>:进行变换的次数,最终输出的向量个数等同于<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.464ex;" xmlns="http://www.w3.org/2000/svg" width="8.951ex" height="2.034ex" role="img" focusable="false" viewBox="0 -694 3956.4 899" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D459" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path></g><g data-mml-node="mi" transform="translate(298,0)"><path data-c="1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></g><g data-mml-node="mi" transform="translate(827,0)"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(1317,0)"><path data-c="1D452" d="M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z"></path></g><g data-mml-node="mi" transform="translate(1783,0)"><path data-c="1D45F" d="M21 287Q22 290 23 295T28 317T38 348T53 381T73 411T99 433T132 442Q161 442 183 430T214 408T225 388Q227 382 228 382T236 389Q284 441 347 441H350Q398 441 422 400Q430 381 430 363Q430 333 417 315T391 292T366 288Q346 288 334 299T322 328Q322 376 378 392Q356 405 342 405Q286 405 239 331Q229 315 224 298T190 165Q156 25 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 114 189T154 366Q154 405 128 405Q107 405 92 377T68 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2456.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(3456.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>l</mi><mi>a</mi><mi>y</mi><mi>e</mi><mi>r</mi><mo>+</mo><mn>1</mn></math></mjx-assistive-mml></mjx-container>.默认取1。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,长度与输入相等。</p><p><strong>提示:</strong> 输入序列长度必须为2的整数次幂。</p><h4 id="使用示例-36" tabindex="-1"><a class="header-anchor" href="#使用示例-36"><span>使用示例</span></a></h4><h5 id="haar变换" tabindex="-1"><a class="header-anchor" href="#haar变换"><span>Haar变换</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 0.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.5|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 0.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 0.8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| 2.5|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 2.1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 1.8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| 1.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| 1.6|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> dwt(s1,</span><span style="color:#98C379;">"method"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"haar"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>| Time|dwt(root.test.d1.s1, "method"="haar")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.14142135834465192|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.100+08:00| 1.909188342921157|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.200+08:00| 1.6263456473052773|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.300+08:00| 1.9798989957517026|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.400+08:00| 3.252691126023161|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.500+08:00| 1.414213562373095|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.600+08:00| 2.1213203435596424|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.700+08:00| 1.8384776479437628|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.800+08:00| -0.14142135834465192|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.900+08:00| 0.21213200063848547|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| -0.7778174761639416|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.100+08:00| -0.8485281289944873|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.200+08:00| 0.2828427799095765|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.300+08:00| -1.414213562373095|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.400+08:00| 0.42426400127697095|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.500+08:00| -0.42426408557066786|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="fft" tabindex="-1"><a class="header-anchor" href="#fft"><span>FFT</span></a></h3><h4 id="注册语句-35" tabindex="-1"><a class="header-anchor" href="#注册语句-35"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> fft</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFFFT'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-37" tabindex="-1"><a class="header-anchor" href="#函数简介-37"><span>函数简介</span></a></h4><p>本函数对输入序列进行快速傅里叶变换。</p><p><strong>函数名:</strong> FFT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>method</code>:傅里叶变换的类型,取值为'uniform'或'nonuniform',缺省情况下为'uniform'。当取值为'uniform'时,时间戳将被忽略,所有数据点都将被视作等距的,并应用等距快速傅里叶算法;当取值为'nonuniform'时,将根据时间戳应用非等距快速傅里叶算法(未实现)。</li><li><code>result</code>:傅里叶变换的结果,取值为'real'、'imag'、'abs'或'angle',分别对应于变换结果的实部、虚部、模和幅角。在缺省情况下,输出变换的模。</li><li><code>compress</code>:压缩参数,取值范围(0,1],是有损压缩时保留的能量比例。在缺省情况下,不进行压缩。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,长度与输入相等。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h4 id="使用示例-37" tabindex="-1"><a class="header-anchor" href="#使用示例-37"><span>使用示例</span></a></h4><h5 id="等距傅里叶变换" tabindex="-1"><a class="header-anchor" href="#等距傅里叶变换"><span>等距傅里叶变换</span></a></h5><p>当<code>type</code>参数缺省或为'uniform'时,本函数进行等距傅里叶变换。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> fft(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+</span></span> |
| <span class="line"><span>| Time| fft(root.test.d1.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.2727111142703152E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 2.385520799101839E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 8.723291723972645E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.999999960195904|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 3.2260694930700566E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 8.723291605373329E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 1.108657103979944E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.2727110997246171E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00|1.9852334701272664E-23|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| 1.2727111194499847E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| 1.108657103979944E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| 8.723291785769131E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| 3.226069493070057E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| 9.999999850988388|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| 19.999999960195904|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| 8.723291747109068E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| 2.3855207991018386E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| 1.2727112069910878E-8|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>注:输入序列服从<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="28.941ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 12792 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>4</mn><mo stretchy="false">)</mo><mo>+</mo><mn>2</mn><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>5</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>,长度为20,因此在输出序列中<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.186ex;" xmlns="http://www.w3.org/2000/svg" width="5.327ex" height="1.756ex" role="img" focusable="false" viewBox="0 -694 2354.6 776" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></g><g data-mml-node="mo" transform="translate(798.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1854.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>k</mi><mo>=</mo><mn>4</mn></math></mjx-assistive-mml></mjx-container>和<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.186ex;" xmlns="http://www.w3.org/2000/svg" width="5.327ex" height="1.756ex" role="img" focusable="false" viewBox="0 -694 2354.6 776" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></g><g data-mml-node="mo" transform="translate(798.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1854.6,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>k</mi><mo>=</mo><mn>5</mn></math></mjx-assistive-mml></mjx-container>处有尖峰。</p><h5 id="等距傅里叶变换并压缩" tabindex="-1"><a class="header-anchor" href="#等距傅里叶变换并压缩"><span>等距傅里叶变换并压缩</span></a></h5><p>输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> fft(s1, </span><span style="color:#98C379;">'result'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'real'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'compress'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0.99'</span><span style="color:#ABB2BF;">), fft(s1, </span><span style="color:#98C379;">'result'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'imag'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'compress'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0.99'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span> |
| <span class="line"><span>| Time| fft(root.test.d1.s1,| fft(root.test.d1.s1,|</span></span> |
| <span class="line"><span>| | "result"="real",| "result"="imag",|</span></span> |
| <span class="line"><span>| | "compress"="0.99")| "compress"="0.99")|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>注:基于傅里叶变换结果的共轭性质,压缩结果只保留前一半;根据给定的压缩参数,从低频到高频保留数据点,直到保留的能量比例超过该值;保留最后一个数据点以表示序列长度。</p><h3 id="highpass" tabindex="-1"><a class="header-anchor" href="#highpass"><span>HighPass</span></a></h3><h4 id="注册语句-36" tabindex="-1"><a class="header-anchor" href="#注册语句-36"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> highpass</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFHighPass'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-38" tabindex="-1"><a class="header-anchor" href="#函数简介-38"><span>函数简介</span></a></h4><p>本函数对输入序列进行高通滤波,提取高于截止频率的分量。输入序列的时间戳将被忽略,所有数据点都将被视作等距的。</p><p><strong>函数名:</strong> HIGHPASS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>wpass</code>:归一化后的截止频率,取值为(0,1),不可缺省。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是滤波后的序列,长度与时间戳均与输入一致。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h4 id="使用示例-38" tabindex="-1"><a class="header-anchor" href="#使用示例-38"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> highpass(s1,</span><span style="color:#98C379;">'wpass'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0.45'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------+</span></span> |
| <span class="line"><span>| Time|highpass(root.test.d1.s1, "wpass"="0.45")|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.9999999534830373|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.7462829277628608E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -0.9999999593178128|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -4.1115269056426626E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 0.9999999925494194|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 3.328126513330016E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| -1.0000000183304454|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| 6.260191433311374E-10|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| 1.0000000018134796|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| -3.097210911744423E-17|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| -1.0000000018134794|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| -6.260191627862097E-10|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| 1.0000000183304454|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| -3.328126501424346E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:14.000+08:00| -0.9999999925494196|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:15.000+08:00| 4.111526915498874E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:16.000+08:00| 0.9999999593178128|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.7462829341296528E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:18.000+08:00| -0.9999999534830369|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:19.000+08:00| -1.035237222742873E-16|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>注:输入序列服从<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="28.941ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 12792 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>4</mn><mo stretchy="false">)</mo><mo>+</mo><mn>2</mn><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>5</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>,长度为20,因此高通滤波之后的输出序列服从<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="14.585ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 6446.6 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>4</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>。</p><h3 id="ifft" tabindex="-1"><a class="header-anchor" href="#ifft"><span>IFFT</span></a></h3><h4 id="注册语句-37" tabindex="-1"><a class="header-anchor" href="#注册语句-37"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ifft</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFIFFT'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-39" tabindex="-1"><a class="header-anchor" href="#函数简介-39"><span>函数简介</span></a></h4><p>本函数将输入的两个序列作为实部和虚部视作一个复数,进行逆快速傅里叶变换,并输出结果的实部。输入数据的格式参见<code>FFT</code>函数的输出,并支持以<code>FFT</code>函数压缩后的输出作为本函数的输入。</p><p><strong>函数名:</strong> IFFT</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>start</code>:输出序列的起始时刻,是一个格式为'yyyy-MM-dd HH:mm:ss'的时间字符串。在缺省情况下,为'1970-01-01 08:00:00'。</li><li><code>interval</code>:输出序列的时间间隔,是一个有单位的正数。目前支持五种单位,分别是'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。在缺省情况下,为1s。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE。该序列是一个等距时间序列,它的值是将两个输入序列依次作为实部和虚部进行逆快速傅里叶变换的结果。</p><p><strong>提示:</strong> 如果某行数据中包含空值或<code>NaN</code>,该行数据将会被忽略。</p><h4 id="使用示例-39" tabindex="-1"><a class="header-anchor" href="#使用示例-39"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span> |
| <span class="line"><span>| Time| root.test.d1.re| root.test.d1.im|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------+----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ifft(re, im, </span><span style="color:#98C379;">'interval'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'1m'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'start'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'2021-01-01 00:00:00'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|ifft(root.test.d1.re, root.test.d1.im, "interval"="1m",|</span></span> |
| <span class="line"><span>| | "start"="2021-01-01 00:00:00")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-01-01T00:00:00.000+08:00| 2.902112992431231|</span></span> |
| <span class="line"><span>|2021-01-01T00:01:00.000+08:00| 1.1755704705132448|</span></span> |
| <span class="line"><span>|2021-01-01T00:02:00.000+08:00| -2.175570513757101|</span></span> |
| <span class="line"><span>|2021-01-01T00:03:00.000+08:00| -1.9021130389094498|</span></span> |
| <span class="line"><span>|2021-01-01T00:04:00.000+08:00| 0.9999999925494194|</span></span> |
| <span class="line"><span>|2021-01-01T00:05:00.000+08:00| 1.902113046743454|</span></span> |
| <span class="line"><span>|2021-01-01T00:06:00.000+08:00| 0.17557053610884188|</span></span> |
| <span class="line"><span>|2021-01-01T00:07:00.000+08:00| -1.1755704886020932|</span></span> |
| <span class="line"><span>|2021-01-01T00:08:00.000+08:00| -0.9021130371347148|</span></span> |
| <span class="line"><span>|2021-01-01T00:09:00.000+08:00| 3.552713678800501E-16|</span></span> |
| <span class="line"><span>|2021-01-01T00:10:00.000+08:00| 0.9021130371347154|</span></span> |
| <span class="line"><span>|2021-01-01T00:11:00.000+08:00| 1.1755704886020932|</span></span> |
| <span class="line"><span>|2021-01-01T00:12:00.000+08:00| -0.17557053610884144|</span></span> |
| <span class="line"><span>|2021-01-01T00:13:00.000+08:00| -1.902113046743454|</span></span> |
| <span class="line"><span>|2021-01-01T00:14:00.000+08:00| -0.9999999925494196|</span></span> |
| <span class="line"><span>|2021-01-01T00:15:00.000+08:00| 1.9021130389094498|</span></span> |
| <span class="line"><span>|2021-01-01T00:16:00.000+08:00| 2.1755705137571004|</span></span> |
| <span class="line"><span>|2021-01-01T00:17:00.000+08:00| -1.1755704705132448|</span></span> |
| <span class="line"><span>|2021-01-01T00:18:00.000+08:00| -2.902112992431231|</span></span> |
| <span class="line"><span>|2021-01-01T00:19:00.000+08:00| -3.552713678800501E-16|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="lowpass" tabindex="-1"><a class="header-anchor" href="#lowpass"><span>LowPass</span></a></h3><h4 id="注册语句-38" tabindex="-1"><a class="header-anchor" href="#注册语句-38"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> lowpass</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.frequency.UDTFLowPass'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-40" tabindex="-1"><a class="header-anchor" href="#函数简介-40"><span>函数简介</span></a></h4><p>本函数对输入序列进行低通滤波,提取低于截止频率的分量。输入序列的时间戳将被忽略,所有数据点都将被视作等距的。</p><p><strong>函数名:</strong> LOWPASS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>wpass</code>:归一化后的截止频率,取值为(0,1),不可缺省。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是滤波后的序列,长度与时间戳均与输入一致。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h4 id="使用示例-40" tabindex="-1"><a class="header-anchor" href="#使用示例-40"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| -0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 0.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| -0.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:14.000+08:00| -1.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021131|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:16.000+08:00| 2.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755705|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:18.000+08:00| -2.902113|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:19.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> lowpass(s1,</span><span style="color:#98C379;">'wpass'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0.45'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>| Time|lowpass(root.test.d1.s1, "wpass"="0.45")|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 1.9021130073323922|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.1755704705132448|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| -1.1755705286582614|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| -1.9021130389094498|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 7.450580419288145E-9|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 1.902113046743454|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 1.1755705212076808|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| -1.1755704886020932|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| -1.9021130222335536|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 3.552713678800501E-16|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 1.9021130222335536|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:11.000+08:00| 1.1755704886020932|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:12.000+08:00| -1.1755705212076801|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:13.000+08:00| -1.902113046743454|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:14.000+08:00| -7.45058112983088E-9|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:15.000+08:00| 1.9021130389094498|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:16.000+08:00| 1.1755705286582616|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:17.000+08:00| -1.1755704705132448|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:18.000+08:00| -1.9021130073323924|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:19.000+08:00| -2.664535259100376E-16|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="envelope" tabindex="-1"><a class="header-anchor" href="#envelope"><span>Envelope</span></a></h2><h3 id="函数简介-41" tabindex="-1"><a class="header-anchor" href="#函数简介-41"><span>函数简介</span></a></h3><p>本函数通过输入一维浮点数数组和用户指定的调制频率,实现对信号的解调和包络提取。解调的目标是从复杂的信号中提取感兴趣的部分,使其更易理解。比如通过解调可以找到信号的包络,即振幅的变化趋势。</p><p><strong>函数名:</strong> Envelope</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>frequency</code>:频率(选填,正数。不填此参数,系统会基于序列对应时间的时间间隔来推断频率)。</li><li><code>amplification</code>: 扩增倍数(选填,正整数。输出Time列的结果为正整数的集合,不会输出小数。当频率小1时,可通过此参数对频率进行扩增以展示正常的结果)。</li></ul><p><strong>输出序列:</strong></p><ul><li><p><code>Time</code>: 该列返回的值的含义是频率而并非时间,如果输出的格式为时间格式(如:1970-01-01T08:00:19.000+08:00),请将其转为时间戳值。</p></li><li><p><code>Envelope(Path, 'frequency'='{frequency}')</code>:输出单个序列,类型为DOUBLE,它是包络分析之后的结果。</p></li></ul><p><strong>提示:</strong> 当解调的原始序列的值不连续时,本函数会视为连续处理,建议被分析的时间序列是一段值完整的时间序列。同时建议指定开始时间与结束时间。</p><h3 id="使用示例-41" tabindex="-1"><a class="header-anchor" href="#使用示例-41"><span>使用示例</span></a></h3><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:01.000+08:00| 1.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:02.000+08:00| 2.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:03.000+08:00| 3.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:04.000+08:00| 4.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:05.000+08:00| 5.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:06.000+08:00| 6.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:07.000+08:00| 7.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:08.000+08:00| 8.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:09.000+08:00| 9.0 |</span></span> |
| <span class="line"><span>|1970-01-01T08:00:10.000+08:00| 10.0 |</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">set</span><span style="color:#ABB2BF;"> time_display_type</span><span style="color:#56B6C2;">=</span><span style="color:#ABB2BF;">long;</span></span> |
| <span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> envelope(s1),envelope(s1,</span><span style="color:#98C379;">'frequency'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'1000'</span><span style="color:#ABB2BF;">),envelope(s1,</span><span style="color:#98C379;">'amplification'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'10'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+----+-------------------------+---------------------------------------------+-----------------------------------------------+</span></span> |
| <span class="line"><span>|Time|envelope(root.test.d1.s1)|envelope(root.test.d1.s1, "frequency"="1000")|envelope(root.test.d1.s1, "amplification"="10")|</span></span> |
| <span class="line"><span>+----+-------------------------+---------------------------------------------+-----------------------------------------------+</span></span> |
| <span class="line"><span>| 0| 6.284350808484124| 6.284350808484124| 6.284350808484124|</span></span> |
| <span class="line"><span>| 100| 1.5581923657404393| 1.5581923657404393| null|</span></span> |
| <span class="line"><span>| 200| 0.8503211038340728| 0.8503211038340728| null|</span></span> |
| <span class="line"><span>| 300| 0.512808785945551| 0.512808785945551| null|</span></span> |
| <span class="line"><span>| 400| 0.26361156774506744| 0.26361156774506744| null|</span></span> |
| <span class="line"><span>|1000| null| null| 1.5581923657404393|</span></span> |
| <span class="line"><span>|2000| null| null| 0.8503211038340728|</span></span> |
| <span class="line"><span>|3000| null| null| 0.512808785945551|</span></span> |
| <span class="line"><span>|4000| null| null| 0.26361156774506744|</span></span> |
| <span class="line"><span>+----+-------------------------+---------------------------------------------+-----------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>注:输入序列服从<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="28.941ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 12792 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(1823.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2292.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(2637.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3237.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(3626.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4126.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(4696.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5057.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(5557.6,0)"><path data-c="34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path></g><g data-mml-node="mo" transform="translate(6057.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(6668.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mn" transform="translate(7669,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(8169,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(8638,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(8983,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9583,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(9972,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(10472,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(11042,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(11403,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(11903,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(12403,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>4</mn><mo stretchy="false">)</mo><mo>+</mo><mn>2</mn><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>5</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>,长度为20,因此低通滤波之后的输出序列服从<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="15.716ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 6946.6 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(767.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1823.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(2323.6,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(2792.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(3137.6,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(3737.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(4126.6,0)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(4626.6,0)"><path data-c="1D70B" d="M132 -11Q98 -11 98 22V33L111 61Q186 219 220 334L228 358H196Q158 358 142 355T103 336Q92 329 81 318T62 297T53 285Q51 284 38 284Q19 284 19 294Q19 300 38 329T93 391T164 429Q171 431 389 431Q549 431 553 430Q573 423 573 402Q573 371 541 360Q535 358 472 358H408L405 341Q393 269 393 222Q393 170 402 129T421 65T431 37Q431 20 417 5T381 -10Q370 -10 363 -7T347 17T331 77Q330 86 330 121Q330 170 339 226T357 318T367 358H269L268 354Q268 351 249 275T206 114T175 17Q164 -11 132 -11Z"></path></g><g data-mml-node="mi" transform="translate(5196.6,0)"><path data-c="1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(5557.6,0)"><g data-mml-node="mo"><path data-c="2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path></g></g><g data-mml-node="mn" transform="translate(6057.6,0)"><path data-c="35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></g><g data-mml-node="mo" transform="translate(6557.6,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>y</mi><mo>=</mo><mn>2</mn><mi>s</mi><mi>i</mi><mi>n</mi><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mrow data-mjx-texclass="ORD"><mo>/</mo></mrow><mn>5</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>。</p><h2 id="数据匹配" tabindex="-1"><a class="header-anchor" href="#数据匹配"><span>数据匹配</span></a></h2><h3 id="cov" tabindex="-1"><a class="header-anchor" href="#cov"><span>Cov</span></a></h3><h4 id="注册语句-39" tabindex="-1"><a class="header-anchor" href="#注册语句-39"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> cov</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dmatch.UDAFCov'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-42" tabindex="-1"><a class="header-anchor" href="#函数简介-42"><span>函数简介</span></a></h4><p>本函数用于计算两列数值型数据的总体协方差。</p><p><strong>函数名:</strong> COV</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列仅包含一个时间戳为 0、值为总体协方差的数据点。</p><p><strong>提示:</strong></p><ul><li>如果某行数据中包含空值、缺失值或<code>NaN</code>,该行数据将会被忽略;</li><li>如果数据中所有的行都被忽略,函数将会输出<code>NaN</code>。</li></ul><h4 id="使用示例-42" tabindex="-1"><a class="header-anchor" href="#使用示例-42"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0| 103.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| null| 103.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0| 105.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0| 105.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0| 106.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN| 108.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> cov(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>| Time|cov(root.test.d2.s1, root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 12.291666666666666|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="dtw" tabindex="-1"><a class="header-anchor" href="#dtw"><span>Dtw</span></a></h3><h4 id="注册语句-40" tabindex="-1"><a class="header-anchor" href="#注册语句-40"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> dtw</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dmatch.UDAFDtw'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-43" tabindex="-1"><a class="header-anchor" href="#函数简介-43"><span>函数简介</span></a></h4><p>本函数用于计算两列数值型数据的 DTW 距离。</p><p><strong>函数名:</strong> DTW</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列仅包含一个时间戳为 0、值为两个时间序列的 DTW 距离值。</p><p><strong>提示:</strong></p><ul><li>如果某行数据中包含空值、缺失值或<code>NaN</code>,该行数据将会被忽略;</li><li>如果数据中所有的行都被忽略,函数将会输出 0。</li></ul><h4 id="使用示例-43" tabindex="-1"><a class="header-anchor" href="#使用示例-43"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.010+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.011+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.012+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.013+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.014+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.015+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.016+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.017+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.018+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.019+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.020+08:00| 1.0| 2.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> dtw(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>| Time|dtw(root.test.d2.s1, root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 20.0|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="pearson" tabindex="-1"><a class="header-anchor" href="#pearson"><span>Pearson</span></a></h3><h4 id="注册语句-41" tabindex="-1"><a class="header-anchor" href="#注册语句-41"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pearson</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dmatch.UDAFPearson'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-44" tabindex="-1"><a class="header-anchor" href="#函数简介-44"><span>函数简介</span></a></h4><p>本函数用于计算两列数值型数据的皮尔森相关系数。</p><p><strong>函数名:</strong> PEARSON</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列仅包含一个时间戳为 0、值为皮尔森相关系数的数据点。</p><p><strong>提示:</strong></p><ul><li>如果某行数据中包含空值、缺失值或<code>NaN</code>,该行数据将会被忽略;</li><li>如果数据中所有的行都被忽略,函数将会输出<code>NaN</code>。</li></ul><h4 id="使用示例-44" tabindex="-1"><a class="header-anchor" href="#使用示例-44"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|root.test.d2.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0| 103.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| null| 103.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0| 105.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0| 105.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0| 106.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN| 108.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pearson(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------+</span></span> |
| <span class="line"><span>| Time|pearson(root.test.d2.s1, root.test.d2.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.000+08:00| 0.5630881927754872|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="ptnsym" tabindex="-1"><a class="header-anchor" href="#ptnsym"><span>PtnSym</span></a></h3><h4 id="注册语句-42" tabindex="-1"><a class="header-anchor" href="#注册语句-42"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ptnsym</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dmatch.UDTFPtnSym'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-45" tabindex="-1"><a class="header-anchor" href="#函数简介-45"><span>函数简介</span></a></h4><p>本函数用于寻找序列中所有对称度小于阈值的对称子序列。对称度通过 DTW 计算,值越小代表序列对称性越高。</p><p><strong>函数名:</strong> PTNSYM</p><p><strong>输入序列:</strong> 仅支持一个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>window</code>:对称子序列的长度,是一个正整数,默认值为 10。</li><li><code>threshold</code>:对称度阈值,是一个非负数,只有对称度小于等于该值的对称子序列才会被输出。在缺省情况下,所有的子序列都会被输出。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列中的每一个数据点对应于一个对称子序列,时间戳为子序列的起始时刻,值为对称度。</p><h4 id="使用示例-45" tabindex="-1"><a class="header-anchor" href="#使用示例-45"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s4|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2021-01-01T12:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:01.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:02.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:03.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:04.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:05.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:06.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:07.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:08.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:09.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:10.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:11.000+08:00| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ptnsym(s4, </span><span style="color:#98C379;">'window'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'threshold'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'0'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|ptnsym(root.test.d1.s4, "window"="5", "threshold"="0")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-01-01T12:00:00.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2021-01-01T12:00:07.000+08:00| 0.0|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="xcorr" tabindex="-1"><a class="header-anchor" href="#xcorr"><span>XCorr</span></a></h3><h4 id="注册语句-43" tabindex="-1"><a class="header-anchor" href="#注册语句-43"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> xcorr</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dmatch.UDTFXCorr'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-46" tabindex="-1"><a class="header-anchor" href="#函数简介-46"><span>函数简介</span></a></h4><p>本函数用于计算两条时间序列的互相关函数值,<br> 对离散序列而言,互相关函数可以表示为</p><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-2.819ex;" xmlns="http://www.w3.org/2000/svg" width="32.14ex" height="6.74ex" role="img" focusable="false" viewBox="0 -1733 14206 2978.9" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(760,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(1519,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1908,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2508,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(3174.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(4230.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(5725.2,0)"><g data-mml-node="mo" transform="translate(40.3,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(0,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mi" transform="translate(448.3,1150) scale(0.707)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g><g data-mml-node="msub" transform="translate(7416.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(8466,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(8744,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(9622,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(9900,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(10949.5,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(11227.5,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(12327.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(13328,0)"><path data-c="1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(13928,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>C</mi><mi>R</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo data-mjx-texclass="OP">∑</mo><mrow data-mjx-texclass="ORD"><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>S</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mi>m</mi><mo stretchy="false">]</mo><msub><mi>S</mi><mn>2</mn></msub><mo stretchy="false">[</mo><mi>m</mi><mo>+</mo><mi>n</mi><mo stretchy="false">]</mo></math></mjx-assistive-mml></mjx-container><p>常用于表征两条序列在不同对齐条件下的相似度。</p><p><strong>函数名:</strong> XCORR</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。序列中共包含<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.186ex;" xmlns="http://www.w3.org/2000/svg" width="7.037ex" height="1.731ex" role="img" focusable="false" viewBox="0 -683 3110.4 765" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1610.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mn" transform="translate(2610.4,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mn>2</mn><mi>N</mi><mo>−</mo><mn>1</mn></math></mjx-assistive-mml></mjx-container>个数据点,<br> 其中正中心的值为两条序列按照预先对齐的结果计算的互相关系数(即等于以上公式的<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="6.328ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2797 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(760,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(1519,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mn" transform="translate(1908,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></g><g data-mml-node="mo" transform="translate(2408,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo stretchy="false">)</mo></math></mjx-assistive-mml></mjx-container>),<br> 前半部分的值表示将后一条输入序列向前平移时计算的互相关系数,<br> 直至两条序列没有重合的数据点(不包含完全分离时的结果<mjx-container class="MathJax" jax="SVG" style="position:relative;"><svg style="vertical-align:-0.566ex;" xmlns="http://www.w3.org/2000/svg" width="14.875ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 6574.6 1000" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(760,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(1519,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mo" transform="translate(1908,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2686,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(3574,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(4240.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(5296.6,0)"><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path data-c="2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z" transform="translate(500,0)"></path><path data-c="30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z" transform="translate(778,0)"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="inline"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>C</mi><mi>R</mi><mo stretchy="false">(</mo><mo>−</mo><mi>N</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0.0</mn></math></mjx-assistive-mml></mjx-container>),<br> 后半部分类似。<br> 用公式可表示为(所有序列的索引从1开始计数):</p><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-2.819ex;" xmlns="http://www.w3.org/2000/svg" width="62.266ex" height="6.704ex" role="img" focusable="false" viewBox="0 -1717.4 27521.6 2963.3" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D442" d="M740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476Z"></path></g><g data-mml-node="mi" transform="translate(763,0)"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mo" transform="translate(1408,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(1686,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2031,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(2586.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(3642.6,0)"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(4402.6,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(5161.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mo" transform="translate(5550.6,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(6328.6,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(7438.8,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(8439,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(8784,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(9450.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(10506.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(12001.2,0)"><g data-mml-node="mo" transform="translate(40.3,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(0,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="TeXAtom" transform="translate(640.3,1150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g></g></g><g data-mml-node="msub" transform="translate(13692.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(14742,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(15020,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(15898,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(16176,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(17225.5,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(17503.5,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(18613.7,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(19614,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(20181.2,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(21181.4,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(22059.4,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(22337.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mtext" transform="translate(22782.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(23032.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(23377.1,0)"><path data-c="1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path></g><g data-mml-node="mtext" transform="translate(23927.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(24177.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(24799.9,0)"><g data-mml-node="text"><path data-c="3C" d="M694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19Z"></path></g><g data-mml-node="text" transform="translate(778,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g></g><g data-mml-node="mi" transform="translate(26633.6,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>O</mi><mi>S</mi><mo stretchy="false">[</mo><mi>i</mi><mo stretchy="false">]</mo><mo>=</mo><mi>C</mi><mi>R</mi><mo stretchy="false">(</mo><mo>−</mo><mi>N</mi><mo>+</mo><mi>i</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo data-mjx-texclass="OP">∑</mo><mrow data-mjx-texclass="ORD"><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mrow data-mjx-texclass="ORD"><mi>i</mi></mrow></munderover><msub><mi>S</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mi>m</mi><mo stretchy="false">]</mo><msub><mi>S</mi><mn>2</mn></msub><mo stretchy="false">[</mo><mi>N</mi><mo>−</mo><mi>i</mi><mo>+</mo><mi>m</mi><mo stretchy="false">]</mo><mo>,</mo><mtext> </mtext><mi>i</mi><mi>f</mi><mtext> </mtext><mi>i</mi><mo><=</mo><mi>N</mi></math></mjx-assistive-mml></mjx-container><mjx-container class="MathJax" jax="SVG" display="true" style="position:relative;"><svg style="vertical-align:-2.819ex;" xmlns="http://www.w3.org/2000/svg" width="59.314ex" height="6.74ex" role="img" focusable="false" viewBox="0 -1733 26216.7 2978.9" aria-hidden="true"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D442" d="M740 435Q740 320 676 213T511 42T304 -22Q207 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435ZM637 476Q637 565 591 615T476 665Q396 665 322 605Q242 542 200 428T157 216Q157 126 200 73T314 19Q404 19 485 98T608 313Q637 408 637 476Z"></path></g><g data-mml-node="mi" transform="translate(763,0)"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mo" transform="translate(1408,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(1686,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(2031,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(2586.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mi" transform="translate(3642.6,0)"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g><g data-mml-node="mi" transform="translate(4402.6,0)"><path data-c="1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path></g><g data-mml-node="mo" transform="translate(5161.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(5550.6,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(6117.8,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(7118,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(8006,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g><g data-mml-node="mo" transform="translate(8672.8,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mfrac" transform="translate(9728.6,0)"><g data-mml-node="mn" transform="translate(414,676)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g><g data-mml-node="mi" transform="translate(220,-686)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><rect width="1088" height="60" x="120" y="220"></rect></g><g data-mml-node="munderover" transform="translate(11223.2,0)"><g data-mml-node="mo" transform="translate(165.8,0)"><path data-c="2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path></g><g data-mml-node="TeXAtom" transform="translate(125.5,-1087.9) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(878,0)"><path data-c="3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></g><g data-mml-node="mn" transform="translate(1656,0)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="TeXAtom" transform="translate(0,1150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g><g data-mml-node="mi" transform="translate(500,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(1388,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(2166,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g></g></g><g data-mml-node="msub" transform="translate(13165.4,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></g></g><g data-mml-node="mo" transform="translate(14215,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(14493,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(15060.2,0)"><path data-c="2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path></g><g data-mml-node="mi" transform="translate(16060.4,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g><g data-mml-node="mo" transform="translate(17170.7,0)"><path data-c="2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></g><g data-mml-node="mi" transform="translate(18170.9,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(19048.9,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="msub" transform="translate(19326.9,0)"><g data-mml-node="mi"><path data-c="1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></g><g data-mml-node="mn" transform="translate(646,-150) scale(0.707)"><path data-c="32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></g></g><g data-mml-node="mo" transform="translate(20376.4,0)"><path data-c="5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path></g><g data-mml-node="mi" transform="translate(20654.4,0)"><path data-c="1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(21532.4,0)"><path data-c="5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path></g><g data-mml-node="mo" transform="translate(21810.4,0)"><path data-c="2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path></g><g data-mml-node="mtext" transform="translate(22255.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(22505.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(22850.1,0)"><path data-c="1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path></g><g data-mml-node="mtext" transform="translate(23400.1,0)"><path data-c="A0" d=""></path></g><g data-mml-node="mi" transform="translate(23650.1,0)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mo" transform="translate(24272.9,0)"><path data-c="3E" d="M84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520Z"></path></g><g data-mml-node="mi" transform="translate(25328.7,0)"><path data-c="1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></g></g></g></svg><mjx-assistive-mml unselectable="on" display="block"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>O</mi><mi>S</mi><mo stretchy="false">[</mo><mi>i</mi><mo stretchy="false">]</mo><mo>=</mo><mi>C</mi><mi>R</mi><mo stretchy="false">(</mo><mi>i</mi><mo>−</mo><mi>N</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo data-mjx-texclass="OP">∑</mo><mrow data-mjx-texclass="ORD"><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mrow data-mjx-texclass="ORD"><mn>2</mn><mi>N</mi><mo>−</mo><mi>i</mi></mrow></munderover><msub><mi>S</mi><mn>1</mn></msub><mo stretchy="false">[</mo><mi>i</mi><mo>−</mo><mi>N</mi><mo>+</mo><mi>m</mi><mo stretchy="false">]</mo><msub><mi>S</mi><mn>2</mn></msub><mo stretchy="false">[</mo><mi>m</mi><mo stretchy="false">]</mo><mo>,</mo><mtext> </mtext><mi>i</mi><mi>f</mi><mtext> </mtext><mi>i</mi><mo>></mo><mi>N</mi></math></mjx-assistive-mml></mjx-container><p><strong>提示:</strong></p><ul><li>两条序列中的<code>null</code> 和<code>NaN</code> 值会被忽略,在计算中表现为 0。</li></ul><h4 id="使用示例-46" tabindex="-1"><a class="header-anchor" href="#使用示例-46"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| null| 6|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 2| 7|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 3| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 4| 9|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 5| 10|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> xcorr(s1, s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2020</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">05</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------------------+</span></span> |
| <span class="line"><span>| Time|xcorr(root.test.d1.s1, root.test.d1.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 4.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 9.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 13.4|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 20.0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 15.6|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.007+08:00| 9.2|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.008+08:00| 11.8|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.009+08:00| 6.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="pattern-match" tabindex="-1"><a class="header-anchor" href="#pattern-match"><span>Pattern_match</span></a></h3><h4 id="注册语句-44" tabindex="-1"><a class="header-anchor" href="#注册语句-44"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> pattern_match</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.match.UDAFPatternMatch'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-47" tabindex="-1"><a class="header-anchor" href="#函数简介-47"><span>函数简介</span></a></h4><p>本函数用于对输入的某一条时间序列与预设的<code>pattern</code>进行模式匹配,当相似度小于等于某个预设阈值时判定为匹配成功,并将最终匹配结果以<code>json</code>列表的方式输出。</p><p><strong>函数名:</strong> PATTERN_MATCH</p><p><strong>输入序列:</strong> 仅支持一个输入序列,类型为INT32,INT64,FLOAT,DOUBLE,BOOLEAN。</p><p><strong>参数:</strong></p><ul><li><code>timePattern</code> :以时间戳组成的字符串,以逗号分隔。长度必须大于1。必填项。</li><li><code>valuePattern </code>:以数字组成的字符串,以逗号分隔。数量与 <code>timePattern </code>相同,长度必须大于1。必填项。</li></ul><blockquote><p>提示:布尔类型的<code>valuePattern </code>,需要用1,0来表示<code>true</code>和<code>false</code>。</p></blockquote><ul><li><code>threshold</code> :阈值。Float类型。必填项。</li></ul><p><strong>输出序列</strong>:输出结果为包含所有成功匹配段落的起始时间戳<code>startTime</code>、终止时间戳<code>endTime</code>及相似度值<code>distance</code>的<code>json</code>列表。</p><h4 id="使用示例-47" tabindex="-1"><a class="header-anchor" href="#使用示例-47"><span>使用示例</span></a></h4><ol><li>线性数据</li></ol><p>输入序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s0 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s0, </span><span style="color:#98C379;">"timePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,2,3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"valuePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1.1,1.2,1.3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"threshold"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| match_result|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{"distance":0.200000,"startTime":1,"endTime":3}, {"distance":0.000000,"startTime":2,"endTime":4}]</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>布尔类型数据</li></ol><p>输入序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s1 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| false|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| false|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s1, </span><span style="color:#98C379;">"timePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,2,3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"valuePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,1,1"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"threshold"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| match_result|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{"distance":0.000000,"startTime":1,"endTime":3}]</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>V型数据</li></ol><p>输入序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s2 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s2</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">006</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">007</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">008</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">009</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">010</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| -</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s2, </span><span style="color:#98C379;">"timePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,2,3,4,5,6,7"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"valuePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.0,-1.0,-2.0,-3.0,-2.0,-1.0,-0.0"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"threshold"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"10"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| match_result|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{"distance":0.53,"startTime":1,"endTime":10}]</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="4"><li>多个匹配模式</li></ol><p>输入序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> s0,s1 </span><span style="color:#C678DD;">from</span><span style="color:#C678DD;"> root</span><span style="color:#ABB2BF;">.**</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">Time</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">d0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">s1</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">001</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">002</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">003</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">| true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">004</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">| false|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">1970</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T08:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">005</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| false|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-------------+-------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> pattern_match (s0, </span><span style="color:#98C379;">"timePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,2,3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"valuePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1.1,1.2,1.3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"threshold"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result1, pattern_match (s1, </span><span style="color:#98C379;">"timePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,2,3"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"valuePattern"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"1,1,1"</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#98C379;"> "threshold"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"0.5"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> match_result2 </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">db</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| match_result1| match_result2|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{"distance":0.200000,"startTime":1,"endTime":3}, {"distance":0.000000,"startTime":2,"endTime":4}]</span><span style="color:#ABB2BF;">|</span><span style="color:#E06C75;">[{"distance":0.000000,"startTime":1,"endTime":3}]</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------------------------------------------------------------------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="数据修复" tabindex="-1"><a class="header-anchor" href="#数据修复"><span>数据修复</span></a></h2><h3 id="timestamprepair" tabindex="-1"><a class="header-anchor" href="#timestamprepair"><span>TimestampRepair</span></a></h3><h4 id="注册语句-45" tabindex="-1"><a class="header-anchor" href="#注册语句-45"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> timestamprepair</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.drepair.UDTFTimestampRepair'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="函数简介-48" tabindex="-1"><a class="header-anchor" href="#函数简介-48"><span>函数简介</span></a></h3><p>本函数用于时间戳修复。根据给定的标准时间间隔,采用最小化修复代价的方法,通过对数据时间戳的微调,将原本时间戳间隔不稳定的数据修复为严格等间隔的数据。在未给定标准时间间隔的情况下,本函数将使用时间间隔的中位数 (median)、众数 (mode) 或聚类中心 (cluster) 来推算标准时间间隔。</p><p><strong>函数名:</strong> TIMESTAMPREPAIR</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>interval</code>: 标准时间间隔(单位是毫秒),是一个正整数。在缺省情况下,将根据指定的方法推算。</li><li><code>method</code>:推算标准时间间隔的方法,取值为 'median', 'mode' 或 'cluster',仅在<code>interval</code>缺省时有效。在缺省情况下,将使用中位数方法进行推算。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。该序列是修复后的输入序列。</p><h3 id="使用示例-48" tabindex="-1"><a class="header-anchor" href="#使用示例-48"><span>使用示例</span></a></h3><h4 id="指定标准时间间隔" tabindex="-1"><a class="header-anchor" href="#指定标准时间间隔"><span>指定标准时间间隔</span></a></h4><p>在给定<code>interval</code>参数的情况下,本函数将按照指定的标准时间间隔进行修复。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:19.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:01.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:11.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:21.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:31.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timestamprepair(s1,</span><span style="color:#98C379;">'interval'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'10000'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|timestamprepair(root.test.d2.s1, "interval"="10000")|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:20.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:00.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:10.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:20.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:30.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="自动推算标准时间间隔" tabindex="-1"><a class="header-anchor" href="#自动推算标准时间间隔"><span>自动推算标准时间间隔</span></a></h4><p>如果<code>interval</code>参数没有给定,本函数将按照推算的标准时间间隔进行修复。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> timestamprepair(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------+</span></span> |
| <span class="line"><span>| Time|timestamprepair(root.test.d2.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:00.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:10.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:20.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:30.000+08:00| 4.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:40.000+08:00| 5.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:50.000+08:00| 6.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:00.000+08:00| 7.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:10.000+08:00| 8.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:20.000+08:00| 9.0|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:30.000+08:00| 10.0|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="valuefill" tabindex="-1"><a class="header-anchor" href="#valuefill"><span>ValueFill</span></a></h3><h4 id="注册语句-46" tabindex="-1"><a class="header-anchor" href="#注册语句-46"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> valuefill</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.drepair.UDTFValueFill'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-49" tabindex="-1"><a class="header-anchor" href="#函数简介-49"><span>函数简介</span></a></h4><p><strong>函数名:</strong> ValueFill</p><p><strong>输入序列:</strong> 单列时序数据,类型为INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>method</code>: {"mean", "previous", "linear", "likelihood", "AR", "MA", "SCREEN"}, 默认为 "linear"。其中,“mean” 指使用均值填补的方法; “previous" 指使用前值填补方法;“linear" 指使用线性插值填补方法;“likelihood” 为基于速度的正态分布的极大似然估计方法;“AR” 指自回归的填补方法;“MA” 指滑动平均的填补方法;"SCREEN" 指约束填补方法;缺省情况下使用 “linear”。</li></ul><p><strong>输出序列:</strong> 填补后的单维序列。</p><p><strong>备注:</strong> AR 模型采用 AR(1),时序列需满足自相关条件,否则将输出单个数据点 (0, 0.0).</p><h4 id="使用示例-49" tabindex="-1"><a class="header-anchor" href="#使用示例-49"><span>使用示例</span></a></h4><h5 id="使用-linear-方法进行填补" tabindex="-1"><a class="header-anchor" href="#使用-linear-方法进行填补"><span>使用 linear 方法进行填补</span></a></h5><p>当<code>method</code>缺省或取值为 'linear' 时,本函数将使用线性插值方法进行填补。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuefill(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>| Time|valuefill(root.test.d2)|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.7|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.3|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="使用-previous-方法进行填补" tabindex="-1"><a class="header-anchor" href="#使用-previous-方法进行填补"><span>使用 previous 方法进行填补</span></a></h5><p>当<code>method</code>取值为 'previous' 时,本函数将使前值填补方法进行数值填补。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuefill(s1,</span><span style="color:#98C379;">"method"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"previous"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------+</span></span> |
| <span class="line"><span>| Time|valuefill(root.test.d2,"method"="previous")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| NaN|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 110.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="valuerepair" tabindex="-1"><a class="header-anchor" href="#valuerepair"><span>ValueRepair</span></a></h3><h4 id="注册语句-47" tabindex="-1"><a class="header-anchor" href="#注册语句-47"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> valuerepair</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.drepair.UDTFValueRepair'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-50" tabindex="-1"><a class="header-anchor" href="#函数简介-50"><span>函数简介</span></a></h4><p>本函数用于对时间序列的数值进行修复。目前,本函数支持两种修复方法:<strong>Screen</strong> 是一种基于速度阈值的方法,在最小改动的前提下使得所有的速度符合阈值要求;<strong>LsGreedy</strong> 是一种基于速度变化似然的方法,将速度变化建模为高斯分布,并采用贪心算法极大化似然函数。</p><p><strong>函数名:</strong> VALUEREPAIR</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>method</code>:修复时采用的方法,取值为 'Screen' 或 'LsGreedy'. 在缺省情况下,使用 Screen 方法进行修复。</li><li><code>minSpeed</code>:该参数仅在使用 Screen 方法时有效。当速度小于该值时会被视作数值异常点加以修复。在缺省情况下为中位数减去三倍绝对中位差。</li><li><code>maxSpeed</code>:该参数仅在使用 Screen 方法时有效。当速度大于该值时会被视作数值异常点加以修复。在缺省情况下为中位数加上三倍绝对中位差。</li><li><code>center</code>:该参数仅在使用 LsGreedy 方法时有效。对速度变化分布建立的高斯模型的中心。在缺省情况下为 0。</li><li><code>sigma</code> :该参数仅在使用 LsGreedy 方法时有效。对速度变化分布建立的高斯模型的标准差。在缺省情况下为绝对中位差。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。该序列是修复后的输入序列。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>在修复之前会先进行线性插值填补。</p><h4 id="使用示例-50" tabindex="-1"><a class="header-anchor" href="#使用示例-50"><span>使用示例</span></a></h4><h5 id="使用-screen-方法进行修复" tabindex="-1"><a class="header-anchor" href="#使用-screen-方法进行修复"><span>使用 Screen 方法进行修复</span></a></h5><p>当<code>method</code>缺省或取值为 'Screen' 时,本函数将使用 Screen 方法进行数值修复。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| NaN|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuerepair(s1) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>| Time|valuerepair(root.test.d2.s1)|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 106.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span> |
| <span class="line"><span>+-----------------------------+----------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="使用-lsgreedy-方法进行修复" tabindex="-1"><a class="header-anchor" href="#使用-lsgreedy-方法进行修复"><span>使用 LsGreedy 方法进行修复</span></a></h5><p>当<code>method</code>取值为 'LsGreedy' 时,本函数将使用 LsGreedy 方法进行数值修复。</p><p>输入序列同上,用于查询的 SQL 语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> valuerepair(s1,</span><span style="color:#98C379;">'method'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'LsGreedy'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|valuerepair(root.test.d2.s1, "method"="LsGreedy")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 102.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 104.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 106.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 108.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 112.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:15.000+08:00| 113.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 114.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 116.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 118.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:26.000+08:00| 124.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:28.000+08:00| 126.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:30.000+08:00| 128.0|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="masterrepair" tabindex="-1"><a class="header-anchor" href="#masterrepair"><span>MasterRepair</span></a></h3><h4 id="函数简介-51" tabindex="-1"><a class="header-anchor" href="#函数简介-51"><span>函数简介</span></a></h4><p>本函数实现基于主数据的时间序列数据修复。</p><p>**函数名:**MasterRepair</p><p><strong>输入序列:</strong> 支持多个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>omega</code>:算法窗口大小,非负整数(单位为毫秒), 在缺省情况下,算法根据不同时间差下的两个元组距离自动估计该参数。</li><li><code>eta</code>:算法距离阈值,正数, 在缺省情况下,算法根据窗口中元组的距离分布自动估计该参数。</li><li><code>k</code>:主数据中的近邻数量,正整数, 在缺省情况下,算法根据主数据中的k个近邻的元组距离自动估计该参数。</li><li><code>output_column</code>:输出列的序号,默认输出第一列的修复结果。</li></ul><p>**输出序列:**输出单个序列,类型与输入数据中对应列的类型相同,序列为输入列修复后的结果。</p><h4 id="使用示例-51" tabindex="-1"><a class="header-anchor" href="#使用示例-51"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span> |
| <span class="line"><span>| Time|root.test.t1|root.test.t2|root.test.t3|root.test.m1|root.test.m2|root.test.m3|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1704| 1154.55| 0.195| 1704| 1154.55| 0.195|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:02.000+08:00| 1702| 1152.30| 0.193| 1702| 1152.30| 0.193|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1702| 1148.65| 0.192| 1702| 1148.65| 0.192|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:04.000+08:00| 1701| 1145.20| 0.194| 1701| 1145.20| 0.194|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:07.000+08:00| 1703| 1150.55| 0.195| 1703| 1150.55| 0.195|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:08.000+08:00| 1694| 1151.55| 0.193| 1704| 1151.55| 0.193|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:09.000+08:00| 1705| 1153.55| 0.194| 1705| 1153.55| 0.194|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:10.000+08:00| 1706| 1152.30| 0.190| 1706| 1152.30| 0.190|</span></span> |
| <span class="line"><span>+-----------------------------+------------+------------+------------+------------+------------+------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> MasterRepair(t1,t2,t3,m1,m2,m3) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|MasterRepair(root.test.t1,root.test.t2,root.test.t3,root.test.m1,root.test.m2,root.test.m3)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2021-07-01T12:00:01.000+08:00| 1704|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:02.000+08:00| 1702|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:03.000+08:00| 1702|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:04.000+08:00| 1701|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:07.000+08:00| 1703|</span></span> |
| <span class="line"><span>|2021-07-01T12:00:08.000+08:00| 1704|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:09.000+08:00| 1705|</span></span> |
| <span class="line"><span>|2021-07-01T12:01:10.000+08:00| 1706|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="seasonalrepair" tabindex="-1"><a class="header-anchor" href="#seasonalrepair"><span>SeasonalRepair</span></a></h3><h4 id="函数简介-52" tabindex="-1"><a class="header-anchor" href="#函数简介-52"><span>函数简介</span></a></h4><p>本函数用于对周期性时间序列的数值进行基于分解的修复。目前,本函数支持两种方法:<strong>Classical</strong>使用经典分解方法得到的残差项检测数值的异常波动,并使用滑动平均修复序列;<strong>Improved</strong>使用改进的分解方法得到的残差项检测数值的异常波动,并使用滑动中值修复序列。</p><p><strong>函数名:</strong> SEASONALREPAIR</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>method</code>:修复时采用的分解方法,取值为'Classical'或'Improved'。在缺省情况下,使用经典分解方法进行修复。</li><li><code>period</code>:序列的周期。</li><li><code>k</code>:残差项的范围阈值,用来限制残差项偏离中心的程度。在缺省情况下为9。</li><li><code>max_iter</code>:算法的最大迭代次数。在缺省情况下为10。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型与输入序列相同。该序列是修复后的输入序列。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>在修复之前会先进行线性插值填补。</p><h4 id="使用示例-52" tabindex="-1"><a class="header-anchor" href="#使用示例-52"><span>使用示例</span></a></h4><h5 id="使用经典分解方法进行修复" tabindex="-1"><a class="header-anchor" href="#使用经典分解方法进行修复"><span>使用经典分解方法进行修复</span></a></h5><p>当<code>method</code>缺省或取值为'Classical'时,本函数将使用经典分解方法进行数值修复。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d2.s1|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| 101.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> seasonalrepair(s1,</span><span style="color:#98C379;">'period'</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'k'</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|seasonalrepair(root.test.d2.s1, 'period'=4, 'k'=2)|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| 87.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="使用改进的分解方法进行修复" tabindex="-1"><a class="header-anchor" href="#使用改进的分解方法进行修复"><span>使用改进的分解方法进行修复</span></a></h5><p>当<code>method</code>取值为'Improved'时,本函数将使用改进的分解方法进行数值修复。</p><p>输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> seasonalrepair(s1,</span><span style="color:#98C379;">'method'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'improved'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'period'</span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d2</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|valuerepair(root.test.d2.s1, 'method'='improved', 'period'=3)|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| 100.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| 120.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 80.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 100.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:10.000+08:00| 119.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:12.000+08:00| 81.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:14.000+08:00| 99.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:16.000+08:00| 119.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:18.000+08:00| 80.5|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:20.000+08:00| 99.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:22.000+08:00| 121.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:24.000+08:00| 79.5|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="序列发现" tabindex="-1"><a class="header-anchor" href="#序列发现"><span>序列发现</span></a></h2><h3 id="consecutivesequences" tabindex="-1"><a class="header-anchor" href="#consecutivesequences"><span>ConsecutiveSequences</span></a></h3><h4 id="注册语句-48" tabindex="-1"><a class="header-anchor" href="#注册语句-48"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consecutivesequences</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.series.UDTFConsecutiveSequences'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-53" tabindex="-1"><a class="header-anchor" href="#函数简介-53"><span>函数简介</span></a></h4><p>本函数用于在多维严格等间隔数据中发现局部最长连续子序列。</p><p>严格等间隔数据是指数据的时间间隔是严格相等的,允许存在数据缺失(包括行缺失和值缺失),但不允许存在数据冗余和时间戳偏移。</p><p>连续子序列是指严格按照标准时间间隔等距排布,不存在任何数据缺失的子序列。如果某个连续子序列不是任何连续子序列的真子序列,那么它是局部最长的。</p><p><strong>函数名:</strong> CONSECUTIVESEQUENCES</p><p><strong>输入序列:</strong> 支持多个输入序列,类型可以是任意的,但要满足严格等间隔的要求。</p><p><strong>参数:</strong></p><ul><li><code>gap</code>:标准时间间隔,是一个有单位的正数。目前支持五种单位,分别是'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。在缺省情况下,函数会利用众数估计标准时间间隔。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 INT32。输出序列中的每一个数据点对应一个局部最长连续子序列,时间戳为子序列的起始时刻,值为子序列包含的数据点个数。</p><p><strong>提示:</strong> 对于不符合要求的输入,本函数不对输出做任何保证。</p><h4 id="使用示例-53" tabindex="-1"><a class="header-anchor" href="#使用示例-53"><span>使用示例</span></a></h4><h5 id="手动指定标准时间间隔" tabindex="-1"><a class="header-anchor" href="#手动指定标准时间间隔"><span>手动指定标准时间间隔</span></a></h5><p>本函数可以通过<code>gap</code>参数手动指定标准时间间隔。需要注意的是,错误的参数设置会导致输出产生严重错误。</p><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:05:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:10:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:20:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:25:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:30:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:35:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:40:00.000+08:00| 1.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:45:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:50:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivesequences(s1,s2,</span><span style="color:#98C379;">'gap'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'5m'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|consecutivesequences(root.test.d1.s1, root.test.d1.s2, "gap"="5m")|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:20:00.000+08:00| 4|</span></span> |
| <span class="line"><span>|2020-01-01T00:45:00.000+08:00| 2|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="自动估计标准时间间隔" tabindex="-1"><a class="header-anchor" href="#自动估计标准时间间隔"><span>自动估计标准时间间隔</span></a></h5><p>当<code>gap</code>参数缺省时,本函数可以利用众数估计标准时间间隔,得到同样的结果。因此,这种用法更受推荐。</p><p>输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivesequences(s1,s2) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|consecutivesequences(root.test.d1.s1, root.test.d1.s2)|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:20:00.000+08:00| 4|</span></span> |
| <span class="line"><span>|2020-01-01T00:45:00.000+08:00| 2|</span></span> |
| <span class="line"><span>+-----------------------------+------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="consecutivewindows" tabindex="-1"><a class="header-anchor" href="#consecutivewindows"><span>ConsecutiveWindows</span></a></h3><h4 id="注册语句-49" tabindex="-1"><a class="header-anchor" href="#注册语句-49"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> consecutivewindows</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.series.UDTFConsecutiveWindows'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-54" tabindex="-1"><a class="header-anchor" href="#函数简介-54"><span>函数简介</span></a></h4><p>本函数用于在多维严格等间隔数据中发现指定长度的连续窗口。</p><p>严格等间隔数据是指数据的时间间隔是严格相等的,允许存在数据缺失(包括行缺失和值缺失),但不允许存在数据冗余和时间戳偏移。</p><p>连续窗口是指严格按照标准时间间隔等距排布,不存在任何数据缺失的子序列。</p><p><strong>函数名:</strong> CONSECUTIVEWINDOWS</p><p><strong>输入序列:</strong> 支持多个输入序列,类型可以是任意的,但要满足严格等间隔的要求。</p><p><strong>参数:</strong></p><ul><li><code>gap</code>:标准时间间隔,是一个有单位的正数。目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。在缺省情况下,函数会利用众数估计标准时间间隔。</li><li><code>length</code>:序列长度,是一个有单位的正数。目前支持五种单位,分别是 'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。该参数不允许缺省。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 INT32。输出序列中的每一个数据点对应一个指定长度连续子序列,时间戳为子序列的起始时刻,值为子序列包含的数据点个数。</p><p><strong>提示:</strong> 对于不符合要求的输入,本函数不对输出做任何保证。</p><h4 id="使用示例-54" tabindex="-1"><a class="header-anchor" href="#使用示例-54"><span>使用示例</span></a></h4><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d1.s1|root.test.d1.s2|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:05:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:10:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:20:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:25:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:30:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:35:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:40:00.000+08:00| 1.0| null|</span></span> |
| <span class="line"><span>|2020-01-01T00:45:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:50:00.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> consecutivewindows(s1,s2,</span><span style="color:#98C379;">'length'</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">'10m'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d1</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|consecutivewindows(root.test.d1.s1, root.test.d1.s2, "length"="10m")|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:00.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:20:00.000+08:00| 3|</span></span> |
| <span class="line"><span>|2020-01-01T00:25:00.000+08:00| 3|</span></span> |
| <span class="line"><span>+-----------------------------+--------------------------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="机器学习" tabindex="-1"><a class="header-anchor" href="#机器学习"><span>机器学习</span></a></h2><h3 id="ar" tabindex="-1"><a class="header-anchor" href="#ar"><span>AR</span></a></h3><h4 id="注册语句-50" tabindex="-1"><a class="header-anchor" href="#注册语句-50"><span>注册语句</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">create</span><span style="color:#C678DD;"> function</span><span style="color:#61AFEF;"> ar</span><span style="color:#C678DD;"> as</span><span style="color:#98C379;"> 'org.apache.iotdb.library.dlearn.UDTFAR'</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="函数简介-55" tabindex="-1"><a class="header-anchor" href="#函数简介-55"><span>函数简介</span></a></h4><p>本函数用于学习数据的自回归模型系数。</p><p><strong>函数名:</strong> AR</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>p</code>:自回归模型的阶数。默认为1。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为 DOUBLE。第一行对应模型的一阶系数,以此类推。</p><p><strong>提示:</strong></p><ul><li><p><code>p</code>应为正整数。</p></li><li><p>序列中的大部分点为等间隔采样点。</p></li><li><p>序列中的缺失点通过线性插值进行填补后用于学习过程。</p></li></ul><h4 id="使用示例-55" tabindex="-1"><a class="header-anchor" href="#使用示例-55"><span>使用示例</span></a></h4><h5 id="指定阶数" tabindex="-1"><a class="header-anchor" href="#指定阶数"><span>指定阶数</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d0.s0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| -2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> ar(s0,</span><span style="color:#98C379;">"p"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"2"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------------------+</span></span> |
| <span class="line"><span>| Time|ar(root.test.d0.s0,"p"="2")|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 0.9429|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| -0.2571|</span></span> |
| <span class="line"><span>+-----------------------------+---------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="representation" tabindex="-1"><a class="header-anchor" href="#representation"><span>Representation</span></a></h3><h4 id="函数简介-56" tabindex="-1"><a class="header-anchor" href="#函数简介-56"><span>函数简介</span></a></h4><p>本函数用于时间序列的表示。</p><p><strong>函数名:</strong> Representation</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>tb</code>:时间分块数量。默认为10。</li><li><code>vb</code>:值分块数量。默认为10。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为INT32,长度为<code>tb*vb</code>。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong></p><ul><li><code>tb </code>,<code>vb</code>应为正整数。</li></ul><h4 id="使用示例-56" tabindex="-1"><a class="header-anchor" href="#使用示例-56"><span>使用示例</span></a></h4><h5 id="指定时间分块数量、值分块数量" tabindex="-1"><a class="header-anchor" href="#指定时间分块数量、值分块数量"><span>指定时间分块数量、值分块数量</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d0.s0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| -2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> representation(s0,</span><span style="color:#98C379;">"tb"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"3"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"vb"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"2"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|representation(root.test.d0.s0,"tb"="3","vb"="2")|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.002+08:00| 1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.003+08:00| 0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.004+08:00| 0|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.005+08:00| 1|</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.006+08:00| 1|</span></span> |
| <span class="line"><span>+-----------------------------+-------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="rm" tabindex="-1"><a class="header-anchor" href="#rm"><span>RM</span></a></h3><h4 id="函数简介-57" tabindex="-1"><a class="header-anchor" href="#函数简介-57"><span>函数简介</span></a></h4><p>本函数用于基于时间序列表示的匹配度。</p><p><strong>函数名:</strong> RM</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE。</p><p><strong>参数:</strong></p><ul><li><code>tb</code>:时间分块数量。默认为10。</li><li><code>vb</code>:值分块数量。默认为10。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,长度为<code>1</code>。序列的时间戳从0开始,序列仅有一个数据点,其时间戳为0,值为两个时间序列的匹配度。</p><p><strong>提示:</strong></p><ul><li><code>tb </code>,<code>vb</code>应为正整数。</li></ul><h4 id="使用示例-57" tabindex="-1"><a class="header-anchor" href="#使用示例-57"><span>使用示例</span></a></h4><h5 id="指定时间分块数量、值分块数量-1" tabindex="-1"><a class="header-anchor" href="#指定时间分块数量、值分块数量-1"><span>指定时间分块数量、值分块数量</span></a></h5><p>输入序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>| Time|root.test.d0.s0|root.test.d0.s1</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span> |
| <span class="line"><span>|2020-01-01T00:00:01.000+08:00| -4.0| -4.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:02.000+08:00| -3.0| -3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:03.000+08:00| -3.0| -3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:04.000+08:00| -1.0| -1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:05.000+08:00| 0.0| 0.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:06.000+08:00| 1.0| 1.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:07.000+08:00| 2.0| 2.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:08.000+08:00| 3.0| 3.0|</span></span> |
| <span class="line"><span>|2020-01-01T00:00:09.000+08:00| 4.0| 4.0|</span></span> |
| <span class="line"><span>+-----------------------------+---------------+---------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的 SQL 语句:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" data-title="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> rm(s0, s1,</span><span style="color:#98C379;">"tb"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"3"</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"vb"</span><span style="color:#56B6C2;">=</span><span style="color:#98C379;">"2"</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#D19A66;"> root</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">test</span><span style="color:#ABB2BF;">.d0</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" data-title="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span> |
| <span class="line"><span>| Time|rm(root.test.d0.s0,root.test.d0.s1,"tb"="3","vb"="2")|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span> |
| <span class="line"><span>|1970-01-01T08:00:00.001+08:00| 1.00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!----><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a class="auto-link external-link vp-meta-label" href="https://github.com/apache/iotdb-docs/edit/main/src/zh/UserGuide/V1.3.x/SQL-Manual/UDF-Libraries_apache.md" aria-label="发现错误?在 GitHub 上编辑此页" rel="noopener noreferrer" target="_blank" iconsizing="both"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon" name="edit"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></svg><!--]-->发现错误?在 GitHub 上编辑此页<!----></a></div><div class="vp-meta-item git-info"><div class="update-time"><span class="vp-meta-label">上次编辑于: </span><span class="vp-meta-info" data-allow-mismatch="text">2025/3/13 04:11:25</span></div><!----></div></footer><nav class="vp-page-nav"><!----><a class="route-link auto-link next" href="/zh/UserGuide/V1.3.x/SQL-Manual/Operator-and-Expression.html" aria-label="函数与运算符" iconsizing="both"><div class="hint">下一页<span class="arrow end"></span></div><div class="link">函数与运算符<!----></div></a></nav><!----><!----><!--]--></main><!--]--><footer class="site-footer"><span id="doc-version" style="display:none;">V1.3.x</span><p class="copyright-text">版权所有 © 2025 Apache软件基金会。 |
| Apache IoTDB,IoTDB,Apache,Apache 羽毛标志和 Apache IoTDB 项目标志是 Apache 软件基金会在所有国家的注册商标或商标</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"><strong>有问题吗?</strong> 在 QQ、微信或 Slack 上联系我们。 <a href="https://github.com/apache/iotdb/issues/1995">立即加入社区</a></p></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div> |
| <script type="module" src="/assets/app-C-fAkKj6.js" defer></script> |
| </body> |
| </html> |