shell定时创建Hive表分区


首先看一下hive 的help命令:

[hdfs@datanode003 hive]$ hive  -h
Missing argument for option: h
usage: hive
 -d,--define <key=value>          Variable subsitution to apply to hive
                                  commands. e.g. -d A=B or --define A=B
    --database <databasename>     Specify the database to use
 -e <quoted-query-string>         SQL from command line
 -f <filename>                    SQL from files
 -H,--help                        Print help information
 -h <hostname>                    connecting to Hive Server on remote host
    --hiveconf <property=value>   Use value for given property
    --hivevar <key=value>         Variable subsitution to apply to hive
                                  commands. e.g. --hivevar A=B
 -i <filename>                    Initialization SQL file
 -p <port>                        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@datanode003 hive]$ 


使用crontab定时给hive表增加表分区:




方法1:

 -e <quoted-query-string>         SQL from command line


执行命令:

[hdfs@datanode003 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:

-i <filename>                    Initialization 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表增加分区表的操作。









郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。