hive表批处理
对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表批处理的更多相关文章
- hive表增量抽取到oracle数据库的通用程序(二)
hive表增量抽取到oracle数据库的通用程序(一) 前一篇介绍了java程序的如何编写.使用以及引用到的依赖包.这篇接着上一篇来介绍如何在oozie中使用该java程序. 在我的业务中,分为两段: ...
- hive表增量抽取到oracle数据库的通用程序(一)
hive表增量抽取到oracle数据库的通用程序(二) sqoop在export的时候 只能通过--export-dir参数来指定hdfs的路径.而目前的需求是需要将hive中某个表中的多个分区记录一 ...
- 【翻译】Flink Table Api & SQL — Hive —— 读写 Hive 表
本文翻译自官网:Reading & Writing Hive Tables https://ci.apache.org/projects/flink/flink-docs-release-1 ...
- hive 表分区操作
hive的数据查询一般会扫描整个表,当表数据太大时,就会消耗些时间,有时候我们只需要对部分数据感兴趣,所以hive引入了分区的概念 hive的表分区区别于一般的分布式分区(hash分区,范围分区 ...
- 如何快速把hdfs数据动态导入到hive表
1. hdfs 文件 {"retCode":1,"retMsg":"Success","data":[{" ...
- HDFS文件和HIVE表的一些操作
1. hadoop fs -ls 可以查看HDFS文件 后面不加目录参数的话,默认当前用户的目录./user/当前用户 $ hadoop fs -ls 16/05/19 10:40:10 WARN ...
- 用puthivestreaming把hdfs里的数据流到hive表
全景图: 1. 创建hive表 CREATE TABLE IF NOT EXISTS newsinfo.test( name STRING ) CLUSTERED BY (name)INTO 3 ...
- spark使用Hive表操作
spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...
- spark+hcatalog操作hive表及其数据
package iie.hadoop.hcatalog.spark; import iie.udps.common.hcatalog.SerHCatInputFormat; import iie.ud ...
随机推荐
- GammaRay is a tool to poke around in a Qt-application(确实很多功能)
GammaRay is a tool to poke around in a Qt-application and also to manipulate the application to some ...
- MyEclipse参加ibatis DTD文件实现xml自己主动提示功能
当我们写ibatis当配置文件,希xml自己主动提示. 这就要求我们的加盟DTD档 SqlMapConfig.xml中开头部分有这么一句话 <!DOCTYPE sqlMapConfig PUBL ...
- AI2XAML's Bug
原文:AI2XAML's Bug My picture is like this: I use Adobe Illustator CS to draw the outline of that, I s ...
- Wrapped的返回值取值
Bared Wrapped using Newtonsoft.Json; using Newtonsoft.Json.Linq; string str = JsonConvert.Serial ...
- 计算机网络OSI参考模型与tcp/ip四层模型
OSI参考模型--7层 1层物理层:主要定义物理设备标准,如网线的接口类型.光线的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化 ...
- SDL(01-10)
SDL中的函数需要先初始化SDL才能用 : //Initialize SDL ) { printf( "SDL could not initialize! SDL_Error: %s\n&q ...
- WPF 绑定到集合
<Window x:Class="CollectionBinding.MainWindow" xmlns="http://schemas.micros ...
- WPF Layout 系统概述——Measure
原文:WPF Layout 系统概述--Measure 前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重 ...
- SQLServer 使用sp_repldone标识所有未分发的事务为已分发
原文:SQLServer 使用sp_repldone标识所有未分发的事务为已分发 对于发布数据库的数据大量操作时,会使日志扫描并读取太多,会导致分发堵塞很久.也有一些解决方法,参考 <SqlSe ...
- WPF 使用Trigger遇到的问题
1. 在style中使用trigger无效的场景 原因是直接在对象上设置值将导致style中的值无效,去掉TextBlock对象的Foreground后,Trigger将正常工作 <TextBl ...