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. artTemplate(mark)

    一个渲染性能出众模板引擎,无论在 NodeJS 还是在浏览器中都可以运行. 特性 拥有接近 JavaScript 渲染极限的的性能 调试友好:语法.运行时错误日志精确到模板所在行:支持在模板文件上打断 ...

  2. 8-5接口测试用例设计与编写2 rest-assured

    rest-assured 简约的接口测试DSL 支持xml json的结构化解析 支持xpath jsonpath gpath等多种解析方式 对Spring的支持比较前面 底层是httpclient ...

  3. 使用ajax怎么请求跨域资源

    1.ajax中添加“xhrFields”和“crossDomain”,如: $.ajax({ url: url, data: data, type: "post", xhrFiel ...

  4. 2019云栖大会开幕,5G边缘计算成首日焦点

    9月25日,全球顶尖科技盛会——2019云栖大会如期上演,1000余位当代技术领军人物与数万名开发者集结杭州,聚焦数字经济,共话面向未来20年的基础科学.科技创新与应用突破.其中,边缘计算技术领域因5 ...

  5. 二分查找总结及部分Lintcode题目分析 4

    二分法不只能像之前的记录,可以找到index~第二种类型是找到二分答案.有以下几个例子,都是之前二分法的扩展,不再赘述,只记录下忽略的点,以后回顾多注意~ 1. wood cut class Solu ...

  6. Java笔记 – JDBC编程

    JDBC通过分层技术实现了跨数据库编程.为不同的数据库开发了统一的编程接口,为不同的数据库提供了不同的JAR类库. 一.JDBC基础 1.开发环境 (1)下载对应的Jar包 Oracle的本地Jar包 ...

  7. Linux 中执行Shell 脚本的方式(三种方法)

    Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...

  8. AYITOJ-括号序列-栈的入门

    题目描述 给定一个由括号组成的字符串 问其是否为一个合法的括号序列 合法的括号序列的定义如下 1. 空字符串是合法的括号序列 2. 若字符串A是合法的括号序列, 那么{A},[A],(A)也是合法的括 ...

  9. vue引入外部css和js

    <template> <div id="app" > </div> </template> <script src=" ...

  10. <day003>登录+爬取淘宝商品信息+字典用json存储

    任务1:利用cookie可以免去登录的烦恼(验证码) ''' 只需要有登录后的cookie,就可以绕过验证码 登录后的cookie可以通过Selenium用第三方(微博)进行登录,不需要进行淘宝的滑动 ...