美文网首页
hive备份分区表@2019-07-18

hive备份分区表@2019-07-18

作者: dataHunter | 来源:发表于2019-07-18 11:09 被阅读0次

网上搜索方案是:
https://www.cnblogs.com/cxzdy/p/4934849.html

  1. 创建新表,分区指向新路径
  2. 然后用hdfs copy 方式把老文件内容复制到新文件夹下
  3. 刷新新表元数据(MSCK REPAIR TABLE tableName)

可是,我用的是阿里的oss存储的文件。
所以网上第二步不可行。

所以,新方式

思路:

  1. 创建新表,分区指向新路径
  2. shell 循环调用 load inpath 'xxxxxxxxxxxxxxx' overwrite into table xxx partion (xxx);
dts="2019-07-05 2019-07-06"
for dt in $dts
do
    # load data 方式
    spark-sql --master yarn -e "load data  inpath 'xxxxxxxxx/dt=${dt}' overwrite into table xxxxx partition (dt = '${dt}');"

    # insert overwrite 方式
    # spark-sql --master yarn -e "insert overwrite directory 'oss://xxxxx/${new_table}/dt=${dt}' select  * from xxx.${old_table} where dt = '${dt}' ;"
done

考虑到load data 比 insert overwrite快,所以选了load data,但是load data后数据到了新目录,老目录下就没有了,慎用哦。如果不想这样就采用 insert overwrite方式。
另外用了 insert overwrite 也需要刷新元数据(MSCK REPAIR TABLE tableName)

nsert overwrite 方式 directory路径后也可以指定行分割符等。例:row format delimited fields terminated by '\001'

相关文章

  • hive备份分区表@2019-07-18

    网上搜索方案是:https://www.cnblogs.com/cxzdy/p/4934849.html 创建新表...

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • hive的严格模式和分区

    相比mysql,hive有严格模式存在,为了不错误扫描整个数据,hive的分区表会将数据分成几个分区。查询分区表中...

  • 坑合集

    Flume flume细节 Hive 数据倾斜Hive优化 Hive分区表新增字段为null的bug及解决方法 S...

  • hive分区表

    hive分区表 1 为什么出现分区表? 假设有海量的数据保存在hdfs的某一个hive表明对应的目录下,使用hiv...

  • 案例详解__HIVE中内部表、外部表、分区表和分桶表

    目录一、Hive建表语法二、内部表外部表三、分区表四、分桶表 Hive在建表时可指定内部表、外部表、分区表和分桶表...

  • Hive系列之分区表和桶

    为提升hive数据的查询和写入性能, hive提供了分区表机制。hive每个表格可以指定多个分区key, 这些分区...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • 大数据知识点总结

    Hive: 分区表有哪几类 Hive中追加导入数据的4种方式是什么? Hive中到处数据有几种方式?如何导出数据 ...

  • HiveSQL分区-DML

    分区 创建分区表 以性别分区;分区字段不可与表列名重复! 载入分区表数据 介绍load-data:Hive-DML...

网友评论

      本文标题:hive备份分区表@2019-07-18

      本文链接:https://www.haomeiwen.com/subject/rzvklctx.html