IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

三十一、HBase二级索引和备用查询路径

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

HBase二级索引和备用查询路径

你也可以将本节的标题理解为“如果我的表 rowkey 看起来像这样,但我也希望我的查询表这样。” dist-list 上的一个常见示例是 row-key 格式为“user-timestamp”格式,但对于特定时间范围内的用户活动有报告要求。因此,用户选择容易,因为它处于密钥的主导位置,但时间不是。

没有一个最好的方法来解决这个问题的答案,因为它取决于:

  • 用户数量
  • 数据大小和数据到达率
  • 报告要求的灵活性(例如,完全特定的日期选择与预先配置的范围)
  • 期望的查询执行速度(例如,对于临时报告来说90秒可能是合理的,而对于其他情况来说可能太长)

而且解决方案也受到集群规模和解决方案所需的处理能力的影响。常见的技巧在下面的部分中介绍。这是一个全面但并非详尽的方法清单。

二级索引需要额外的集群空间和处理并不令人惊讶。这正是 RDBMS 中发生的情况,因为创建备用索引的操作需要更新空间和处理周期。RDBMS产品在这方面更加先进,可以处理替代索引管理。但是,HBase 在更大的数据量下可以更好地扩展,所以这是一项功能交换。

实施这些方法时请注意 Apache HBase 性能调整。

另外,请参阅在这个 dist-list 线程 HBase,mail#user – Stargate + hbase 中的 David Butler 响应。

HBase过滤查询

根据具体情况,使用客户端请求过滤器可能是适当的。在这种情况下,不会创建二级索引。但是,请不要在应用程序(如单线程客户端)上对这样的大表进行全面扫描。

HBase定期更新二级索引

可以在另一个表中创建二级索引,通过 MapReduce 作业定期更新。该作业可以在一天内执行,但要取决于加载策略,它可能仍然可能与主数据表不同步。

HBase双写二次索引

另一种策略是在将数据发布到集群时构建二级索引(例如,写入数据表,写入索引表)。如果这是在数据表已经存在之后采取的方法,那么对于具有 MapReduce 作业的二级索引将需要引导。

HBase汇总表

在时间范围非常广泛的情况下(例如,长达一年的报告)以及数据量大的地方,汇总表是一种常见的方法。这些将通过 MapReduce 作业生成到另一个表中。

HBase协处理器二级索引

协处理器行为类似于 RDBMS 触发器。这些在 0.92 增加。

文章永久链接:https://tech.souyunku.com/?p=12648

干货推荐


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(76) 打赏



未经允许不得转载:搜云库技术团队 » 三十一、HBase二级索引和备用查询路径

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367