我正在尝试将一个命令从hive cli迁移到beeline:
$ hive -e "USE my_db;ALTER TABLE apache_log ADD PARTITION(year = 2015, month = 3) LOCATION 'hdfs://DB//user/my_db/prod/apache_log/2015/03';"这是可行的。
但是当它在直线上做的时候,它不像“使用my_db;”部分:
$ beeline -u jdbc:hive2://my_server.com -n my_user -p my_password -e "USE my_db;ALTER TABLE apache_log ADD PARTITION(year = 2015, month = 3) LOCATION 'hdfs://DB/user/my_user/prod/apache_log/2015/03';"
Error: Error while compiling statement: FAILED: ParseException line 1:9 missing EOF at ';' near 'my_db' (state=42000,code=40000)
Beeline version 0.12.0-cdh5.1.3 by Apache Hive根据错误消息(期望EOF),在我看来,直线不会像hive cli那样接受多个语句?
发布于 2015-03-10 01:59:19
我已经将它作为一个蜂窝错误提出,并被接受为一个错误和提供的补丁:https://issues.apache.org/jira/browse/HIVE-9877
发布于 2016-10-18 17:52:35
可以通过以下方式来完成此操作:
(我把它写在多行上,以使其更易读)
beeline
-u jdbc:hive2://my_server.com
-n my_user -p my_password
-e "USE my_db;"
-e "ALTER TABLE apache_log ADD PARTITION(year = 2015, month = 3) LOCATION 'hdfs://DB/user/my_user/prod/apache_log/2015/03';"
-e "--other nice queries..."https://stackoverflow.com/questions/28837356
复制相似问题