创建名称中包含字符的配置单元表

时间:2017-05-11 13:21:19

标签: hive ddl

我正在尝试使用以下名称在#hive中创建一个表" $ example $ table"。 它不允许我创建并给出以下错误:

  

失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 org.apache.hadoop.hive.ql.metadata.HiveException:[$ ndo $ dbproperty]:不是有效的表名

有人可以帮帮我吗?要求是使用$,%,','等字符创建表名。在表名中。

1 个答案:

答案 0 :(得分:0)

目前,仅支持列而不是表格的特殊字符 https://issues.apache.org/jira/browse/HIVE-6013
https://issues.apache.org/jira/browse/HIVE-11699

<强> P.S。 1
如果你足够勇敢,你可以在Metastore中重命名表。

select * from metastore.TBLS where TBL_NAME = '$example$table';

+--------+-------------+-------+------------------+----------+-----------+-------+----------------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME |  OWNER   | RETENTION | SD_ID |    TBL_NAME    |   TBL_TYPE    | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+----------+-----------+-------+----------------+---------------+--------------------+--------------------+
|    176 |  1494511100 |     2 |                0 | cloudera |         0 |   181 | $example$table | MANAGED_TABLE | (null)             | (null)             |
+--------+-------------+-------+------------------+----------+-----------+-------+----------------+---------------+--------------------+--------------------+
hive> select * from `$example$table`;
OK
1
2
3
Time taken: 0.58 seconds, Fetched: 3 row(s)
hive> 

<强> P.S。 2
你可能想看&#34;是(素数)部长&#34;为了更好地理解术语勇敢