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、本想通過命令行方式解決,鼓搗半天沒有成功。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM