hive 使用oracle数据库

hive使用oracle作为数据源,导入数据使用sqoop或kettle或自己写代码(淘宝的开源项目中有一个xdata就是淘宝自己写的)。感觉sqoop比kettle快多了,淘宝的xdata没用过。

hive默认使用derby作为存储表信息的数据库,默认在哪启动就在哪建一个metadata_db文件放数据,可以在conf下的hive-site.xml中配置为一个固定的位置,这样不论在哪启动都可以了。另外就是配置成使用mysql的数据库,前两天忽然看到有人说也可以配置在oracle上,因为公司基本都是oracle的,所以配成oracle还是比较有用的。今天试着配置了一下,启动时报错说一个表里只能有一个long存在。java.sql.SQLException: ORA-01754: a table may contain only one column of type LONG , 上网查了一下,发现2012年就有人问这个问题,而关键是事隔1年半了,还是有人回复了这个问题,原贴地址:http://www.itpub.net/thread-1708861-1-1.html 。说是要把对应的数据库配置改一下。metastore/src/model/package.jdo是源文件,改完还得重新编译,所以我直接改了hive/lib/hive-metastore-0.12.0.jar这个包里的package.jdo文件,改完保存,再启动hive就好了。这个文件里定义了对应的数据库中的表,应该可以改表名和字段什么的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值