1

Hive変数を使用しようとしています。

Hive にログインして使用する場合:

hive > set a=test_table;
hive > describe ${hiveconf:a};

ただし、同じコマンドをシェルから試すと、次のようになります。 解析エラー 1:1 は近くの入力を認識できません ...

$> hive -e "set a=test_table; describe ${hiveconf:a};"
Parse Error 1:1 cannot recognize input near <EOF>
4

3 に答える 3

0
Parameter Expansion
   The `$' character introduces parameter expansion, command substitution, or arithmetic expansion.  The parameter name  or
   symbol  to  be  expanded  may be enclosed in braces, which are optional but serve to protect the variable to be expanded
   from characters immediately following it which could be interpreted as part of the name.

   When braces are used, the matching ending brace is the first `}' not escaped by a backslash or within a  quoted  string,
   and not within an embedded arithmetic expansion, command substitution, or parameter expansion.

   ${parameter}
          The  value  of  parameter  is substituted.  The braces are required when parameter is a positional parameter with
          more than one digit, or when parameter is followed by a character which is not to be interpreted as part  of  its
          name.

そうhive -e 'set a=test_table; desc ${hiveconf:a};'

于 2018-04-10T01:35:05.037 に答える
-1

以下のようにコーディングする必要があります。

   >a=test_table
   >hive -e "describe $a"

言語マニュアルを確認する

于 2013-03-06T06:53:18.497 に答える