我是初学者在使用Phoenix以及hbase。
我无法将带有列族名称的phoenix的upsert语句用于动态列。
我的create table语句:
CREATE TABLE TEST(
A UNSIGNED_LONG NOT NULL,
B VARCHAR NOT null,
C UNSIGNED_LONG NOT null,
CONSTRAINT rowkey PRIMARY KEY(A,B,C)
)
我的声明:
UPSERT INTO TEST(A,B,C,d.D INTEGER,d.E INTEGER,e.F INTEGER) VALUES (30000,alice,200000,1,1,1)
错误消息:
ERROR 1001 (42I01): Undefined column family. familyName=D.null
我错过了什么?
1条答案
按热度按时间9jyewag01#
我只是在研究Phoenix城的这片。也许你可以看看这个网址
http://phoenix.apache.org/dynamic_columns.html
对于您的问题,这里的问题应该是:您没有定义列族“d”,但在upsert中使用了它,甚至使用了两个列族(“e”)。在create table脚本中,您至少应该定义一个列族“d”(我知道,如果您没有定义,则会有一个默认的列族“0”),phoenix可以支持动态列插入,但我不确定它是否支持动态列族插入。因此我认为代码应该是:
你可以这样插入:
我测试它是否有效。