前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hadoop hive 分区表load至新表

hadoop hive 分区表load至新表

作者头像
大数据工程师-公子
发布2019-03-14 15:22:39
1.5K0
发布2019-03-14 15:22:39
举报

hadoop hive 分区表移动

shell脚本

代码语言:javascript
复制
### fct_path_list_history.sh
#!/bin/sh

. /etc/profile
. ~/.bash_profile

if [ $# == 2 ]; then
    datebeg=$1
    dateend=$2
else
    echo "请输入开始时间和结束日期,格式为2017-04-04"
    exit 1
fi


THIS="$0"
THIS_DIR=`dirname "$THIS"`
cd ${THIS_DIR}


beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`

echo "处理时间范围:$beg_s 至 $end_s"

while [ "$beg_s" -le "$end_s" ];do
    day=`date -d @$beg_s +"%Y-%m-%d"`;
    echo "当前日期:$day"
    hive -d date=$day -f ./fct_path_list_history.sql
    if test $? -ne 0
    then
    echo "处理失败,日期:$day, 跳过"
    else
    echo "处理成功,日期:$day"
    fi
    beg_s=$((beg_s+86400));
done

echo "全部处理完成!"

hive sql

代码语言:javascript
复制
#### fct_path_list_history.sql
use dw;
LOAD DATA INPATH 'hdfs://nameservice1/user/hive/warehouse/dw.db/fct_path_list/date=${date}' OVERWRITE INTO TABLE fct_path_list_history PARTITION (date='${date}');

备份表创建

代码语言:javascript
复制
use dw;
CREATE TABLE `fct_path_list_history`(
  `gu_id` string,
  `endtime` bigint,
  `last_entrance_page_id` int,
  `last_guide_page_id` int,
  `last_before_goods_page_id` int,
  `last_entrance_page_value` string,
  `last_guide_page_value` string,
  `last_before_goods_page_value` string,
  `last_entrance_event_id` int,
  `last_guide_event_id` int,
  `last_before_goods_event_id` int,
  `last_entrance_event_value` string,
  `last_guide_event_value` string,
  `last_before_goods_event_value` string,
  `last_entrance_timestamp` bigint,
  `last_guide_timestamp` bigint,
  `last_before_goods_timestamp` bigint,
  `guide_lvl2_page_id` int,
  `guide_lvl2_page_value` string,
  `guide_lvl2_event_id` int,
  `guide_lvl2_event_value` string,
  `guide_lvl2_timestamp` bigint,
  `guide_is_del` int,
  `guide_lvl2_is_del` int,
  `before_goods_is_del` int,
  `entrance_page_lvl2_value` string,
  `guide_page_lvl2_value` string,
  `guide_lvl2_page_lvl2_value` string,
  `before_goods_page_lvl2_value` string,
  `entrance_event_lvl2_value` string,
  `guide_event_lvl2_value` string,
  `guide_lvl2_event_lvl2_value` string,
  `before_goods_event_lvl2_value` string,
  `rule_id` string,
  `test_id` string,
  `select_id` string,
  `last_entrance_pit_type` int,
  `last_entrance_sortdate` string,
  `last_entrance_sorthour` int,
  `last_entrance_lplid` int,
  `last_entrance_ptplid` int,
  `last_entrance_ug_id` int)
PARTITIONED BY (`date` string)
 stored as orc;

nohup后台执行

代码语言:javascript
复制
nohup sh ./fct_path_list_history.sh 2016-01-06 2016-04-01 > ./fct_path_list_history.log 2>&1 &

nohup sh ./fct_path_list_history.sh 2016-04-02 2016-12-31 >> ./fct_path_list_history.log 2>&1 &

nohup sh ./fct_path_list_history.sh 2016-04-21 2016-12-31 >> ./fct_path_list_history.log 2>&1 &

异常登记

  • 2016-01-05 在test.fct_path_list_bak
  • 处理失败,日期:2016-04-20
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年04月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hadoop hive 分区表移动
    • shell脚本
      • hive sql
        • 备份表创建
          • nohup后台执行
            • 异常登记
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档