当前位置: 首页 > 知识库问答 >
问题:

在HBase中使用单行

松鸣
2023-03-14

我正在通过Java API使用HBase来管理一个URL和参数列表,这些URL和参数等待一个带有多个线程的刮刀进行分析。程序还不断地向表中添加新行。

我需要连续地从表中读取一行并且只读取一行,然后原子地删除它(一行不能同时被两个线程读取),而不需要选择一行而不是另一行的条件。

Scan s = new Scan();
ss = t.getScanner(s);
for(Result r:ss){
  String ris=Bytes.toString(r.getRow())+Bytes.toString(r.getValue(Bytes.toBytes("TTL"),Bytes.toBytes("value")));
  //delete the retrieved row
  t.delete(new Delete(r.getRow()));
  ss.close();
  //return at the first iteration, after closing the Scanner
  return ris;
}

编辑:我忘了提到表有一个具有单个列的单个列族

共有1个答案

樊飞飙
2023-03-14

你可以尝试使用带过滤器的扫描。 ,我认为PageFilter适合你的目的。

 类似资料:
  • 我有Spring Boot Hadoop,想要利用Spring HbasTemboard。我的问题是留档只有关于配置和设置的“xml”方式的信息。 与官方文档中显示的xml不同,我如何以及在何处将配置定义为java中的hbase配置? http://docs.spring.io/spring-hadoop/docs/1.0.1.RC1/reference/html/hbase.html

  • 本章讨论使用 JUnit,Mockito,MRUnit 和 HBaseTestingUtility 对 HBase 应用程序进行单元测试。大部分信息来自关于测试 HBase 应用程序的社区博客文章。有关 HBase 本身的单元测试的信息,请参阅 hbase.tests 。 175. JUnit HBase 使用 JUnit 进行单元测试 此示例将单元测试添加到以下示例类: public class

  • INFO:org.apache.hadoop.hbase.zookeeper.recoverablezookeeper-此进程的标识符为8916@windows-8kv8o4b INFO:org.apache.zookeeper.Client.zookeepersaslClient-Client不会进行SASL身份验证,因为找不到缺省的JAAS配置节“Client”。如果您没有使用SASL,您可以

  • null 这是使用Phoenix从HBase删除模式的Java代码:

  • 1、HBase版本hbase-0.20.5,Hadoop的版本hadoop-0.20.2,JDK1.6 2、如果想通过MR对hbase进行一些操作,首先是需要做一些配置内容的,配置的流程如下: a、默认安装完成了hadoop和hbase b、首先引入环境变量(修改/etc/profile文件,在文件末尾追加下面内容): # set java environment export JAVA_HOME