hadoop - 在HBase中进行扫描和过滤

标签 hadoop mapreduce cloud hbase distributed-computing

我是HBase的新手。请告诉我如何使用“扫描和过滤器”从HBase(示例代码片段)查询数据。搜索了很多。但是感到困惑。请帮助。谢谢。

最佳答案

在这方面寻求帮助并不难。搜寻如何使用hbase过滤器肯定会给您很多很好的链接。例如,请参见 this this

对于使用过滤器的AFA,首先需要创建一个扫描对象,然后创建一个过滤器实例,将过滤器添加到此扫描对象,并使用 HTable 实例调用 getScanner()扫描对象作为其参数。 例如,我有一个表,其中包含一些与用户有关的数据,而行键是userID。现在,我想获取有关所有用户ID以 abc 开头的所有用户的所有信息。在这种情况下,我可以通过传递 abc 作为参数来使用 PrefixFilter 。这将返回所有行键以 abc 开头的行。像这样的东西:

public static void main(String[] args) throws IOException {

    Configuration conf = HBaseConfiguration.create();
    HTable table = new HTable(conf, TABLE_NAME);
    String userID = "abc";

    //Get the data
    Scan s = new Scan();
    Filter filter = new PrefixFilter(Bytes.toBytes("abc"));
    s.setFilter(filter);
    ResultScanner rs = table.getScanner(s);
    for(Result r : rs){
        System.out.println("VALUE : " + Bytes.toString(r.getValue(Bytes.toBytes("cf"), Bytes.toBytes("c1"))));
    }
    rs.close();
    table.close();
}

结果 API提供了许多方法,您可以根据需要使用它们,例如 getRow(),getColumn()等。您可以查看 API 以获取更多信息。我还建议您获得 Lars George HBase权威指南的副本。这是一本很棒的书,其中包含学习HBase所需的一切。有关过滤器,请参见第4章

高温超导

关于hadoop - 在HBase中进行扫描和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18693165/

相关文章:

hadoop - 大小为零的输出文件

json - 使用 ARM 模板和 JSON 在 Azure 中创建 VM 时出现 "DiskImageNotReady"错误

database-design - LAMP 托管在 AWS 云上——要重写哪些 PHP 代码?

hadoop - HiveQL 查询没有返回结果,也没有错误

mysql - Hive:计算字符串子字符串中的非零字符

hadoop - Hadoop理论对初学者的良好资源

azure - 了解 Azure PaaS 指标

hadoop - 使用Flume将文件从本地文件系统复制到HDFS

java - 在mapreduce程序中未调用reducer

Hadoop哪个节点会将输入数据分割到多个 block ?