Elasticsearch 2.3.2 从oracle中同步数据
Elasticsearch 2.3.2 从oracle中同步数据
1 数据批量导入-oracle
采用 elasticsearch-jdbc 插件 安装.版本需要ES版本一致
最新 elasticsearch-jdbc 需要 jdk 1.8的支持
1.1 安装 elasticsearch-jdbc
下载elasticsearch-jdbc-2.3.2.0-dist.zip 并解压

将 oracle 驱动jar包 拷贝到elasticsearch-jdbc-2.3.2.0-dist\lib\ 文件夹下
1.2 编写bat脚本
进入 elasticsearch-jdbc-2.3.2.0-dist\bin
创建 oracle_to_es.bat
|
@echo off set DIR=%~dp0 set LIB=%DIR%..\lib\* set BIN=%DIR%..\bin set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_92 echo {^ "type" : "jdbc",^ "jdbc" : {^ "url" : "jdbc:oracle:thin:@192.168.173.232:1521:adb1",^ "user" : "wee3",^ "password" : "wee3",^ "sql" : "select content as \"content\",title as \"title\",author as \"author\",to_char(publish_date,'YYYY/MM/DD') as \"publish_date\",category as \"category\" from TEST_ES",^ "elasticsearch" : {^ "cluster" : "elasticsearch",^ "host" : "localhost",^ "port" : 9300^ },^ "index" : "test",^ "type" : "news"^ }^ }^ | "%JAVA_HOME%\bin\java" -cp "%LIB%" -Dlog4j.configurationFile="%BIN%\log4j2.xml" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" |
删除 index重新创建 并导入数据
|
@echo off curl -XDELETE "http://localhost:9200/test/" set DIR=%~dp0 set LIB=%DIR%..\lib\* set BIN=%DIR%..\bin set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_92 echo {^ "type" : "jdbc",^ "jdbc" : {^ "url" : "jdbc:oracle:thin:@192.168.173.232:1521:adb1",^ "user" : "wee3",^ "password" : "wee3",^ "sql" : "select content as \"content\",title as \"title\",author as \"author\",to_char(publish_date,'YYYY/MM/DD') as \"publish_date\",category as \"category\" from TEST_ES",^ "elasticsearch" : {^ "cluster" : "elasticsearch",^ "host" : "localhost",^ "port" : 9300^ },^ "index" : "test",^ "type" : "news",^ "index_settings" : {^ "index": {^ "number_of_replicas": "1",^ "number_of_shards": "5"^ }^ },^ "type_mapping": {^ "news": {^ "properties": {^ "content": {^ "analyzer": "ik",^ "type": "string"^ },^ "author": {^ "index": "not_analyzed",^ "type": "string"^ },^ "title": {^ "analyzer": "ik",^ "boost": 5,^ "type": "string"^ },^ "category": {^ "index": "not_analyzed",^ "type": "string"^ },^ "publish_date": {^ "format": "yyyy/mm/dd",^ "type": "date"^ }^ }^ }^ }^ }^ }^ | "%JAVA_HOME%\bin\java" -cp "%LIB%" -Dlog4j.configurationFile="%BIN%\log4j2.xml" "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" |
Elasticsearch 2.3.2 从oracle中同步数据的更多相关文章
- oracle中的数据对象
oracle中的数据对象有表.视图.索引.序列等 表的相关操作 1.创建表 方式一: 方式二:create table person( create table person1 id number(1 ...
- 在Oracle中更新数据时,抛出:ORA-01008: not all variables bound
在Oracle中更新数据时,抛出了一个 :ORA-01008 not all variables bound, 我的理解是不是所有的变量/参数都有边界,不懂: 后来知道了,原来是“不是所有变量/参数都 ...
- MyBatis在Oracle中插入数据并返回主键的问题解决
引言: 在MyBatis中,希望在Oracle中插入数据之时,同一时候返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle. Spring 3.2 SQL Snipp ...
- Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWFyb25oYWRvb3A=/ ...
- 实现从Oracle增量同步数据到GreenPlum
简介: GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...
- Oracle中读取数据一些原理研究
文章很多摘录了 http://blog.163.com/liaoxiangui@126/blog/static/7956964020131069843572/ 同时基于这篇文章的基础上,补充一些学习要 ...
- SQL数据同步到ElasticSearch(三)- 使用Logstash+LastModifyTime同步数据
在系列开篇,我提到了四种将SQL SERVER数据同步到ES中的方案,本文将采用最简单的一种方案,即使用LastModifyTime来追踪DB中在最近一段时间发生了变更的数据. 安装Java 安装部分 ...
- 如何用Excel直接查询Oracle中的数据
将Oracle中查询的数据保存为Excel文件,通常使用的是PL/SQL Developer. 其实,Excel可直接写SQL语句查询Oracle中数据,在这里,用到ODBC驱动.详细步骤如下: 一. ...
- 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)
初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...
随机推荐
- 洛谷P2192 HXY玩卡片
题目描述 HXY得到了一些卡片,这些卡片上标有数字0或5.现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被90整除这个条件.同时这个数不能含有前导0,即0不能作为这串数的首 ...
- android学习笔记五。1、Service深入学习
一.Service,服务是没有界面而在后台长期运行的程序,可以看做是后台的Activity. 1.在Android中按返回键退出一个应用并不会(内存充足时)直接销毁一个进程,所以其中的子线程也可以在后 ...
- Regularization —— linear regression
本节主要是练习regularization项的使用原则.因为在机器学习的一些模型中,如果模型的参数太多,而训练样本又太少的话,这样训练出来的模型很容易产生过拟合现象.因此在模型的损失函数中,需要对模型 ...
- PHP+FastCGI+Nginx动态请求处理配置
Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对client动态页面请求的处理. CGI的英文全称为Common Gateway Interface(公共 ...
- QTemporaryDir及QTemporaryFile建立临时目录及文件夹(创建一个随机名称的目录或文件,两者均能保证不会覆盖已有文件)
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址:本文标题:QTemporaryDir及QTemporaryFile建立临时目录及文件夹 本文地址: ...
- Android HttpLoggingInterceptor的用法简介
该拦截器用于记录应用中的网络请求的信息. 示例 OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor logging = n ...
- 银行测试 http://blog.csdn.net/stillming/article/details/42275251
从一家工作了五年的软件公司的测试管理者跳槽到**银行做软件测试,短短两个月,对银行测试有了初步认识,总结和记录下来,加深个人的理解,同时也共享给各位. 银行作为大家的理财顾问,对金钱非常敏感,频繁甚至 ...
- JavaScript学习总结(6)——js弹出框、对话框、提示框、弹窗总结
一.JS的三种最常见的对话框 [javascript] view plaincopy //====================== JS最常用三种弹出对话框 =================== ...
- secureCRT The remote system refused the connection问题解决
问题: Ubuntu系统必须开启ssh服务后,XP或者其它的主机才干够远程登陆到Ubuntu系统. 1,安装软件包,运行sudo apt-get install openssh-server Ubun ...
- ToggleButton控件
ToggleButton 两种状态 ·状态button -继承自CompoundButton ·主要属性:-Android:textOn -Android:textOff ·主要方法: ...