oracle导入到hive中,sqoop操作之ORACLE导入到HIVE

本文详细介绍了如何使用Sqoop将Oracle数据库中的数据导入到Hive,包括处理导入过程中遇到的错误,如文件已存在、表已存在等问题。还探讨了导入全部字段和指定字段的方法,以及如何导入到Hive分区表,并提供了相应的 Sqoop 命令示例。
摘要由CSDN通过智能技术生成

导入表的所有字段

sqoop import --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \

--username SCOTT --password tiger \

--table EMP \--hive-import --create-hive-table --hive-table emp -m 1;

如果报类似的错:

ERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory EMP already exists

先去HDFS系统中删除该文件: hadoop fs -rmr /user/hadoop/EMP

如果报类似的错:

FAILED: Error in metadata: AlreadyExistsException(message:Table emp already exists)

如果报类似的错:

hive.HiveImport: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.thrift.EncodingUtils.setBit(BIZ)B

这是因为在同路径下安装了hive和hbase,而hbase和hive的lib目录下的thrift版本不同。

hbase下的为libthrift-0.x.0.jar,hive下的为libthrift-0.x.0.jar。将Hbase下的0.x.0版的删除,换为0.x.0的即可。

ps:不知为什么Sqoop向Hive中导入数据还有Hbase的事;

说明:hive表已经存在,需要先删除。

查看:

desc emp;

empno double

ename string

job string

mgr double

hiredate string

sal double

comm double

deptno double

select * from emp;

7369.0 SMITH CLERK 7902.0 1980-12-17 00:00:00.0 800.0 NULL 20.0

7499.0 ALLEN SALESMAN 7698.0 1981-02-20 00:00:00.0 1600.0 300.0 30.0

7521.0 WARD SALESMAN 7698.0 1981-02-22 00:00:00.0 1250.0 500.0 30.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值