Mongodb数据导入CDH平台HIVE

一、环境配置

1、软件版本:

CDH6.2

Mongodb3.4

2、CDH的hive设置

Hive --> 配置 --> 搜索 jar

/etc/hive/auxlib

 Hive --> 配置 --> 搜索 hive-env.sh

HIVE_AUX_JARS_PATH=/etc/hive/auxlib

重启 Hive

二、步骤

1. 下载jar包,放到hive节点的第三方包/etc/hive/auxlib目录下

http://mvnrepository.com/artifact/org.mongodb.mongo-hadoop/mongo-hadoop-core/2.0.2

 

http://mvnrepository.com/artifact/org.mongodb.mongo-hadoop/mongo-hadoop-hive/2.0.2

 

http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.6.3

 

注意:mongo-java-driverjar包版本不能低于mongodb组件版本

软件下载网址:

https://repo1.maven.org/maven2/org/mongodb/

2、修改文件的访问权限:

chmod  -R  777  /etc/hive/auxlib/

3. 重启Hive完成

三、测试

1、在mongodb创建数据

2、创建hive表 

CREATE TABLE user_tmp ( 
 name STRING, 
 age INT
 ) STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'  
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"name":"name","age":"age"}')
TBLPROPERTIES('mongo.uri'='mongodb://10.1.119.34:27017/test.user');

解释:

如果是内部表,在删除表的时候也会删除mongodb里面的数据。

mongo.columns.mapping:hive表与mongodb字段的映射,字段名完全相同,可以不写,

('mongo.columns.mapping'='{"id":"_id","adam":"Adam","create_time":"createTime"}')

mongo.uri'='mongodb://用户名:密码@IP:端口/库.表

注意:

(本测试没有加入用户名密码,因为之前配置用户名和密码没有重启mongdb服务器,因此用户名和密码设置不生效,之前设置了用户密码:root、cetc@2019需要修改密码)。设置密码时候建议不要带有@会与mongo.uri造成无法识别

 

3、结果

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据指北Ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值