InfluxDB 2.0 之Flux语法篇
由于项目 IoTSharp 需要支持 InfluxDB , 因此进行了初步尝试, 虽然 Flux 语法初次学习, 但查询语句却似曾相识, 如果改一下 标点符号, 你会完全认为他是 C#的拉姆达表达式,
首先看一下写入数据:
using (var writeApi = influxDBClient.GetWriteApi()){//// Write by Point//var point = PointData.Measurement("temperature").Tag("location", "west").Field("value", 55D).Timestamp(DateTime.UtcNow.AddSeconds(-10), WritePrecision.Ns);writeApi.WritePoint("bucket_name", "org_id", point);//// Write by LineProtocol//writeApi.WriteRecord("bucket_name", "org_id", WritePrecision.Ns, "temperature,location=north value=60.0");//// Write by POCO//var temperature = new Temperature {Location = "south", Value = 62D, Time = DateTime.UtcNow};writeApi.WriteMeasurement("bucket_name", "org_id", WritePrecision.Ns, temperature);}
写入数据看起来类似于 1.0 但是 增加了 bucket 和org这些信息。
新版本的查询则更有意思:
from(bucket: "iotsharp-bucket")|> range(start: v.timeRangeStart, stop: v.timeRangeStop)|> filter(fn: (r) => r["_measurement"] == "TelemetryData")|> filter(fn: (r) => r["DeviceId"] == "a649a429-e82c-406b-8b8e-a3ba48c868fb")|> yield()
_measurement 相当于表名
DeviceId 其实类似 涛思时序数据库中的 tags 字段,
同时 , 也有类似group之类的语句, 比如
|> group(columns: [""_field""])
如果你想只要 年龄或者 用户名之类的字段 可以使用 类似下面的用法
|> filter(fn: (r) => r["_field"] == "age" or r["_field"] == "username" )
欲了解更多C#中访问 InfluxDB 2.0 的方法, 可以参考我们的代码:
https://gitee.com/IoTSharp/IoTSharp/blob/master/IoTSharp/Storage/InfluxDBStorage.cs
InfluxDB 2.0 之Flux语法篇相关推荐
- 时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
InfluxDB 2.0的第一个alpha版本正式发布.2.0版本的愿景是将TICK整合成一个整体,将时序数据库.UI.仪表盘工具以及后台处理和监控代理置于一组API后面.从1.x到2.0产品线代表了 ...
- InfluxDB 2.0 Alpha展开测试!将会加入查询语言Flux
InfluxData释出其开源时序数据库InfluxDB 2.0 Alpha测试版,这个版本最大的更新,便是增加了新的数据脚本和查询语言Flux,不只能提供跨平台时序数据操作,还能将TICK组件堆栈整 ...
- Xamarin XAML语言教程基础语法篇大学霸
Xamarin XAML语言教程基础语法篇大学霸 前 言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...
- mysql select high_priority_MySQL进阶SELECT语法篇
MySQL进阶SELECT语法篇 2019-09-29 编程之家收集整理的这篇文章主要介绍了MySQL进阶SELECT语法篇,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. MysqL中 ...
- C# 6.0 的新语法特性
序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 虽说出了一段时间,但是似乎有许多园友对这一块知识并不了解,如拼 ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...
- FPGA笔记之verilog语言(基础语法篇)
文章目录 FPGA笔记之verilog语言(基础语法篇) 1. verilog 的基础结构 1.1 verilog设计的基本单元--module 1.2 module的使用 1.3 I/O的说明 1. ...
- InfluxDB 2.0 原理与应用实践
什么是时序数据库 时序数据库,全称时间序列数据库(Time Series Database,TSDB),用于存储大量基于时间的数据,时序数据(Time Series Data)指的是一系列基于时间的数 ...
最新文章
- Mybatis 配置文件
- 初学者python用什么开发软件-对于自学python的初学者来说,应该使用什么编辑工具?...
- mysql find()方法_Mysql find_in_set()函数使用方法
- 商品搜索——输入联想|智能提示探索
- sleep和sleep(0)的区别
- 服务器 消息 208,在MSSQL2000里边 对象名 'sys.servers' 无效 服务器: 消息 208,级别 16,状态 1,行 1...
- 天梯—个位数统计(C语言)
- [javase学习笔记]-8.8 构造代码块
- lvds输入悬空_LVDS的接口电路设计
- dell服务器无线网卡,dell笔记本内置无线网卡找不到怎么处理
- Python修改图片尺寸、裁剪图片、拼接图片
- hdu 5755 Gambler Bo 高斯消元
- 史上最全数据库笔记(上)
- gcs服务 oracle,gcs resource
- JAVA第八课:集合(CollectionMap)
- 练习4-7 求e的近似值
- 深度学习的研究方向和发展趋势
- 关于nofollow的问题
- linux proc 文件系统下 entry 的解释(转)
- python 源代码 macd双底 高 低_MACD双底背离_选股公式,炒股软件,炒股公式,股票软件,股票公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...