Если у вас есть уже существующая таблица, вам нужно будет создать представление для доступа к ней:
create view "http_access_log_v" (pk VARCHAR PRIMARY KEY, "colfam1"."colum1" VARCHAR, "colfam1"."colum2" VARCHAR) as select * from "http_access_log";
Имея представленный выше вид, вы можете сделать выбор против него следующим образом:
select * from http_access_log_v;
Пример
Скажем, у меня есть конфигурация таблицы HBase. Я не могу делать выборки непосредственно по этой таблице через Phoenix.
sqlline> select * from "config";
Error: ERROR 1012 (42M03): Table undefined. tableName=config (state=42M03,code=1012)
Однако, если я создам представление против select * from "config"
этой таблицы HBase:
sqlline> create view "config-data" (pk VARCHAR PRIMARY KEY, "data"."id" VARCHAR, "data"."categoryName" VARCHAR) as select * from "config";
No rows affected (1.588 seconds)
Затем я могу запросить подмножество доступных столбцов, которые были настроены в представлении Phoenix SQL:
sqlline> select * from "config-data";
+------------------------------------------+------------------------------------------+------------------------------------------+
| PK | id | categoryName |
+------------------------------------------+------------------------------------------+------------------------------------------+
| QA-AA00|D|MC|MSG|C10|M3 | null | null |
| QA-AA00|D|MC|MSG|C2|M1 | null | null |
...
И я все еще не могу напрямую запросить таблицу HBase:
sqlline> select * from "config"; Error: ERROR 1012 (42M03): Table undefined. tableName=config (state=42M03,code=1012)
использованная литература
person
slm
schedule
17.12.2015