elasticsearch数据导入
来源:互联网 发布:飞行数据记录器 编辑:程序博客网 时间:2024/06/05 06:19
1.工具安装
下载数据导入工具包 elasticsearch-jdbc-2.3.4.1-dist.zip,可以到官方网站上下载,
由于github上是只有原代码,没有编译好的可执行包,可以到版本库上[下载] (http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/) 相应的版本
注意elasticsearch-jdbc版本与 elasticsearch要对应上,具体版本对应可以到github上看
https://github.com/jprante/elasticsearch-jdbc
下载
wget http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/
如果这种方式下载慢,也可以本地下载后上传
得到的elasticsearch-jdbc-2.3.4.1-dist.zip 的包可以解压到任何目录,elasticsearch-jdbc是一个独立的项目,并不是原来的老版本需要导入elasticsearch的plugins目录中,作为elasticsearch的插件安装
unzip elasticsearch-jdbc-2.3.4.1-dist.zip
解压得到目录
/bin
/lib
这样就安装成功了
注意如果你导入的数据库不是mysql数据库,那你需要在lib目录中放入相应数据库的驱动包,因为elasticsearch-jdbc默认就有mysql的驱动,所以数据库是mysql就不用了
2.编写导入脚本
可以进入bin目录下,里面很多数据导入脚本的范例脚本,可以稍做修改就可以用了,例如mysql-blog.sh 就是mysql数据库导入的例子
我的导入脚本如下
#!/bin/sh bin=/opt/elasticsearch-jdbc-2.3.4.1/bin lib=/opt/elasticsearch-jdbc-2.3.4.1/lib echo ' { "type" : "jdbc", "jdbc" : { "url" : "jdbc:mysql://10.3.5.21:3306/998pz?useUnicode=true&characterEncoding=utf-8", "user" : "root", "password" : "roottest", "sql" : "select p.`name`,p.type from prompt p;", "index" : "prompt", "type" : "prompt", "metrics": { "enabled" : true }, "elasticsearch" : { "cluster" : "es-cluster", "host" : "10.3.32.83", "port" : 9300 } } } ' | java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter
该脚本将表prompt的数据导入到索引prompt中去
注意:导入的字段名一定要跟索引的字段名一样
脚本编辑完成后需要赋予文件相应的执行权限
chmod 777 prompt.sh
如果导入脚本是你本地windows上编辑好上传到服务器,可能会因为windows编码与linux编码不一致,出现莫名其妙的错误,可以用vi编辑进入文件
在命令模式下,转换相应的编码
set ff=unix
3.导入地理坐标数据
索引
"location": {"store": true,"type": "geo_point"}
脚本
#!/bin/sh bin=/opt/elasticsearch-jdbc-2.3.4.1/bin lib=/opt/elasticsearch-jdbc-2.3.4.1/lib echo ' { "type" : "jdbc", "jdbc" : { "url" : "jdbc:mysql://10.3.5.21:3306/998pz?useUnicode=true&characterEncoding=utf-8", "user" : "root", "password" : "roottest", "sql" : "SELECT bh.*,bh.name as nameSuggest,bh.latitude AS \"location.lat\", bh.longitude as \"location.lon\" FROM bd_hospital bh;", "index" : "hospital2", "type" : "hospital2", "metrics": { "enabled" : true }, "elasticsearch" : { "cluster" : "es-cluster", "host" : "10.3.32.83", "port" : 9300 } } } ' | java \ -cp "${lib}/*" \ -Dlog4j.configurationFile=${bin}/log4j2.xml \ org.xbib.tools.Runner \ org.xbib.tools.JDBCImporter
0 0
- ElasticSearch数据导入Hive
- elasticsearch数据导入
- elasticsearch数据导入导出
- Elasticsearch 批量导入数据
- elasticsearch 批量导入数据
- Elasticsearch数据导入
- elasticsearch数据导出/导入
- MongoDB数据导入Elasticsearch
- elasticsearch(5)hive 数据导入Elasticsearch
- elasticsearch从mysql导入数据
- elasticsearch索引数据导入导出
- elasticsearch 使用bulk导入数据
- java+elasticsearch批量导入数据
- elasticsearch从mysql导入数据
- 将 mysql 数据导入 elasticsearch
- 向ElasticSearch批量导入数据
- Elasticsearch的数据导入导出
- MongoDB-Elasticsearch 实时数据导入
- java 过滤器
- javascript的执行环境和作用域的理解
- 微信小程序 仿美团城市选择 城市切换
- XAMPP和VMware Workstation占用443端口冲突的解决办法
- sdut acm 金银铜牌
- elasticsearch数据导入
- 【多视图几何】TUM 课程 第6章 多视图重建
- ios 汉字转拼音
- 今天的混乱
- SQL语句下
- 高中OJ3810. 【USACO2014 3月】Watering the Fields
- History of Unix operating system
- synchronized和锁(ReentrantLock) 区别
- Android Studio layout中的布局文件创建分类子目录