mongo-hadoop集成

24 篇文章 2 订阅
1 篇文章 0 订阅

当hadoop集群需要借助mongodb的数据进行辅助分析时,为了快速实施我们需要将hive集成mongodb

1. 下载jar包,放到hive节点的第三方包/etc/hive/auxlib目录下(这个目录通过hive  hive.aux.jars.path属性配置)

wget https://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/mongo-hadoop-core/2.0.2/mongo-hadoop-core-2.0.2.jar;​
​
wget https://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/mongo-hadoop-hive/2.0.2/mongo-hadoop-hive-2.0.2.jar;

wget https://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/3.2.1/mongo-java-driver-3.2.1.jar;

2 . 重启hive

3.  创建hive-mongo映射表

CREATE external TABLE ods_t.o_tenant_config_external_mongo(
    id string,
    tenant_credit_config string,
    tenant_common_config string,
    tenant_freight_config string,
    sku_category string,
    last_updated_at TIMESTAMP
)
STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id","tenant_credit_config":"tenantCreditConfig","tenant_common_config":"tenantCommonConfig","tenant_freight_config":"tenantFreightConfig","sku_category":"skuCategory","last_updated_at":"lastUpdatedAt"}')
TBLPROPERTIES('mongo.uri'='mongodb://account_name:pwd@255.255.255.255:27017/account_db.t_tenant_config');

注意:

    ①. mongo-java-driver jar版本不能低于mongodb组件的版本

    ②. 包访问权限不足时:  chmod 777 /etc/hive/auxlib/mongo-*

    ③. where条件过滤时,不能用 = 可以用 in 或 like,join时 = 可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值