我正在尝试使用以下名称在#hive中创建一个表" $ example $ table"。 它不允许我创建并给出以下错误:
失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 org.apache.hadoop.hive.ql.metadata.HiveException:[$ ndo $ dbproperty]:不是有效的表名
有人可以帮帮我吗?要求是使用$,%,','等字符创建表名。在表名中。
答案 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;为了更好地理解术语勇敢