1、安装Elasticsearch数据库
PS:在此之前需首先安装Java SE环境
下载elasticsearch-6.5.2版本,进入/elasticsearch-6.5.2/bin目录,双击执行elasticsearch.bat 打开浏览器输入http://localhost:9200 显示以下内容则说明安装成功
安装head插件,便于查看管理(还可以用kibana)
首先安装Nodejs(下载地址https://nodejs.org/en/)
再下载elasticsearch-head-master包解压到/elasticsearch-6.5.2/下(链接: https://pan.baidu.com/s/1q3kokFhpuJ2Q3otPgu7ldg
提取码: 1rpp
修改配置文件elasticsearch-6.5.2\config\elasticsearch.yml如下:
进入elasticsearch-head-master目录下执行npm install -g grunt-cli,再执行npm install安装依赖
在elasticsearch-head-master目录下找到Gruntfile.js文件修改服务器监听地址如下:
执行grunt server命令启动head服务
访问地址 http://localhost:9100/ 即可访问head管理页面
2、将json文件写入ES数据库(py脚本如下)
# -*- coding: UTF-8 -*- from itertools import islice import json , sys from elasticsearch import Elasticsearch , helpers import threading _index = 'indextest' #修改为索引名 _type = 'string' #修改为类型名 es_url = 'http://192.168.116.1:9200/' #修改为elasticsearch服务器 reload(sys) sys.setdefaultencoding('utf-8') es = Elasticsearch(es_url) es.indices.create(index=_index, ignore=400) chunk_len = 10 num = 0 def bulk_es(chunk_data): bulks=[] try: for i in xrange(chunk_len): bulks.append({ "_index": _index, "_type": _type, "_source": chunk_data[i] }) helpers.bulk(es, bulks) except: pass with open(sys.argv[1]) as f: while True: lines = list(islice(f, chunk_len)) num =num +chunk_len sys.stdout.write('\r' + 'num:'+'%d' % num) sys.stdout.flush() bulk_es(lines) if not lines: print "\n" print "task has finished" break
总结
以上所述是小编给大家介绍的Python将json文件写入ES数据库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
问题内容: 我将JSON数据存储在变量中data。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: 必须是字符串或缓冲区,而不是dict 如何解决? 问题答案: 你忘记了实际的JSON部分- data是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,你可以使用
我正在尝试编写我的第一个json文件。但由于某种原因,它实际上不会写入文件。我知道它在做一些事情,因为在运行转储之后,我放入文件中的任何随机文本都会被擦除,但它的位置上没有任何东西。不用说,但加载部分抛出和错误,因为那里什么都没有。这难道不应该将所有json文本添加到文件中吗?
问题内容: 我在变量中存储了JSON数据。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: TypeError:必须是字符串或缓冲区,而不是dict 如何解决这个问题? 问题答案: 您忘记了实际的JSON部分- 是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,您可以使
问题内容: 嗨,我正在尝试使用python将csv文件写入SQL Server数据库中的表中。传递参数时遇到错误,但是手动进行操作时不会遇到任何错误。这是我正在执行的代码。 错误:pyodbc.DataError :(“ 22001”,“ [22001] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]字符串或二进制数据将被截断。(8152)(SQLEx
本文向大家介绍python学习将数据写入文件并保存方法,包括了python学习将数据写入文件并保存方法的使用技巧和注意事项,需要的朋友参考一下 python将文件写入文件并保存的方法: 使用python内置的open()函数将文件打开,用write()函数将数据写入文件,最后使用close()函数关闭并保存文件,这样就可以将数据写入文件并保存了。 示例代码如下: 执行结果: 内容扩展: pytho
本文向大家介绍Python实现将数据框数据写入mongodb及mysql数据库的方法,包括了Python实现将数据框数据写入mongodb及mysql数据库的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现将数据框数据写入mongodb及mysql数据库的方法。分享给大家供大家参考,具体如下: 主要内容: 1、数据框数据写入mongdb方法 2、数据框数据写入mysql