gpt4 book ai didi

hadoop - Hbase行键过滤器,范围扫描和cassandra功能

转载 作者:行者123 更新时间:2023-12-02 20:07:38 26 4
gpt4 key购买 nike

在Hbase中,我正在使用“app_name_ip_timestamp”之类的行键加载数据。但是将会有许多这样的应用程序。因此,从本质上讲,我每分钟收集大约50k数据点。

如果必须基于ip进行查询,则可以在行键上使用子字符串过滤器,但这是一个好方法吗?
反正Cassandra可以帮上忙吗?
在这种情况下,Cassandra有什么优势?
如何使HBase适应使用行键subString过滤器并执行范围扫描并以毫秒为单位检索结果的情况?
就临时查询和部分行键,范围扫描,汇总结果而言,查询cassandra和hbase的主要区别是什么

最佳答案

我不能谈论Cassandra,所以我会以的心意回答HBase的问题,因为这里已经多次询问过此类问题。您基本上需要一个二级索引,HBase不直接支持该二级索引,请阅读有关它的以下文档:http://hbase.apache.org/book/secondary.indexes.html

现在,根据您的访问模式,我建议您手动双重写入数据表和具有2种不同类型的行键的作为辅助索引的表。

[ip_as_long]-1-[timestamp]-[appname]
[ip_as_long]-2-[appname]-[timestamp]

该表只有一个家族,其中一列由数据表中数据点的行键组成。有了良好的缓冲,您根本不会遇到任何性能下降。

要基于ip查询数据,只需扫描索引表即可将开始行设置为“[ip_as_long] -1-”以按时间戳查询,或设置为“[ip_as_long] -2- [appname]”以按应用名称查询。该扫描将为您提供行键,您可以使用该行键对数据表执行多重获取以检索它。

考虑到这种方法,您可以拥有另一个以应用程序名称为主要维度的二级索引表,因此您也可以通过“[appname]-[timestamp]”查询数据。

建议:如果您有足够的存储空间,则无需将行键写入索引,而是直接写入整个数据本身,这样就可以避免执行multiget。

关于hadoop - Hbase行键过滤器,范围扫描和cassandra功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com