zoukankan      html  css  js  c++  java
  • python 往 elasticsearch 存入数据时,文档字段类型问题注意事项

    python 往 elasticsearch 存入数据时,经常会报莫名其妙的解析错误,大多是因为传入的数值与字段类型不匹配有关。

    经过反复摸索,总结的处理经验如下:

    1、首先调整好传入数据字典的字段格式

    data = {     
    "region":"cn",
    "env":"dev",
    "product":"reliability",
    "service":"devops",
    "objectType":"ec2",
    "endpoint":"cn-dev-reliability-devops-ec2-172.31.116.5",
    "metric":"tcp_syn_sent",
    "value":"1",
    "timestamp":t,
    "starttime":t,
    "endtime":t,
    "step":60,
    "counterType":"COUNTER",
    "tags":"{}",
    "dataSource":"transfer",
    "kinesis":"true"
    }
    
    #es.indices.delete(index='kinesis-2018.06.28', ignore=[400, 404]) 
    es.index(index="kinesis-2018.06.28", doc_type="kinesisdata", body=data) 

    2、比如data中的timestampstarttimeendtime时间类型,如果已经存入整数数值或者字符串数值,想要修改为date类型,存入时会报错。处理方法是,登录kibana界面,删除索引。

    3、执行上面1步骤里面的脚本,进行数据保存

    4、再一次进入kibana 重新创建索引,这时候就可以看到字段类型被修改过来了。

    注释:

    1、主要是修改字段前,要从kibana界面中删除索引,然后保存数据字段类型就会根据所传入的数值类型进行配置。当再次在kibana配置索引后就可以看到对应的字段类型了。

     2、本想通过命令行方式解决,鼓捣半天没有成功。

  • 相关阅读:
    js高级1
    JUC总览
    7 种阻塞队列相关整理
    Exchanger 相关整理
    Semaphore 相关整理
    ConcurrentLinkedQueue 相关整理
    ConcurrentHashMap(1.8) 相关整理
    ConcurrentHashMap(1.7) 相关整理
    ReentrantReadWriteLock 相关整理
    LockSupport 工具相关整理
  • 原文地址:https://www.cnblogs.com/husbandmen/p/9235255.html
Copyright © 2011-2022 走看看