当前位置:   article > 正文

将hdfs文件加载入hive表_hdfs数据导入hive分区表里

hdfs数据导入hive分区表里

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';

补充多天

  1. #! /bin/bash
  2. #起始startdate就是curdate
  3. curdate=$1
  4. enddate=$2
  5. while [ ${curdate} -le ${enddate} ]
  6. do
  7. #规范化时间
  8. curdate=`date -d "${curdate}" +%Y%m%d`
  9. echo "当前脚本执行时间curdate:${curdate}"
  10. #增加当天partition
  11. 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}'"
  12. curdate=$(date -d "$curdate+1days" +%Y%m%d)
  13. echo "下一轮脚本执行时间new_curdate:${curdate}"
  14. done

调用 sh xx,sh 20201012 20201125
 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/490503
推荐阅读
相关标签
  

闽ICP备14008679号