博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
向InfluxDB写入数据
阅读量:5996 次
发布时间:2019-06-20

本文共 2390 字,大约阅读时间需要 7 分钟。

  hot3.png

##简单用法

在InfluxDB中的数据是通过“时间序列组织的“,包含一个测量变量,比如cpu_load或者温度。时间序列有无数的点,每个点都是metric的离散采样。点包含time(一个时间戳)、一个measurement测量变量(比如是cpu_load),至少一个kv键值对field(测量变量的值,比如"value=0.64",或者"temperature=21.2"),很多的kv键值对tags(包含了任何关于变量的元数据信息,比如"host=server01",“region=EMEA”, “dc=Frankfurt”) 。

在概念上,你可以把一个measurement看做是一个SQL表,主索引一直都是时间。tagsfields实际上是表中的列。tags会被索引,但是fields不会。区别是,使用InfluxDB,你可以有百万个测量变量,但是不需要设计前面的架构,空值不会被存储。

点会被写入到InfluxDB,使用行协议(Line Protocol),格式如下:

[,
=
...]
=
[,
=
...] [unix-nano-timestamp]

下面是可以写入到InfluxDB的点的所有例子:

cpu,host=serverA,region=us_west value=0.64payment,device=mobile,product=Notepad,method=credit billed=33,licenses=3i 1434067467100293230stock,symbol=AAPL bid=127.46,ask=127.48temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000

使用influx命令行,可以插入一个个时间序列点,比如使用如下的语句:

> INSERT cpu,host=serverA,region=us_west value=0.64>

这样,一个点——测量变量是cpu,tags是hostregion,测量值value为0.64,被写入到数据库中了。

然后,我们可以通过如下语句查到这条数据记录:

> SELECT "host", "region", "value" FROM "cpu"name: cpu---------time		    	                     host     	region   value2015-10-21T19:28:07.580664347Z  serverA	  us_west	 0.64

我们尝试存储另外一种数据,在一个测量变量里含有两种fields:

> INSERT temperature,machine=unit42,type=assembly external=25,internal=37>

一次查询操作中,可以使用*操作符获取所有的fields和tags:

> SELECT * FROM "temperature"name: temperature-----------------time		                        	 external	  internal	 machine	type2015-10-21T19:28:08.385013942Z  25	        	37     		unit42  assembly>

从外部文件导入数据

导入的文件包含以下的两段:

  • DLL(数据定义语言):包含创建相关数据库和管理retention policy的InfluxQL命令。如果你的数据库和retention policy已经存在,你的文件可以跳过这个段。
  • DML(数据管理语言):列出相关的数据库、retention policy(如果需要的话),并包含行协议的数据

比如,文件datarrr.txt

# DDLCREATE DATABASE piratesCREATE RETENTION POLICY oneday ON pirates DURATION 1d REPLICATION 1# DML# CONTEXT-DATABASE: pirates# CONTEXT-RETENTION-POLICY: onedaytreasures,captain_id=dread_pirate_roberts value=801 1439856000treasures,captain_id=flint value=29 1439856000treasures,captain_id=sparrow value=38 1439856000treasures,captain_id=tetra value=47 1439856000treasures,captain_id=crunch value=109 1439858880

导入命令如下:

$influx -import -path=datarrr.txt -precision=s

结果如下:

2015/12/22 12:25:06 Processed 2 commands2015/12/22 12:25:06 Processed 5 inserts2015/12/22 12:25:06 Failed 0 inserts

参考

转载于:https://my.oschina.net/itfanr/blog/875229

你可能感兴趣的文章
GNU/Linux 正则表达式与三剑侠(grep,sed,awk)(精)
查看>>
springcloud 实战 feign使用中遇到的相关问题
查看>>
4.2 dom函数操作
查看>>
Corba、protocol buffer、SOA的区别 (转)
查看>>
BZOJ2816:[ZJOI2012]网络(LCT)
查看>>
项目中报错邮件方法
查看>>
sql事务(Transaction)用法介绍及回滚实例
查看>>
select 好用插件
查看>>
第3课 - makefile伪目标的引入
查看>>
Spark中直接操作HDFS
查看>>
使用正则表达式匹配嵌套Html标签
查看>>
Eclipse 新导入项目中文乱码乱码解决
查看>>
Java设计模式学习
查看>>
SQL Server插入数据和删除数据
查看>>
面向对象————接口
查看>>
@staticmethod和@classmethod的作用与区别
查看>>
常量类型
查看>>
cocos2dx 触摸测试四 Armature
查看>>
校花网爬取
查看>>
mybatis 详解------动态SQL
查看>>