首先看一下hive 的help命令:
[hdfs@xxx hive]$ hive -h Missing argument for option: h usage: hive -d,--defineVariable subsitution to apply to hive commands. e.g. -d A=B or --define A=B --database Specify the database to use -e SQL from command line -f SQL from files -H,--help Print help information -h connecting to Hive Server on remote host --hiveconf Use value for given property --hivevar Variable subsitution to apply to hive commands. e.g. --hivevar A=B -i Initialization SQL file -p connecting to Hive Server on port number -S,--silent Silent mode in interactive shell -v,--verbose Verbose mode (echo executed SQL to the console) [hdfs@xxxx hive]$
使用crontab定时给hive表增加表分区:
方法1:
-eSQL from command line
执行命令:
[hdfs@xxxx hive]$ hive --database gcld -e 'alter table gcldlog add partition (dt=\\'2015-06-14\\') location \\'2015-06-14\\'';
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
OK
Time taken: 1.097 seconds
方法2:
-iInitialization SQL file
编辑好sql命令:
alter table gcldlog add partition (dt=‘2015-06-10') location '2015-06-10';
exit;(记得加上退出命令)
执行命令:
hive --database gcld -i /script/gcld/test.sql ;
这样就可以实现shell动态给hive表增加分区表的操作。