栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数仓使用hadoop distcp同步生产环境的数据到测试环境

数仓使用hadoop distcp同步生产环境的数据到测试环境

1.ODS/DWD---分区表同步数据

#!/bin/bash

source /etc/profile

source ~/.bash_profile

today=`date --date='0 days ago' "+%Y-%m-%d"`

yesterday=`date --date='1 days ago' "+%Y-%m-%d"`

#先删除分区数据

impala-shell -B -u hive -q "alter table ods_out_cy drop partition(dt<='$today');"

[[ $? -eq 0 ]]|| exit

#将master服务器上的数据copy到本机

#今天的数据

hadoop distcp -pb webhdfs://master:8080/foo/ods/ods_out_cy/dt=$today /foo/ods/ods_out_cy/dt=$today

#昨天的数据

hadoop distcp -pb webhdfs://master:8080/foo/ods/ods_out_cy/dt=$yesterday /foo/ods/ods_out_cy/dt=$yesterday

#给数仓中的表增加分区信息

impala-shell -B -u hive -q "alter table ods_out_cy add partition(dt='$yesterday'); "

impala-shell -B -u hive -q "alter table ods_out_cy add partition(dt='$today'); "

2.DM--非分区表

#!/bin/bash

source /etc/profile

source ~/.bash_profile

today=`date   --date='0 days ago'   "+%Y-%m-%d"`

yesterday=`date   --date='1 days ago'   "+%Y-%m-%d"`

impala-shell -B -u hive -q "truncate table dm_out_cy; "

[[ $? -eq 0 ]]|| exit

hadoop -distcp webhdfs://master:8080/foo/dm/dm_out_cy/*  /foo/dm/dm_out_cy/

#刷新元数据信息

impala-shell -B -u hive -q "refresh dm_out_cy"

备注:

distcp命令最常用的调用方式是在集群之间进行数据拷贝:

hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/758124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号