我正在使用Hive查询从JSP访问HBase数据。现在,因为Hbase可以存储像太字节数据这样的大量数据。如果数据太多,则hive查询(转换为map reduce任务)将需要几分钟的时间那么JSP页面会等待10分钟来显示数据。应该是策略。这是正确的方法。如果不是这样,那么在JSP上显示巨大的hbase数据的最佳方法是什么。
答案 0 :(得分:2)
Hive /任何hadoop map-reduce系统,专为离线批量处理而设计。从JSP提交Hive查询并等待任意数量的时间来准备数据并在前端显示是一个明确的禁忌。如果群集超级繁忙,则可能无法在指定时间内安排您的作业。
你想从Hbase前端展示什么?
如果它是表中的一组行,并且您知道行是什么(意味着您有行键或您的应用程序可以在运行时计算它),只需从中获取这些行并显示。
如果你必须做一些类似SQL的操作(加入/选择等),那么我猜你确实意识到,HBase是一个No-SQL系统,你应该在应用程序中执行这些操作然后使用行键获取适当的行。
例如:如果您有2个HBase表,请说Dept(dept Id作为行键和字符串列(employees)以及commma分隔的empIds列表)和Employee(emp Id作为行键和列名称,年龄,薪水)。要找到部门薪水最高的员工,您必须
a。从Dept表中获取行(使用dept Id)
湾从employees列中迭代empId列表。
℃。在每次迭代中,从Employee表中获取行(通过empId行键)
找到最大值
是的HBase可以处理TB的数据,但是你几乎不需要使用JSP在前端显示那么多的数据。我猜,你很可能只对一部分数据感兴趣,尽管支持HBase表要大得多