Я новичок в HBase и Phoenix. У меня проблема с отображением существующей таблицы HBase в Phoenix. Мое конечное намерение здесь состоит в том, чтобы я мог обновлять существующие строки таблицы HBase, а также вставлять в нее новые строки с помощью Phoenix SQL.
Моя таблица в HBASE выглядит следующим образом (в семействе столбцов CASEDETAILS пять столбцов):
CASES
COLUMN FAMILIES DESCRIPTION
{NAME => 'CASEDETAILS', BLOOMFILTER => 'NONE', VERSIONS => '2', IN_MEMORY =>
'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL
=> 'FOREVER',COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE =>
'false', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
Когда я создаю представление над этой таблицей с помощью команды
create view CASES( pk VARCHAR PRIMARY KEY,
CASEDETAILS.CASEID VARCHAR,
CASEDETAILS.CREATED VARCHAR,
CASEDETAILS.CREATEDBY VARCHAR,
CASEDETAILS.MBI VARCHAR,
CASEDETAILS.MEMBER VARCHAR);
это работает, и я могу получить данные из таблицы с помощью запроса select, но я не могу обновить ни строки, ни вставить новые строки. Выдает ошибку «Таблица только для чтения»
Но когда в приведенной выше команде создания Phoenix я заменяю "view" на "table", т.е. я пытаюсь создать таблицу с таким же именем в Phoenix; Создание таблицы успешно, но оператор выбора не работает.
Так что у меня есть несколько вопросов здесь:
1) Почему просмотр существующей таблицы Hbase работает, а таблица - нет?
2) Есть ли способ обновить существующие строки в таблице HBase, используя интерфейс Phoenix SQL?
3) Насколько важно поддерживать порядок имен столбцов и имен столбцов при отображении существующей таблицы в Phoenix?
Примечание: я изучил существующую базу данных для похожих вопросов и дошел до того, что понял, что мое мнение работает, но не таблица. Однако ни один из вопросов не смог решить мою конечную проблему, которая заключается в обновлении существующих строк существующей таблицы HBase с помощью Phoenix