`
小网客
  • 浏览: 1247402 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hbase获取前几条记录

 
阅读更多

Hbase中hbse shell操作如下:

scan 'Test',{LIMIT=>10}

在java的api中可以通过过滤器来实现操,作如下:

Configuration HBASE_CONFIG = new Configuration();
HBASE_CONFIG.set("hbase.zookeeper.quorum", "XX.XX.XX.XX");
HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181");
hbaseConfig = new HBaseConfiguration(HBASE_CONFIG);
HBaseAdmin hAdmin = new HBaseAdmin(hbaseConfig);
System.out.println(hAdmin.tableExists(TABLE));
HTable table = new HTable(hbaseConfig, TABLE);
Scan scan = new Scan();
scan.setCaching(1);
Filter filter = new PageFilter(20); // 
scan.setFilter(filter);
ResultScanner scanner = table.getScanner(scan);// 执行扫描查找 
int num = 0;
Iterator<Result> res = scanner.iterator();// 返回查询遍历器
	while (res.hasNext()) {
		Result result = res.next();
		num++;
		System.out.println("key:" + new String(result.getRow()));
	}
}

 获取了前20条记录

1
3
分享到:
评论
3 楼 xchd 2013-07-19  
scan.setCaching(20);    
Filter filter = new PageFilter(20); 



Filter filter = new PageFilter(20); 
scan.setCaching(20);    

结果是一样的吗?
如果我把scan.setCaching(20); 设置为2000会不会造成影响
谢谢
2 楼 小网客 2013-04-01  
greatwqs 写道
scan.setCaching(20);  
Filter filter = new PageFilter(20);

既然是获取20条数据, 那么就一次从HBase服务器取20条回来; 不20次去取, 每次取一条;
  /**
   * Set the number of rows for caching that will be passed to scanners.
   * If not set, the default setting from {@link HTable#getScannerCaching()} will apply.
   * Higher caching values will enable faster scanners but will use more memory.
   * @param caching the number of rows for caching
   */
  public void setCaching(int caching) {
    this.caching = caching;
  }

嗯 是的 这个code只是个demo
1 楼 greatwqs 2013-03-31  
scan.setCaching(20);  
Filter filter = new PageFilter(20);

既然是获取20条数据, 那么就一次从HBase服务器取20条回来; 不20次去取, 每次取一条;
  /**
   * Set the number of rows for caching that will be passed to scanners.
   * If not set, the default setting from {@link HTable#getScannerCaching()} will apply.
   * Higher caching values will enable faster scanners but will use more memory.
   * @param caching the number of rows for caching
   */
  public void setCaching(int caching) {
    this.caching = caching;
  }

相关推荐

    HBase shell的基本用法

    本文详细介绍了 HBase Shell 的基本用法,包括创建表、插入数据、查询数据和扫描数据等几个方面。通过这些基本操作,可以有效地管理和操作 HBase 中的数据。掌握这些命令对于高效地使用 HBase 非常关键。希望本文能...

    hbase指南 英文

    传统的数据库通常采用面向行的存储方式,这意味着每条记录的所有字段都存储在一起。而 HBase 采用的是面向列的存储方式,这种方式将具有相同属性的数据存储在一起。这种存储方式非常适合大数据场景下的高效查询操作...

    Hadoop之Hbase从入门到精通

    HBase采用了独特的数据模型设计,主要包括以下几个方面: 1. **Table & Column Family**:HBase中的表由一系列行键(Row Key)、列簇(Column Family)和版本号(Timestamp)组成。列簇是表的逻辑分区,每个列簇...

    Hbase调用JavaAPI实现批量导入操作

    `put`方法用于插入单条记录,而`batch`方法则可以处理多条记录,提高了效率。批量操作将所有待写入的数据先放入内存,然后一次性提交到HBase,减少了网络传输和磁盘I/O。 4. **预处理数据**: 在批量导入前,通常...

    hbase入门到精通

    2. **Row Key**(行键):每条记录的唯一标识符,决定了数据的物理存储顺序。 3. **Column Family**(列族):逻辑上将相关的列分组在一起。 4. **Column**(列):存储具体的数据值。 5. **Timestamp**(时间戳):...

    hbase入门到精通.txt

    - **时间戳**:每条记录都有一个时间戳,这使得HBase能够存储和检索历史版本的数据。 ### HBase操作 HBase支持以下几种基本操作: - **插入数据**:使用put命令向HBase表中插入数据。 - **查询数据**:使用get...

    HBaseClientDemo

    4. `Put` 和 `Get`: 这两个类是操作单条记录的主要工具。`Put`用于写入数据,你可以通过`Put.add()`添加列值;`Get`用于读取数据,可以指定特定的行键、列族、列和时间戳。 5. `Result` 和 `Scan`: `Result`是读取...

    HBase分布式二级索引通用方案研究.pdf

    当进行反向多条件组合查询时,SolrCloud先查询包含行键和索引列的文档,然后以行键为条件在文档中查询并获取HBase记录。这一过程的设计使得查询更为高效,并确保了查询结果的准确性。 文章指出,部署这一通用方案后...

    MapReduce实例

    在这个实例中,Map函数可能解析Hbase中的每一条记录,提取关键信息,如数据字段,而Reduce函数则进行数据统计,例如计算总数、平均值或最大最小值等。 处理后的数据需要存储到**MySQL** 数据库中。MySQL是一个关系...

    1.docx

    Scan用于扫描整个表或表的一部分,而Get则是基于RowKey精确获取一条记录。在实际操作中,通常会根据实际情况选择合适的方法来提高查询效率。 综上所述,通过上述步骤的学习与实践,可以很好地掌握使用Java进行HBase...

    大数据综合案例-网站日志分析

    计算公式:①统计一天内只出现一条记录的 ip,称为跳出数;②跳出数/PV。 5. 板块热度排行榜:版块的访问情况排行。计算公式:按访问次数统计排序。 开发步骤 1. 需要用到的技术:Linux Shell 编程、HDFS、...

    LevelDB SSTable格式详解

    MetaIndexBlock为每个MetaBlock保存一条记录,DataIndexBlock为每个DataBlock保存一条记录。这种索引机制简化了数据的检索过程,可以根据Key值快速找到对应的BlockHandle,从而定位到具体的Block。 4. SSTable的...

    大数据平台架构——FreeWheel OLAP实践 共29页.pdf

    1. **数据规模庞大**:每天产生的记录超过10亿条,每日的日志数据量超过3TB。 2. **跨数据中心部署**:数据分布在不同的数据中心之间。 3. **多样化数据应用**:报表统计、业务流量追踪、实时分析查询等多种应用场景...

    大数据项目之用户上网行为分析.zip

    1. 数据采集:使用各种工具如日志服务器、网络爬虫、API接口等收集用户在互联网上的行为数据,如点击流、搜索记录、浏览历史等。 2. 数据预处理:清洗数据,处理缺失值、异常值和重复值,确保数据质量。 3. 数据存储...

    电商平台客流统计系统.zip

    在项目文件"project"中,我们可以预见到包含以下几个关键组成部分: 1. 数据收集:系统首先需要收集各种数据,包括用户浏览记录、点击行为、搜索关键词、购物车添加和购买历史等。这通常通过埋点技术实现,即在网站...

    aida 运用postgresql进行数据统计

    根据aida平台的实际应用情况,单台标配设备的日活跃用户可达300万以上,日处理记录超过6000万条,展示了PostgreSQL在大规模数据处理方面的强大能力。 #### 八、aida平台服务模式 - **公有云服务**:为客户提供一站...

Global site tag (gtag.js) - Google Analytics