对hive中的表进行批量处理,如下是一个简单的脚本

#给定一个hive数据库名,生成它的所有表的create SQL语句,并导出到文件
create_fun(){
hive -e "show create table $1.$2">>$
} #显示一个表中所有的分区
show_partitions(){
hive -e "show partitions $1.$2 ;">>$
} #将一个表中所有分区重命名
rename_partition(){
start_day=$
end_day=$ while [ ${start_day} -le ${end_day} ]
do
day_int=`date +"%Y%m%d" -d "${start_day}"`
day_str=`date +"%Y-%m-%d" -d "${start_day}"`
hive -e "alter table $1.$2 PARTITION (dt='${day_int}') RENAME TO PARTITION (dt='${day_str}');"
start_day=`date +"%Y%m%d" -d "${start_day} 1 days" `
done
}
#删除一个表中的分区
drop_partition(){
hive -e "alter table $1.$2 drop PARTITION (dt='$3')"
} #更新一个hive表的列分隔符
modify_separator(){
hive -e "alter table $1.$2 set SERDEPROPERTIES('field.delim'='\001');"
} #指定一个数据库,查询出所有table,并对符合条件的table进行处理
database(){
basename=$
mid_file=mid.txt
result_file=${basename}.txt
match=_ods
hive -e "use ${basename};show tables">${mid_file}
sed -i '/WARN/d' ${mid_file}
cat ${mid_file} |grep ${match} |while read line
do
drop_partition ${basename} $line $
done
rm -rf ${mid_file}
} #program start #
database $ $

hive表批处理的更多相关文章

  1. hive表增量抽取到oracle数据库的通用程序(二)

    hive表增量抽取到oracle数据库的通用程序(一) 前一篇介绍了java程序的如何编写.使用以及引用到的依赖包.这篇接着上一篇来介绍如何在oozie中使用该java程序. 在我的业务中,分为两段: ...

  2. hive表增量抽取到oracle数据库的通用程序(一)

    hive表增量抽取到oracle数据库的通用程序(二) sqoop在export的时候 只能通过--export-dir参数来指定hdfs的路径.而目前的需求是需要将hive中某个表中的多个分区记录一 ...

  3. 【翻译】Flink Table Api & SQL — Hive —— 读写 Hive 表

    本文翻译自官网:Reading & Writing Hive Tables  https://ci.apache.org/projects/flink/flink-docs-release-1 ...

  4. hive 表分区操作

    hive的数据查询一般会扫描整个表,当表数据太大时,就会消耗些时间,有时候我们只需要对部分数据感兴趣,所以hive引入了分区的概念    hive的表分区区别于一般的分布式分区(hash分区,范围分区 ...

  5. 如何快速把hdfs数据动态导入到hive表

    1. hdfs 文件   {"retCode":1,"retMsg":"Success","data":[{" ...

  6. HDFS文件和HIVE表的一些操作

    1. hadoop fs -ls  可以查看HDFS文件 后面不加目录参数的话,默认当前用户的目录./user/当前用户 $ hadoop fs -ls 16/05/19 10:40:10 WARN ...

  7. 用puthivestreaming把hdfs里的数据流到hive表

    全景图:   1. 创建hive表 CREATE TABLE IF NOT EXISTS newsinfo.test( name STRING ) CLUSTERED BY (name)INTO 3 ...

  8. spark使用Hive表操作

    spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...

  9. spark+hcatalog操作hive表及其数据

    package iie.hadoop.hcatalog.spark; import iie.udps.common.hcatalog.SerHCatInputFormat; import iie.ud ...

随机推荐

  1. PAT 1051-1060 题解

    浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1051. Pop Sequence (25) 题意 给定 stack 的容量,给定数据的入栈顺序:从 1 开始的正整数序列,在允许随机的出栈操作 ...

  2. 【 D3.js 入门系列 --- 0 】 简介及安装

    家是我的个人博客: http://www.ourd3js.com/  ,csdn博客首页为:http://blog.csdn.net/lzhlzz/.转载请注明出处,谢谢. D3的全称是(Data-D ...

  3. sgu209:Areas(计算几何)

    意甲冠军: 给一些直.这架飞机被分成了很多这些线性块.每个块的需求面积封闭曲线图. 分析: ①我们应要求交点22的直线: ②每行上的交点的重排序,借此来离散一整行(正反两条边): ③对于连向一个点的几 ...

  4. Dx bad class file magic (cafebabe) or version (0033.0000) ant打包遇到问题2

    在进行ant进行打包时会发现下面的提示话语言 后来在网上搜索答案,问题得以解决,下面是传送门 门:http://blog.k-res.net/archives/1501.html 里面提到问题的原因是 ...

  5. 51系列小型操作系统精髓 简单实现6 C语言版待改进

    #include "STC12C5A.H" #define TIMER_RELOAD()  {TL0=0x00;TH0=0xC4;}//使能T/C  初始10ms #define ...

  6. LeetCode总结 -- 树结构的一部分

    这篇总结主要介绍树中比較常见的一类题型--树的构造.事实上本质还是用递归的手法来实现,可是这类题目有一个特点.就是它是构建一棵树.而不是给定一棵树,然后进行遍历,所以实现起来思路上有点逆向,还是要练习 ...

  7. 用 AJAX 读取xml 节点属性值

    <html> <head> <title>AjaxTest</title> <script> var xmlHttp; function c ...

  8. Java--分布式系统高并发解决方案

    对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...

  9. C++使用Windows API CreateMutex函数多线程编程

    C++中也可以使用Windows 系统中对应的API函数进行多线程编程.使用CreateThread函数创建线程,并且可以通过CreateMutex创建一个互斥量实现线程间数据的同步: #includ ...

  10. 实现网站https

    双击上面的服务器证书 如下图: