赞
踩
hive新建了表,location里面有数据,但是select 从表中拿不出数据:分区,编码,元数据analyze
1.第一种方法 当存储路径与表所在路径不一致时,可以load进去,如果表中字段类型不对应,该字段的值将会为空
load data inpath 'hdfs://hadoop01:9000/tmp/sales_info.txt' overwrite into table sales_info partition(dt = '20191215');
2.当存储路径与表所在路径一致时,可以采用添加分区的方式
alter table ods_nshop.ods_01_releasedatas add partition (bdp_day='20191215') location 'hdfs://hadoop01:9000/data/nshop/ods/release/bdp_day=20191215'
刷数据
alter table DWD.FIN_REF_ORG_MARKET_TYPE_CANCELLATION_TEMP drop if exists partition(dt='$rptDate');
alter table DWD.FIN_REF_ORG_MARKET_TYPE_CANCELLATION_TEMP add partition (dt='$rptDate') location 'hdfs://yto-develop-bigdata-platform/user/hive/warehouse/td/PT_PDATA/T99_REF_ORG_MARKET_TYPE_CANCELLATION/$rptDate';
补充多天
-
- #! /bin/bash
- #起始startdate就是curdate
- curdate=$1
- enddate=$2
-
- while [ ${curdate} -le ${enddate} ]
-
- do
- #规范化时间
- curdate=`date -d "${curdate}" +%Y%m%d`
- echo "当前脚本执行时间curdate:${curdate}"
- #增加当天partition
- hive -v -e "alter table td.t_stl_exp_transfer_detail add partition (dt='${curdate}') location 'hdfs://yto-develop-bigdata-platform/user/hive/warehouse/td/source/t_stl_exp_transfer_detail/dt=${curdate}'"
-
- curdate=$(date -d "$curdate+1days" +%Y%m%d)
-
- echo "下一轮脚本执行时间new_curdate:${curdate}"
-
- done
调用 sh xx,sh 20201012 20201125
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。