shell定時建立Hive表分區,shellhive分區
首先看一下hive 的help命令:
[hdfs@xxx hive]$ hive -hMissing argument for option: husage: 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@xxxx <span style="font-family: Arial, Helvetica, sans-serif;">hive]$ </span>
使用crontab定時給hive表增加表分區:
方法1:
-e <quoted-query-string> SQL 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:
-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表增加分區表的操作。