跳转至

InfluxDB Reader

InfluxDBReader 插件实现了从 InfluxDB 读取数据。底层实现上,是通过调用 InfluQL 语言查询表,然后获得返回数据。

示例

以下示例用来演示该插件如何从指定表(即指标)上读取数据并输出到终端

创建需要的库表和数据

通过以下命令来创建需要读取的表以及数据

# create database
influx --execute "CREATE DATABASE NOAA_water_database"
# download sample data
curl https://s3.amazonaws.com/noaa.water-database/NOAA_data.txt -o NOAA_data.txt
# import data via influx-cli
influx -import -path=NOAA_data.txt -precision=s -database=NOAA_water_database

创建 job 文件

创建 job/influxdb2stream.json 文件,内容如下:

{
  "job": {
    "content": {
      "reader": {
        "name": "influxdbreader",
        "parameter": {
          "column": [
            "*"
          ],
          "connection": [
            {
              "endpoint": "http://localhost:8086",
              "database": "NOAA_water_database",
              "table": "h2o_feet",
              "where": "1=1"
            }
          ],
          "connTimeout": 15,
          "readTimeout": 20,
          "writeTimeout": 20,
          "username": "influx",
          "password": "influx123"
        }
      },
      "writer": {
        "name": "streamwriter",
        "parameter": {
          "print": "true"
        }
      }
    },
    "setting": {
      "speed": {
        "bytes": -1,
        "channel": 1
      }
    }
  }
}

运行

执行下面的命令进行数据采集

bin/addax.sh job/influxdb2stream.json

参数说明

配置项 是否必须 数据类型 默认值 描述
endpoint string
username string 数据源的用户名
password string 数据源指定用户名的密码
database string 数据源指定的数据库
table string 所选取的需要同步的表名
column list 所配置的表中需要同步的列名集合,详细描述见 rdbmreader
connTimeout int 15 设置连接超时值,单位为秒
readTimeout int 20 设置读取超时值,单位为秒
writeTimeout int 20 设置写入超时值,单位为秒
where 针对表的筛选条件
querySql 使用自定义的SQL而不是指定表来获取数据,当配置了这一项之后,Addax系统就会忽略 tablecolumn这些配置项

类型转换

当前实现是将所有字段当作字符串处理

限制

  1. 当前插件仅支持 1.x 版本,2.0 及以上并不支持