Linux 脚本 hive脚本

6 篇文章 0 订阅
3 篇文章 0 订阅

原因: hive导入hdfs按天文件夹,按小时文件的数据, 历史数据(天数)较多, 手动添加分区, 工作量大,改用脚本

编写脚本: notepad++(工具)

------------------------------------------------------------------------------ 以下  脚本 ---------------------------------------------------------------------------

#!/bin/bash
date_list='20170913 20170914 ...(日期列表,数量太多,原数据中间有缺, 日期间为空格分隔) ....20180606';

hive -e "create external table if not exists safe.imcs_data(imcs string) partitioned by (static_time string) row format delimited;"

for date in $date_list
do
    echo "start to hive partition"
    hive -e "alter table safe.imcs_data add partition (static_time = '$date') location '/user/safe/data/imcs_pic_info_hdfs/$date';"
    echo "hive partition finished"
done

---------------------------------------------------------------------------------以上 脚本----------------------------------------------------------------------

说明: # 为脚本注释 , #! 指定shell语言(Linux一般有好几个shell脚本语言)

开始对脚本操作

假定将脚本命名为  aaa.sh ---> 上传到Linux服务器 (假定目录/文件为  /bbb/aaa.sh)---> 修改文件权限(chmod 755 aaa.sh 可执行) --->  ./bbb/aaa.sh (运行)

排除错误/bin/bash^M: bad interpreter: No such file or directory

window环境编写的脚本格式为DOS, 与Linux格式冲突, 修改格式 ----> Linux下执行   dos2unix  /bbb/aaa.sh

再执行 ./bbb/aaa.sh

脚本正常运行, 建表,添加分区

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值