oracle查询各表当日数据增量,hive表增量抽取到oracle数据库的通用程序(二)

前一篇介绍了java程序的如何编写、使用以及引用到的依赖包。这篇接着上一篇来介绍如何在oozie中使用该java程序。

在我的业务中,分为两段:

1. 查询hive表中的信息,通过oozie可以设置不同的变量作为增量查询的条件。

2. 将hive查询到的信息写入到oracle中。

对应oozie中的workflow文件如下:

${jobTracker}

${nameNode}

${hive_site_path}

mapred.job.queue.name

${queueName}

tmp_table=tmp_dm_xxx_day

params_dt=${params_dt}

${jobTracker}

${nameNode}

mapred.job.queue.name

${queueName}

com.exe.Hive2RMDS

--hive_url

jdbc:hive2://xx.xx.xx.xx:10000/default

--hive_hql

select field1,field2,field3,dim,period,period_value from dw_dm.dm_xxx where period = 'day' and period_value = ${params_dt}

--rdms_driver

oracle.jdbc.driver.OracleDriver

--rdms_url

jdbc:oracle:thin:@xx.xx.xx.xx:1521:test001

--rdms_username

DW_test

--rdms_password

DW_test

--rdms_tableName

DW_DM.DM_xxx_TEST

--rdms_columnNames

field1,field2,field3,dim,period,period_value

--rdms_presql

delete from DW_DM.DM_xxx_TEST where period = 'day' and period_value = '${params_dt}'

xxx@qq.com

${job_name} log error in ${params_dt}

workflow: ${wf:id()}, error message[${wf:errorMessage(wf:lastErrorNode())}]

以下为在oozie中的执行过程提示信息:

a11b58a5f0b8f02316162846f1224526.png

总结:

该程序相对来说比较通用,可以在导入oracle前,预先执行一段sql语句用于清除oracle中已有的记录。

通过批处理导入,执行效率比较高。

通常用于将汇总的结果导出到关系型数据库中,然后通过关系型数据库直接展示到BI报表系统中。

hive表增量抽取到oracle数据库的通用程序(一)

hive表增量抽取到oracle数据库的通用程序(二) sqoop在export的时候 只能通过--export-dir参数来指定hdfs的路径.而目前的需求是需要将hive中某个表中的多个分区记录一 ...

hive表增量抽取到mysql(关系数据库)的通用程序(三)

hive表增量抽取到oracle数据库的通用程序(一) hive表增量抽取到oracle数据库的通用程序(二) 这几天又用到了该功能了,所以又改进了一版,增加了全量抽取和批量抽取两个参数.并且可以设置 ...

Oracle数据库基础入门《二》Oracle内存结构

Oracle数据库基础入门Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

细说Oracle数据库与操作系统存储管理二三事

在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自 ...

在.NET开发面向Oracle数据库的应用程序

其实这个不是一个什么新的话题.但是之前在多次项目中,总是遇到大家针对Oracle数据库的访问时,会有各种各样的问题,最基本的就是要在客户端安装各种client,版本不一样的话还有各种问题. 静下心来看 ...

oozie4.3.0+sqoop1.4.6实现mysql到hive的增量抽取

1.准备数据源 mysql中表bigdata,数据如下: 2. 准备目标表 目标表存放hive中数据库dw_stg表bigdata 保存路径为 hdfs://localhost:9000/user/h ...

一条sql,有分页,表合并查询,多表连接,用于oracle数据库

SELECT * FROM ( SELECT TT.*,ROWNUM RN FROM ( SELECT A.CASE_ID AS TREATID, A.TYPE AS TYPE, B.CONTENT ...

Java连接Oracle数据库开发银行管理系统【二、设计篇】

一.总体分析     此系统的实现并不难,但是如何更好的设计出实现方式还是需要更深入的分析,例如:如果再增加其他功能,是不是需要变动的 代码很少,只是直接再增加一点功能就可以了呢?如果使用的不是Ora ...

Oracle数据库操作---基础使用(二)

此篇承接上一篇的基本原理,继续展开学习,本篇主要面向数据的使用和管理,也就是开发者常用的基础语句,开始喽…… >>>对整表的操作 >创建表   关键字 Create creat ...

随机推荐

haligong2016

A 采用递推的方法,由于要到达棋盘上的一个点,只能从左边或者上边过来,根据加法原则,到达某一点的路径数目,就等于到达其相邻的上点和左点的路径数目的总和.所有海盗能达到的点将其路径数置为0即可. #in ...

js面向对象选项卡

window.οnlοad=function() //面向对象 { var tab=new tabSwitch("div1"); var tab=new tabSwitch(&qu ...

boot/setup.S

!!    setup.S        Copyright (C) 1991, 1992 Linus Torvalds!! setup.s is responsible for getting th ...

如何在Github Pages搭建自己写的页面?

教程一大堆,却没有几个能看懂的,问题一:90%的都在讲解如何搭建博客,和我想要将自己的网页部署到上面还是有点区别的.问题二:所有的教程都用到了Git,而我只知道Git是一个开源的分布式版本控制系统.完 ...

switch的方便用法

int ch = getch(); switch(ch) { case '0' ... '9': if (in_count) { count = count * 10 + (ch - '0'); } ...

NavigationView使用过程的问题解决

NavigationView是android support design库提供的侧滑面板控件,通常与support v4库里的DrawerLayout侧滑控件搭配使用.以下是使用过程中遇到的问题及解 ...

LeetCode专题-Python实现之第20题:Valid Parentheses

导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...

Zephyr学习(一)Zephyr介绍

Zephyr是一个面向物联网的嵌入式实时操作系统(RTOS),是Linux基金会旗下的一个项目,具有以下特点: 1.安全的,灵活.高可扩展性,支持多种硬件平台(ARM.ARC.X86.xtensa.n ...

iframe多窗口

Window 对象 浏览器会在其打开一个 HTML 文档时创建一个对应的 window 对象.但是,如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就 ...

【备档】客户端自动化(主Android Appium + python

之前做分享写的文档,备档~ 0.移动客户端自动化简介 客户端自动化测试的本质 定位对象 · 操作对象 · 校验对象 对象的定位应该是自动化测试的核心,要想操作.校验一个对象,首先应该识别这个对象. 一 ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值