Mongoexport同步数据到Hive
由于数仓使用的Hive进行搭建,有的业务的数据采用的Mongodb进行数据存储,因此需要把Mongodb里面的数据拉到Hive,本文主要讲解使用Mongoexport进行数据拉取。
一.安装Mongoexport
1. 首先使用vi /etc/yum.repos.d/mongodb-org-3.2.repo编辑如下内容:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
2.然后使用命令yum install -y mongodb-org-tools安装Mongoexport工具。
二.编写拉取数据的脚本
使用如下命令把Mongodb数据拉取到本地文件。
mongoexport --host=192.xx.83.201 \
--port=8635 \
--username=rwuser \
--password=Gdexxx \
--db=setpoint \
--authenticationDatabase=admin \
--forceTableScan \
--collection=setpoint_plan_detail \
--type=json \
--out=/data/software/mongodbtest/test.json
拉取完成后如图:
三.编写导入数据到Hive的脚本
1.使用 hadoop dfs -put test.json /tmp上传文件到Hdfs,如下图:
2.创建表,然后关联数据
beeline -e "create table if not exists ods.mongodb_json(json string comment 'json数据')"
beeline -e "load data inpath '/tmp/test.json' overwrite into table ods.mongodb_json;"
3.查看表中数据
完整脚本可关注微信公众号《码农独白》