我在 hbase 中创建了一个表(MyTable)并向其中添加了数据,然后尝试通过 phoenix 客户端访问。
在创建具有相同名称(MyTable)的虚拟表时,由于查询错误而出现异常。然后我发现即使发生异常,表也已创建。
无法访问、更改或删除 MyTable。我得到以下信息:
0: jdbc:phoenix:localhost> drop table "MyTable";
Error: org.apache.hadoop.hbase.DoNotRetryIOException: ubi_stream_realtime: 109 (state=08000,code=101)
0: jdbc:phoenix:localhost> select * from "MyTable";
Error: org.apache.hadoop.hbase.DoNotRetryIOException: ubi_stream_realtime: 109 (state=08000,code=101)
0: jdbc:phoenix:localhost> !dropall
Really drop every table in the database? (y/n)abort-drop-all: Aborting drop all tables.y
Error: ERROR 1012 (42M03): Table undefined. tableName=MyTable (state=42M03,code=1012)
Aborting command set because "force" is false and command failed: "DROP TABLE MyTable;"
我尝试了以下方法,但无法删除凤凰映射。
- 删除 hbase 中的表并尝试 phoenix 中的所有查询
- 尝试在凤凰中重命名查询
- 重新启动 hbase 和 phoenix 客户端
- 在 phoenix 和 hbase 中重新创建了同一张表