【发布时间】:2015-06-26 13:47:15
【问题描述】:
我有一张包含数百万条记录的表。我想执行一个配置单元查询,并希望将结果集以块的形式返回给客户端。比如在第一个客户端请求获取结果时,我想返回前 1000 条记录,然后在后续请求中返回下 1000 条记录,依此类推。 一种方法是,我在执行配置单元查询时获取完整的结果集并保存它并根据来自客户端的请求迭代结果集。但是,如果我的结果集非常大,那么它可能会在将完整的结果集保存在内存中的同时产生内存不足的问题。
是否可以从 hive 中分块获取同一 hive 查询的数据? 根据我的探索,我发现 hive 不支持分页,而且每次我无法执行在 hive 中使用 limit 子句进行查询,因为 hive 的文档说 limit 子句随机选择记录。
我正在使用 JDBC 执行 hive 查询。 JDBC 中是否提供了可以与 hive 一起使用的解决方案? 或者有没有其他方法来解决这个用例?
提前致谢。
【问题讨论】: