美文网首页
shell hive 修复hive库分区

shell hive 修复hive库分区

作者: 似水之星 | 来源:发表于2019-02-27 16:18 被阅读0次
#!/bin/bash
#修复hive外表分区
echo -e $(date +%F%n%T)' input parameters:table_names:'$1' and table names:'$2  ' of partitions'

#如果第一个参数不为空,用参数,否则用默认值.如果第一个参数是all,则会把库里面所有表都遍历一遍
if [ ! -n "$1" ] ;then
    table_names='wechat_f_imspcheckinuserinfo,wechat_f_imspuseraction,wechat_f_trfgroupuser,brtl_bc_rtl_cvr_trx_evt'   #默认修复的表
else
    table_names=$1
fi

#如果第二个参数不为空,用参数,否则用默认值
if [ ! -n "$2" ] ;then
    database='hl_ops'   #默认修复的数据库
else
    database=$2
fi

echo -e $(date +%F%n%T)' create  database:'$database' and table names:'$table_names  ' of partitions'

if [ $1 == "all" ] ;then
  echo -e $(date +%F%n%T) "show tables from "$database";"
  table_names_array=$(hive -e "show tables from "$database";")
else
  table_names_array=${table_names//,/ } #这里是将var中的,替换为空格
fi

echo $table_names_array

for table_name in $table_names_array 
do
echo -e '\n\n'
echo -e $(date +%F%n%T)' create  '$database'.'$table_name  ' of partitions'
echo -e 'MSCK REPAIR TABLE '$database'.'$table_name
hive -e 'MSCK REPAIR TABLE '$database'.'$table_name
done

```shell

相关文章

  • shell hive 修复hive库分区

  • hive 分区修复

    当hive分区信息丢失时可以用mask命令修复 MSCK REPAIR TABLE table_name;

  • 动态分区说明

    Hive分区 Hive的动态分区 概述 hive中支持两种类型的分区: 静态分区SP(static partiti...

  • 大数据之Hive03-分区partition详解(静态分区,动态

    一、前言 Hive分区是为了方便数据管理Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一...

  • Hive 分区/分桶

    分区/桶 Hive 分区 Hive的分区方式:由于Hive实际上是数据文件在HDFS存在的目录区分分区字段是虚拟列...

  • Hive系列之分区表和桶

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

  • Hive 1.2.1 分区和分捅

    1. 借鉴 Hive学习笔记——Hive中的分桶Hive分区和分桶(0925)HIVE表索引,分区和分桶的区别 2...

  • Hive优化

    hive.optimize.cp=true:列裁剪 hive.optimize.prunner:分区裁剪 hive...

  • Hive01

    Hive 启动 Hive 启动方式 建表语法【单分区】示例: 加载【单分区】数据示例: 【多分区】示例: 加载【多...

  • hive基础语法

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

网友评论

      本文标题:shell hive 修复hive库分区

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