提问要多花一点心思哦

python 写入数据时提示BLUK错误是咋回事?

Elasticsearch | 作者 linzsu | 发布于2019年04月25日 | 阅读数:2020

 
提示
No handlers could be found for logger "elasticsearch"
Traceback (most recent call last):
  File "load_logmapping_to_es.py", line 71, in <module>
    work()
  File "load_logmapping_to_es.py", line 61, in work
    helpers.bulk(es, actions)
  File "/usr/lib/python2.6/site-packages/elasticsearch5-5.5.4-py2.6.egg/elasticsearch5/helpers/__init__.py", line 257, in bulk
    for ok, item in streaming_bulk(client, actions, **kwargs):
  File "/usr/lib/python2.6/site-packages/elasticsearch5-5.5.4-py2.6.egg/elasticsearch5/helpers/__init__.py", line 192, in streaming_bulk
    raise_on_error, **kwargs)
  File "/usr/lib/python2.6/site-packages/elasticsearch5-5.5.4-py2.6.egg/elasticsearch5/helpers/__init__.py", line 99, in _process_bulk_chunk
    raise e
elasticsearch5.exceptions.ConnectionError: ConnectionError(global name 'headers' is not defined) caused by: NameError(global name 'headers' is not defined)
已邀请:

linzsu

赞同来自:

我的代码
import sys
import datetime
import elasticsearch5

from elasticsearch5 import Elasticsearch
from elasticsearch5 import helpers


def work():
    es = elasticsearch5.Elasticsearch([{'host': '10.101.93.138', 'port': 9300}])
    actions = []
    cur_time_str = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    pday = sys.argv[2]
    with open(sys.argv[1], 'rU') as readfd:
        for line in readfd:
            line_list = line.strip().split('\t')
            print(line_list[0].decode('utf8'))     
            source_map = {
            u"id": line_list[0].decode('utf8'),
            u"uuid": line_list[1].decode('utf8'),
            u"model": line_list[2].decode('utf8'),
            u"sysver": line_list[3].decode('utf8'),
            u"ver": line_list[4].decode('utf8'),
            u"imei": line_list[5].decode('utf8'),
            u"description": line_list[6].decode('utf8'),
            u"modules": line_list[7].decode('utf8'),
            u"keys": line_list[8].decode('utf8'),
            u"feedback_time": line_list[9].decode('utf8'),
            u"telephone": line_list[10].decode('utf8'),
            u"qq": line_list[11].decode('utf8'),
            u"email": line_list[12].decode('utf8'),
            u"location": line_list[13].decode('utf8'),
            u"applist": line_list[14].decode('utf8'),
            u"sim": line_list[15].decode('utf8'),
            u"emmc_id": line_list[16].decode('utf8'),
            u"lcm_id": line_list[17].decode('utf8'),
            u"ts_ver": line_list[18].decode('utf8'),
            u"ts_id": line_list[19].decode('utf8'),
            u"ts_ic": line_list[20].decode('utf8'),
            u"new_modules": line_list[21].decode('utf8'),
            u"new_sub_modules": line_list[22].decode('utf8'),
            u"category_mark": line_list[23].decode('utf8'),
            u"inner_model": line_list[24].decode('utf8'),
            u"emotions": line_list[25].decode('utf8'),
            u"merge_modules": line_list[26].decode('utf8')
            }
            action = {
                "_index":"ue_index",
                "_type":"ue_type",
                "_source": source_map
            }
            actions.append(action)
    if len(actions) > 0:
        helpers.bulk(es, actions)
         

def usage():
    print 'usage: python load_logmapping_to_es.py finalreadmeinfo.readme pday'
    
if __name__ == '__main__':
    if len(sys.argv) <= 2:
        usage()
    else:
        work()
 

要回复问题请先登录注册