表格存储服务 CloudTable
表格存储服务 CloudTable
- 最新动态
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- HBase用户指南
- Doris用户指南
- ClickHouse用户指南
- 权限管理
- 审计日志
- 集群日志管理
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
-
通用类
- CloudTable集群能够提供什么服务?
- 为什么要选择CloudTable服务?
- 创建CloudTable HBase集群要准备什么?
- 使用CloudTable服务时需要关注什么?
- CloudTable HBase集群支持哪些压缩算法?
- 能停止CloudTable服务吗?
- CloudTable中的HBase外部接口支持哪些编程语言?
- 故障RegionServer个数怎么判断?
- CloudTable HBase支持的特殊符号?
- CloudTable数据进行删除,导致索引表和数据表不对应查询异常处理办法?
- python通过thrift访问cloudtable,多个任务并行缓慢
- 如何查看HBase shell的TTL属性?
- 服务器资源为什么会被释放?
- 资源停止服务或逾期释放说明
- 哪些场景会影响数据均衡?
- 如何调整数据均衡的灵敏度,调整后有哪些影响?
- Doris集群回收站数据处理
- 连接访问类
- 数据读写类
- 数据导入
- 网络配置
- 计费类
-
通用类
- 文档下载
- 通用参考
链接复制成功!
普通查询
功能介绍
CloudTable标签索引基于Lucene语法,提供了自研的查询接口LemonTable.query(LemonQuery query)。
样例代码
public void testNormalQuery() { LOG.info("Entering testNormalQuery."); try (Table table = conn.getTable(tableName)) { // Using Table instance to create LemonTable. LemonTable lemonTable = new LemonTable(table); // Build LemonQuery. LemonQuery query = LemonQuery.builder() // Set ad-hoc query condition. .setQuery("education:bachelor OR education:master") //(1) // Set how many rows should be cached on client for the initial request. .setCaching(10) //(2) // Set return column family/columns. .addFamily(FAM_M) .addColumn(FAM_N, QUA_N) //(3) // Set return return result just contains rowkeys, no any qualifier // the CF of LemonConstants.EMPTY_COLUMN_RETURN can be a random existing CF //.addColumn(FAM_M, LemonConstants.EMPTY_COLUMN_RETURN) .build(); ResultSet resultSet = lemonTable.query(query); // Read result rows. int count = resultSet.getCount(); LOG.info("the entity count of query is " + count); List<EntityEntry> entries = resultSet.listRows(); for (EntityEntry entry : entries) { Map<String, Map<String, String>> fams = entry.getColumns(); for (Map.Entry<String, Map<String, String>> familyEntry : fams.entrySet()) { String family = familyEntry.getKey(); Map<String, String> qualifiers = familyEntry.getValue(); for (Map.Entry<String, String> qualifier : qualifiers.entrySet()) { String Qua = qualifier.getKey(); String value = qualifier.getValue(); LOG.info("rowkey is " + Bytes.toString(entry.getRow()) + ", qualifier is " + family + ":" + Qua + ", value is " + value); } } } } catch (IOException e) { LOG.error("testNormalQuery failed ", e); } LOG.info("Exiting testNormalQuery."); }
注意事项
(1) 查询条件,遵循Lucene语法/BNF范式,例如:
"Male ANDMarried AND AGE:25-30 AND BLOOD_TYPE:A" "Male ANDMarried AND (AGE:25-30 OR AGE:30-35)AND BLOOD_TYPE:A"
(2) 查询返回多少行数据。
(3) 每行数据返回哪些qualifier,如果只设置列族,则表示返回列族下的所有列。
父主题: 样例代码说明