Elasticsearch中使用reiver-jdbc导入数据

2014-05-13 15:10 本站整理 浏览(3384)
 
 

Elasticsearch中使用reiver-jdbc导入数据,有需要的朋友可以参考下。

Elastisearch中提供了river模块来从其他数据源中获取数据,该项功能以插件的形式存在,目前已有的river插件包括:

river pluginsedit

1. Supported by Elasticsearch

  • CouchDB River Plugin
  • RabbitMQ River Plugin
  • Twitter River Plugin
  • Wikipedia River Plugin

2. Supported by the community

  • ActiveMQ River Plugin (by Dominik Dorn)
  • Amazon SQS River Plugin (by Alex Bogdanovski)
  • CSV River Plugin (by Martin Bednar)
  • Dropbox River Plugin (by David Pilato)
  • FileSystem River Plugin (by David Pilato)
  • Git River Plugin (by Olivier Bazoud)
  • GitHub River Plugin (by uberVU)
  • Hazelcast River Plugin (by Steve Samuel)
  • JDBC River Plugin (by Jörg Prante)
  • JMS River Plugin (by Steve Sarandos)
  • Kafka River Plugin (by Endgame Inc.)
  • LDAP River Plugin (by Tanguy Leroux)
  • MongoDB River Plugin (by Richard Louapre)
  • Neo4j River Plugin (by Steve Samuel)
  • Open Archives Initiative (OAI) River Plugin (by Jörg Prante)
  • Redis River Plugin (by Steve Samuel)
  • RSS River Plugin (by David Pilato)
  • Sofa River Plugin (by adamlofts)
  • Solr River Plugin (by Luca Cavanna)
  • St9 River Plugin (by Sunny Gleason)
  • Subversion River Plugin (by Pascal Lombard)
  • DynamoDB River Plugin (by Kevin Wang)

可以看出,已经覆盖了大部分的数据源,特别是针对关系型数据库提供了统一的jdbc-river来进行数据操作。

elasticsearch-river-jdbc的源码在:https://github.com/jprante/elasticsearch-river-jdbc,该项目提供了详细的文档,下面以SQL Server为例简单说明使用方法。

首先,需要安装elasticsearch-river-jdbc,在elasticsearch目录下执行:

./bin/plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.1.0.1/elasticsearch-river-jdbc-1.1.0.1-plugin.zip

然后,安装SQLServer的JDBC库,链接为:Microsoft 
JDBC Driver
。把其中的‘sqljdbc4.jar’复制到elasticsearch安装目录的lib文件夹下。

考虑到elasticsearch集群,以上两个步骤在每个节点上都需要执行。

最后也是最关键的一步,在elasticsearch中建立river,让elasticsearch自动从SQLServer中获取数据。

PUT /_river/mytest_river/_meta
{
“type” : “jdbc”,
“jdbc” : {
“driver”:”com.microsoft.sqlserver.jdbc.SQLServerDriver”,
“url”:”jdbc:sqlserver://MYSQLSERVERNAME;databaseName=MYProductDatabase”,
“user”:”admin”,”password”:”Password”,
“sql”:”select ProductID as _id, CategoryID,ManufacturerID,MfName,ProductTitle,MfgPartNumber from MyProductsTable(nolock)”,
“poll”:”10m”,
“strategy” : “simple”,
“index” : “myinventory”,
“type” : “product”,
“bulk_size” : 100,
“max_retries”: 5,
“max_retries_wait”:”30s”,
“max_bulk_requests” : 5,
“bulk_flush_interval” : “5s”
}
}

其中,各个参数选项的含义参阅文档:https://github.com/jprante/elasticsearch-river-jdbc/wiki/JDBC-River-parameters

参考文档:

  1. http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html
  2. http://blog.csdn.net/an74520/article/details/8740065
  3. http://www.techovity.com/create-river-elasticsearch-ms-sql-server-automatic-data-transfer/
 

elasticsearch river 从数据库中导入数据的更多相关文章

  1. ArcCatalog中通过ArcSDE向Oracle数据库中导入数据

    将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...

  2. Solr 07 - Solr从MySQL数据库中导入数据 (Solr DIH的使用示例)

    目录 1 加入数据导入处理器的jar包 2 加入数据库驱动包 3 配置solrconfig.xml文件 3.1 配置lib标签 - 加入驱动jar包 3.2 配置requestHandler标签 - ...

  3. SQLServer---------使用Excel 往sqlServer数据库中导入数据

    1.右击创建好的表选择编辑200行 2.保证Excel的字段顺序与数据中顺序一致 3.选中好了后进行复制 4.打开文本   一个快捷方式 将excel 中的数据 黏贴放到文本中 5.点击sql    ...

  4. [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。

    利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...

  5. solr6.6教程-从mysql数据库中导入数据(三)

    整理多半天的solr6.6,终于算是把solr6.6中配置数据库弄出来了,网上的文章千篇一律,各说个的,没有一篇统一覆盖solr6.6版本配置的 帖子,本章节我会把配置的一些注意事项一一列举,由于时间 ...

  6. Solr 创建core 从MySql数据库中导入数据

    一.创建数据表和数据 在MySql数据中创建mysolrInfo表, 创建字段 id 主键,自动增加 pname :姓名 age :年龄 addtime :增加时间 增加几条数据 二.创建core 当 ...

  7. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  8. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  9. solr插件导入数据库中的数据

    solr插件导入数据库中的数据 1:自定义与数据库对应的域: 1.1. 设置业务系统Field 如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field. 例如:如下是商品信息Fi ...

随机推荐

  1. Linux-iptables-route-rule

    详情: http://www.mamicode.com/info-detail-1412618.html  最后面有粘贴 linux系统路由表 linux一共0-255个路由表 linux可以自定义从 ...

  2. 新知道一个 端对端加密 Signal protocol

    看 socketio Sponsors 列表中的小蓝鸟,发现网站中有使用 x-jquery-tmpl [翻译]WhatsApp 加密概述(技术白皮书) 知道一个叫 Signal 协议 的端对端加密 端 ...

  3. Spring Cloud失散多年的哥哥Dubbo学习笔记

    Spring Cloud失散多年的哥哥Dubbo 随着互联网项目用户量的急剧增长,访问并发良突然暴增,将一个应用使用多个独立的工程共同实现的系统架构,称为SOA系统架构,各个工程可以允许在不同的机器上 ...

  4. thinkphp 静态路由

    静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限. 如果我们定义了下面的静态路由 'URL_ROU ...

  5. 贪心数列构造——cf1157D

    一开始将数列设置为0 1 2 3 4 5 6... 然后从左到右遍历,每位不够就增加即可 #include<bits/stdc++.h> using namespace std; #def ...

  6. System.Web.Mvc.RoutePrefixAttribute.cs

    ylbtech-System.Web.Mvc.RoutePrefixAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...

  7. MVC到底是设计模式还是一种框架还是一种架构? https://www.zhihu.com/question/31079945

    具体知乎讨论内容:https://www.zhihu.com/question/31079945 MVC到底是设计模式还是一种框架还是一种架构? 我认为它是3种设计模式的演变和组合:观察者模式(Obs ...

  8. 设置IDEA自动提示补全代码,关于idea自动补全的详细设置。

    在IDEA中,默认的代码自动提示不够智能,现在配置成更加智能的方式. File-Settings-Editor-General-Code Completion中 把最上面的大小写敏感度改成none,下 ...

  9. qfc 问题汇总(TO BE CONTINUED)

    硬件问题 增加一个复位按钮 程序问题 /* uart allocation: PB6-7: UART1 -> TELEM PD5-6 : UART2 -> SBUS PD8-9: UART ...

  10. 通过java进行电脑屏幕截图

    package image; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Rectangle; import ...