Phoenix 建表语句
create table IF NOT EXISTS shop_day (
face_id varchar not null,
shop_key integer not null,
date_key integer not null,
business_key integer,
brand_key integer,
pv integer
CONSTRAINT pk PRIMARY key (face_id, shop_key, date_key)
);
spring 配置
spring
phoenix:
datasource:
url: jdbc:phoenix:127.0.0.1:2181
driverclassname: org.apache.phoenix.jdbc.PhoenixDriver
username:
password:
spring 代码
@Qualifier("phoenixJdbcTemplate")
@Autowired
private JdbcTemplate jdbcPhoenix;
void getFaceShopInfo() {
String sql = "select * from shop_day where face_id in('1234')";
Map<String, Object> stringObjectMap = jdbcPhoenix.queryForMap(sql);
}
#stringObjectMap 只有 face_id, shop_key, date_key 主键字段有数据,其他字段数据都是 null
在终端查询这条 sql 每个字段都有数据
0: jdbc:phoenix:> select * from shop_day where face_id in('1234');
有大佬知道是什么问题吗.
1
abcdxx OP ???
|
2
szq8014 2018-11-10 09:11:49 +08:00 1
其他列是什么类型的?试试原生的 PreparedStatement/RestulSet ?
再就是 in 查询一般返回多行为啥用 map 接,怎么也得上个 list 吧? |
3
thinkmore 2018-11-12 10:24:59 +08:00 1
把你的 sql 语句拿到 phoenix client 中执行以下看看呢?或者在试一试指定返回字段看看
|
4
thinkmore 2018-11-12 10:25:35 +08:00 1
在确认下你 hbase 中表是否建好了,然后是不是有对应的列
|