shell定時建立Hive表分割槽
阿新 • • 發佈:2018-12-22
首先看一下hive 的help命令:
[[email protected] 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)
[ [email protected] <span style="font-family: Arial, Helvetica, sans-serif;">hive]$ </span>
使用crontab定時給hive表增加表分割槽:
方法1:
-e <quoted-query-string> SQL from command line
執行命令:
[[email protected] 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表增加分割槽表的操作。