elasticsearch数据导入

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

--------------

学习视频

 

复制链接,在浏览器打开
tomcat源码解析
https://study.163.com/course/introduction/1209535854.htm

Springmvc源码解析
https://study.163.com/course/introduction/1209536851.htm

dubbo源码解析
https://study.163.com/course/introduction/1209648816.htm

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值