sqoop从oracle数据库抽取数据,导入到hive
环境:
hadoop-2.7.5
sqoop-1.4.7
zookeeper-3.4.10
hive-2.3.3 (使用mysql配置元数据库)
jdk1.8.0_151
oracle 11.2.0.3.0
经过一番baidu,总算初步成功,现在记录一下中间过程.
1.拷贝hive/conf/hive_site.xml到sqoop/conf目录
2.配置sqoop-evn.sh,将变量设置为对应的目录.
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.7.5
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.7.5
export HIVE_HOME=/home/hadoop/hive-2.3.3
export ZOOCFGDIR=/home/hadoop/zookeeper-3.4.10
3.拷贝hive/lib/derby-10.10.2.0.jar到sqoop/lib
4.拷贝/home/hadoop/hadoop-2.7.5/share/hadoop/tools/lib/aws-java-sdk-1.7.4.jar到sqoop/lib
5.拷贝hive/lib/jackson-databind-2.6.5.jar, jackson-core-2.6.5.jar, jackson-annotations-2.6.0.jar到sqoop/lib
6.拷贝oracle11g ojdbc6.jar到sqoop/lib(从linux环境的oracle目录中拷贝)
7.修改/home/hadoop/jdk1.8.0_151/jre/lib/security/java.policy,增加 permission javax.management.MBeanTrustPermission "register";
8.修改/home/~/.bashrc,在最后增加 export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
执行
sqoop import --connect jdbc:oracle:thin:@10.0.3.3:1521:sid --username abc --password r123 --table CMX.SALES -m 1 --hive-import --hive-overwrite --hive-database ra --hive-table "cmx_sales" --null-non-string '' --null-string '' --delete-target-dir --hive-drop-import-delims
该命令能够抽取oracle中cmx_sales表的数据到hive中,现在面临问题,hive中自动创建的表,字段类型与oracle的不一样,造成数据精度不一样.
比如oracle中字段为number(10),到hive中变为double,数据也从1000变成1000.0.
续待...
sqoop从oracle数据库抽取数据,导入到hive的更多相关文章
- Oracle数据库的数据导入导出
--备份数据库--数据库系统用户账号system/adminuser --查看oracle数据库的用户select * from all_users;--查看oracle数据库的版本号select * ...
- 利用HaoheDI从数据库抽取数据导入到hbase中
下载apache-phoenix-4.14.0-HBase-1.4-bin.tar.gz 将其中的 phoenix-4.14.0-HBase-1.4-client.jar phoenix-core-4 ...
- sqoop将关系型数据库的表导入hive中
1.sqoop 将关系型数据库的数据导入hive的参数说明:
- sqoop将关系型的数据库得数据导入到hbase中
1.sqoop将关系数据库导入到hbase的参数说明
- 利用PL/SQL从Oracle数据库导出和导入数据
转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数 ...
- Oracle数据库用户数据完整备份与恢复
使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1 PL/SQL->工具->导 ...
- 用sqoop将mysql的数据导入到hive表中
1:先将mysql一张表的数据用sqoop导入到hdfs中 准备一张表 需求 将 bbs_product 表中的前100条数据导 导出来 只要id brand_id和 name 这3个字段 数据存 ...
- 使用sqoop将mysql数据导入到hive中
首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...
- 使用sqluldr2进行oracle数据库抽取时执行后无反应,也无日志
使用sqluldr2进行oracle数据库表数据抽取时遇到执行后无反应,也不报错,也无日志输出的情况. 经过排查之后发现时由于oracle账户密码快要过期导致的(这也能出问题,我服,类似的plsql连 ...
随机推荐
- (CSDN迁移) JAVA多线程实现-可控最大并发数线程池(newFixedThreadPool)
上篇文章中介绍了单线程化线程池newSingleThreadExecutor,可控最大并发数线程池(newFixedThreadPool)与其最大的区别是可以通知执行多个线程,可以简单的将newSin ...
- 【sqlserver】【mysql】用NavicatPremium12把sqlserver的数据迁移到mysql上
1.在NavicatPremium的mysql,选择到迁移到的表,然后右键[导入向导]
- Matlab 非线性规划问题模型代码
非线性规划问题的基本内容 非线性规划解决的是自变量在一定的非线性约束或线性约束组合条件下,使得非线性目标函数求得最大值或者最小值的问题. 当目标函数为最小值时,上述问题可以写成如下形式: \[ \mi ...
- [转帖]技术人眼中的Facebook Libra
技术人眼中的Facebook Libra https://www.jianshu.com/p/ddc733077749 比特币 以太坊 EOS Libra 0.8352019.07.01 14:15: ...
- UML交互图
UML 交互图主要包括对象和消息两类元素,创建交互图的过程实际上就是向对象分配任务的过程,是可视化系统的交互行为. UML 交互图包括两种:序列图和协作图. 序列图:显示对象之间的关系,强调对象之间消 ...
- Delphi TButton.OnClick 匿名函数用法
type TNotifyEventRef = reference to procedure(Sender: TObject); function AnonymousEvent(const Proc: ...
- layui 上传图片 实现过程
layui.user一个页面只能有一个,写多了会实现js效果 上传图片官方文档有很多功能,但是演示的代码只是一个一个功能演示,如果要综合起来js代码不是简单的拼凑,需要放在指定位置,比如下面的限制文件 ...
- golang 之 sql
golang提供了sql包查询数据 建立连接 导入第三方包 import( "database/sql" _"github.com/go-sql-driver/mysql ...
- python_socket (套接字)
socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的. 网络上两个程序通过一个双向的通信连接实现数据的交换,这个连接 ...
- select中的option被选中时页面的跳转
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...