gpt4 book ai didi

performance - hbase 过滤器 - 它是否表现良好

转载 作者:行者123 更新时间:2023-12-04 18:12:39 26 4
gpt4 key购买 nike

在我的例子中,我们为初始查询集定义了行键,我们正在查询行键并单独保留列族和列。

例如。行键类似于:

%userid%_%timestamp%

我们正在做一些查询,比如
select columnFamily{A,B,C} from userid=blabla and blabla < timestamp < blabla 

性能相当不错,因为这就是 hbase 的用途 - 行键查找。

但是由于新要求的建立,我们将需要查询更多字段:列。喜欢:
select * from userid=blabla and blabla < timestamp < blabla and A=blabla and B=blabla and c=blabla

我们开始使用 hbase 过滤器。我们在其中一列上尝试了 EqualFilter - A,从功能的角度来看,它工作正常。

考虑到我们拥有的行键,我在这里有一个普遍的担忧,
  • 我们可以继续对所有列 A、B、C 添加过滤器以满足不同的查询需求吗? hbase 查询中添加的过滤器数量是否会降低读取性能?
  • 如果有的话,影响有多大?
  • 有人可以从性能角度向我解释我们应该如何使用最好的 hbase 过滤器吗?
  • 最佳答案

    1)我们是否可以继续对所有列 A、B、C 添加过滤器以满足不同的查询需求?做
    在 hbase 查询中添加的过滤器数量会降低读取性能?

    是的,你可以这样做。它会根据数据集的大小和您使用的过滤器影响性能。

    2)如果有的话,影响有多大?

    返回的数据越少越好。您不想获取不需要的数据。过滤器可帮助您仅返回您需要的数据。

    3) 有人可以从性能角度向我解释我们应该如何使用最好的 hbase 过滤器吗?

    最好使用过滤器,例如前缀过滤器、与特定值(或限定符、列等)完全匹配的过滤器,或者对数据进行大于/小于类型比较之类的操作。这些类型的过滤器不需要查看每行或表中的所有数据来返回正确的结果。避免使用正则表达式过滤器,因为必须对过滤器正在查看的每条数据执行正则表达式,这可能会对大型数据集造成负担。

    此外,HBase 一书的作者 Lars George 提到,人们更多地转向协处理器而不是过滤器。可能还想看看协处理器。

    关于performance - hbase 过滤器 - 它是否表现良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12304088/

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