我们正在使用Apache Phoenix与我们的HBase安装进行交互。我们选择Phoenix是因为它使我们能够向HBase列添加数据类型,并且使您可以使用PlainSQL
来与基础数据库进行交互。
使用Phoenix可以将表列的类型声明为TIMESTAMP
(请参阅此链接)。例如,让我们声明下表:
Create table T1
(
T1_KEY VARCHAR(10) NOT NULL,
TMSTP TIMESTAMP,
CONSTRAINT PK_T1 PRIMARY KEY (T1_KEY)
);
问题是:UPSERT
使用普通的旧SQL,在这样的表中的行的正确语法是什么?您以哪种格式将时间戳记值传递给TMSTP
列?
好吧,对于普通老式SQL中UPSERT
的类型列的值TIMESTAMP
,您必须恢复XML标准日期格式。按照这种格式,时间戳值如下所示:
2002-05-30T09:30:10.5
然后,UPSERT
对表的最终操作T1
将是
UPSERT INTO T1 (T1_KEY, TMSTP) VALUES ('0123456789', '2002-05-30T09:30:10.5');
请注意,您必须将时间戳记值传递为格式正确的VARCHAR
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句