Column family with Apache Phoenix

旧街凉风 提交于 2019-12-18 13:33:16

问题


I have create the following table:

CREATE TABLE IF NOT EXISTS "events" (
"product.name" VARCHAR(32),
"event.name" VARCHAR(32),
"event.uuid" VARCHAR(32),
CONSTRAINT pk PRIMARY KEY ("event.uuid")
)

Inserting an event:

upsert into "events" ("event.uuid", "event.name", "product.name") values('1', 'click', 'api')

Getting data from HBase shell:

hbase(main):020:0> scan 'events'
ROW                                                  COLUMN+CELL
 1                                                   column=0:_0, timestamp=1449417795078, value=
 1                                                   column=0:event.name, timestamp=1449417795078, value=click
 1                                                   column=0:product.name, timestamp=1449417795078, value=api
1 row(s) in 0.0200 seconds

No column familty ;-(

From HBase shell, trying to insert data:

hbase(main):021:0> put 'events', '2', 'event:name','buy'

ERROR: Unknown column family! Valid column names: 0:*

Why?


回答1:


A double quoted identifier makes it case sensitive, so if you want both the column family and the column name to be case sensitive, you'll need to surround them each separately in double quotes like this:

CREATE TABLE IF NOT EXISTS "events" (
    "product"."name" VARCHAR(32),
    "event"."name" VARCHAR(32),
    "event"."uuid" VARCHAR(32),
    CONSTRAINT pk PRIMARY KEY ("event"."uuid")
)

and then upsert like this:

UPSERT INTO "events" ("event"."uuid", "event"."name", "product"."name")
    VALUES ('1', 'click', 'api')

Qualifying the column name with the column family name is not required in the UPSERT statement unless the column name is ambiguous. If you don't need to match the format of existing data, another alternative is to just not double quote anything. Otherwise, for an example, see this FAQ.

FWIW, best place to ask question is on our dev or user mailing lists.



来源:https://stackoverflow.com/questions/34119543/column-family-with-apache-phoenix

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!