输出多行的HBase映射器

我有一个映射器,我想在HBase(0.90.4;Hadoop 0.20)中运行,它将在不同的HBase表中为每个输入行生成多个(1000-10000)新行数据 我从一个TableMapper开始,我假设在map函数中,我会调用context.write(someSingleOutputRowPut)1000次,将数据推送到输出表中 如果我有一个只读映射器,并用一批put列表手动写入我的输出表,会更好吗?或者我应该将映射器的输出类型更改为List吗?还是可以称之为上下文。写很多次这样的话 编辑:开

使用HBase进行行分页

有没有基于行键在HBase中进行分页的方法 我希望与使用SELECT*FROM table LIMIT 10 OFFSET 10的SQL中的效果相同 如果这是不可能的,我应该如何最好地设计我的行键以进行适当的查询?您可以使用页面过滤器来实现这一点。创建PageFilter实例时,指定一个pageSize参数,该参数控制每页应返回多少行 过滤器过滤器=新的页面过滤器(10) 如果您希望通过HBase shell执行此操作,您可以在扫描查询中使用LIMIT: 扫描'table',LIMIT=>10使

hdfs上的Hbase表大小为实际输入文件的X 4

我是这个论坛和hdfs/hbase的新手 我已经在hdfs上的hbase中创建了一个表。加载的文件在windows磁盘上有1000万条记录,大小为1GB。在hdfs上加载文件时,hdfs中的表大小为:- root@narmada:~/agni/hdfs/hadoop-1.1.2# ./bin/hadoop fs -dus /hbase/hdfs_10M hdfs://192.168.5.58:54310/hbase/hdfs_10M 4143809619 有人能帮你缩小尺寸吗 表格

hbase 2.0的当前状态如何?

我在官方网站上看到了,但文档参考了0.94(从网站菜单)。它是否可以使用?文档也参考了2.0.0-snapshot-(这是指向0.94文档的链接)。两者的原因都是HBase 1.0问世时发生了重大变化。无论如何,最新版本(截至2015年7月)仍然是1.1.1版本(6月29日)。您可以在此处看到这些版本: 一般来说,在Java项目中,惯例是快照发布不是最终的谢谢,但是他们计划什么时候发布2.0版本?要查看hbase发布计划,您应该遵循hbase开发人员邮件列表

Hbase 无法在Phoenix视图中查看列

我在HBase中有一个tweet表,请在下面找到它使用HBase descripe tweet的描述 {NAME => 'tweets', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICAT ION_SCOPE => '0', COMPRESSION => 'GZ', VERSIONS => '1', TTL => 'FOREVER', MIN_VE RSIONS => '0'

预列名后拆分HBase表

我使用的是HBase 0.94.6群集,我有一个包含100个区域(预拆分)的表,现在我可以进一步拆分该表吗?我可以手动将表拆分为1000个区域吗?您可以使用HBase“split”命令对表进行强制拆分。但是,似乎没有办法指定要分割成的区域数 以下是来自HBase的信息: split Split entire table or pass a region to split individual region. With the second parameter, you can specify

在ApacheHBase中是否有一种方法可以重新平衡单个表的区域。

我有一个包含12个表的3节点Hbase集群。但其中一个表的区域位于同一RegionServer中。因此,该表以及最终的RegionServer将被加载,因为它是读密集型表。我正在寻找一种方法来重新平衡单个表的区域。我知道Hbase默认情况下会进行平衡,但这是基于区域总数,而不是特定表的区域数 此外,如果不是这样的话,可以采取哪些其他策略来实现这一目标。这将是一个很大的帮助 谢谢 HBase平衡器不起作用,但当我运行HDFS平衡器时,事情就形成了,区域也得到了平衡。奇怪,这里的更新太少了。没有直接

Hbase 运行inject时Nutch 2.3.1挂起

Nutch 2.3.1在运行inject命令时挂起 ./nutch inject seed/ InjectorJob: starting at 2016-10-04 11:03:52 InjectorJob: Injecting urlDir: seed 在此之后不会发生任何事情&日志中没有异常。请建议让它工作

使用Hbase扫描时发生运行时异常

代码: 过滤器过滤器=新的行过滤器(CompareFilter.CompareOp.EQUAL,新 子串比较器(args[1]) 扫描=新扫描() scan.setFilter(filter) ResultScanner res=table.getScanner(扫描) 对于(结果r:res)//第49行 {…} 我运行这个jar,然后得到以下异常消息: > Exception in thread "main" java.lang.RuntimeExceptio

如何使用HBase外壳计算一个单元格中的版本?

如果我为HBase列系列f1设置了100版本 我将一些数据(不知道有多少)放入同一行键(例如:r1)和同一单元格f1:c1 现在,我想知道我在r1,f1:c1中输入了多少数据,我想使用HBase Shell来计算r1,f1:c1单元格中当前的版本数

在HBase中获取特定版本的行

我有一个HBase表,它有两个版本。如何获取特定版本的行 create 'mytable', {NAME=>'cf1',VERSIONS=>2} put 'mytable', 'row1', 'cf1:lang','english', {VERSIONS=>1} //version 1 value put 'mytable', 'row1', 'cf1:lang', 'spanish', {VERSIONS=>2} //version 2 value get 'my

HBASE-如何应用';比如';在HBASE中使用SingleColumnValueFilter进行筛选操作?

我在HBASE表中有一列,其每个单元格包含多个值(更准确地说是复合值),如下所示: 单元格中的样本值: '2018-10-15=33|2018-10-16=56' 它基本上是键-值对的集合,键作为日期,值作为计数。键值对由管道字符分隔 我希望在此HBASE表上运行扫描(最好使用SingleColumnValueFilter),以查找上面给定列的单元格具有任何特定日期(如2018-10-15)的所有行。请注意,该列不是行键 为了更清楚地说明我的要求,SQL中的类似操作如下所示: WHERE CO

HBase筛选器:ColumnPrefixFIlter和SingleColumnValueFilter

我有一张HBase表,伙计。我使用ColumnPrefixFilter和SingleColumnValueFilter从HBase表中获取详细信息 假设我有如下条目- ROW_KEY COLUMN+CELL p1 column='attr:id',value=p1_03 p1 column='details:name_1',value=xyz p2 column='attr:id',value=p2_04 p2 co

HBase协处理器可以扫描整个表吗?

我使用的是HBase 1.0.1,以下是协处理器服务的两种方法签名: <T extends Service, R> void coprocessorService(final Class<T> service, byte[] startKey, byte[] endKey, final Batch.Call<T,R> callable, final Batch.Callback<R> callback) throws Servi

Hbase Geomesa BBOX查询未返回所有结果

我在玩Geomesa(使用HBase)对OSM节点数据的BBOX查询。我发现对于特定区域,geomesa没有返回边界框中的所有节点 例如,我触发了3个查询: BBOX(-122.0,47.4,-122.01,47.5)-输出具有5477个独特功能 BBOX(-122.0,47.5,-122.01,47.6)-输出具有9879个独特功能 BBOX(-122.0,47.4,-122.01,47.6)-输出具有13374个独特功能 查看这些边界框,我认为查询1+查询2的特征应该等于查询3。但实际上,它

HBase WAL复制—是否支持从使用HBase 1.1.2的群集到使用HBase 2.0.2的群集的WAL复制?

是否支持从使用HBase 1.1.2的群集复制到使用HBase 2.0.2的群集?尝试了在两个集群中创建下表的简单测试 create 'repl_test', { NAME => 'cf1', REPLICATION_SCOPE => '1'} 当发出enable\u table\u replication'repl\u test'以启用复制时,收到以下错误消息,这似乎不正确,因为我在两个集群中使用了与上面提到的创建表完全相同的create语句 错误:对等群集1中存在表repl_t

是否在不检索数据的情况下获取范围内的HBase行键?

是否有一种方法可以检索给定范围内的行键,而不实际检索与该行键关联的列/cf 澄清一下:在我的示例中,我们的表的行键是股票代码名称(例如GOOG),在我们的web应用程序中,我们希望仅使用数据库中的行键来填充自动完成小部件。显然,如果我们在用户键入“G”时检索G和H之间所有股票的所有数据(而不是股票名称),我们将不必要地使系统紧张。有什么想法吗?您可以使用addFamily(byte[]family)或addFamily(byte[]family,byte[]qualifier)仅检索相关数据一种

Hbase/Hive与主要RDBMS的距离有多近?

我在Hbase中寻找一个无模式的用户操作存储(“用户x查看y”,“用户x从z页查看y”) HBase似乎是一个不错的选择,因为它 以无模式格式存储数据,以及 可以支持像RDBMS这样的复杂查询 是的,性能方面的考虑会在后面 问题1:如果我使用HBase,我会错过RDBMS的哪些功能 如果我使用RDBMS,我会使用诸如SUM、WHERE、groupby、ORDER、BETWEEN、comparations和(内部)连接等特性;和高达2NF的标准化。没有比这更复杂的了 问题2:除了查询之外,还有

获取HBase区域指标的API

我想获取特定区域服务器上所有区域的区域度量。特别是,我在寻找ReadRequestScont和WriterRequestScont。我在region server web界面中看到了这些值,但我无法找到对这些值的API访问。请查看该类。它同时提供和方法。看看这个类。它提供了两种方法。我在Scala中的解决方案的关键是: val config = new Configuration() config.set("hbase.zookeeper.quorum", /* put your own ent

Phoenix对hbase数据的查询超时异常

我在hbase中有一个表(比如T1),我在该表上运行了T1中的select count(*),其中包含 超过6000万行。但它给出了以下超时异常错误。我不能更改Phoenix的超时参数吗 com.salesforce.phoenix.exception.PhoenixIOException: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout

带时间范围的HBase表扫描能否避免全表扫描?

HBase表上的扫描操作可以与时间范围一起完成。(参考文献:,长) 与没有时间范围的扫描相比,这种部分扫描是否会带来更好的性能 使用时间范围完成的HBase扫描能否避免全表扫描?HBase性能 Fastest: Rowkey based Scans Fast: Column Family based Scans Normal: Time Stamp based Scans Slowest: Value Scans 总的来说我认为不提理由就否决一个问题不是一个好主意。真是太残酷了!什么的部分扫描

hbasetestinguility是否在小型集群中工作?

我有一个简单的单元测试,我想针对HBaseTestingUtilityMiniCluster运行。缺少使用hbasetestinguility运行测试所需的可传递依赖项。我一直在跟踪NoClassDefFoundErrors,并在其中一个jar文件的打包过程中遇到了一些错误。以下是错误: java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/test/MetricAssertHelper 位于org.apache.hadoop.hbase.

Hbase 清管器动态参数

我试图从hbase表中读取值,并将该值标记为参数 rawConfig = LOAD 'hbase://mytable.config' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage( 'm:config', '-gte myTsFlag -lte myTsFlag}' ) as ( tsConfig:chararray ); rawCache = F

elasticsearch Cloudera 5.4.7(HBase 1.0.0)上的HBase着色客户端1.1.x

我在尝试创建一个基于Java的客户端时遇到了问题,该客户端用于从Cloudera HBase 1.0.0(CDH 5.4.7)和ElasticSearch 2.1.0查询数据。问题是关于guava库的依赖冲突 这个bug描述的问题与我遇到的几乎相同: 至少在我的例子中,使用较低版本的guava(从中断发生的位置来看低于17.0)是不可能的,因为这将导致ElasticSearchJava搜索API失败。现在我正在尝试Apache HBase Shaded Client 1.1.2(我想它是为HB

HBASE单个时间戳、时间序列数据的多个值

我想用一个时间戳保存多个x、y、z对 我在10秒内测量了10.000对,但在测量开始时只有一个时间戳。 现在,我希望能够查询特定时间的测量值,并访问Hbase中的x、y、z对。 我总是需要访问带有x、y或z的列 这怎么可能,我需要多次使用时间戳吗?或者我应该只为每对加0001秒,并为每对x,y,z保存时间戳+0.001?!(1秒1000对,1秒0001对)您可以在put语句中指定时间戳,但我不确定这是处理timeseries数据的最佳方法。这完全取决于您希望如何访问数据。对于特定的时间戳,您需要

Hbase OpenTSDB丢失了一些数据

我在谷歌云平台GKE工作, 现在就用库伯内特斯。 我正试图通过google Bigtable使用OpenTSDB,现在是QA时间 但是,当我只是放置一些数据时,它显示了一些意想不到的错误,但是,它没有显示。即使很长时间过去了,它也不再显示了 我使用了此图像和教程(版本和环境相同) 这是我的步骤 1) 使用http POST请求api放置数据 ex)http://localhost:4242/api/put?details=true with Json object { "metrics"

HBase是否支持嵌套事务(或类似的事务)?

我希望运行修改数据的测试,断言所做的更改是正确的,然后回滚更改。在典型的数据库术语中,这将被称为启动事务,然后将其回滚 我受到MySql的限制,因为应用程序代码使用事务,所以测试无法进一步封装应用程序在事务中的更改 如果我切换到HBase(我有其他原因需要考虑,例如规模),我可以这样做吗?这是一个不确定用谷歌搜索什么的例子。首先,很少有数据库支持真正的嵌套事务。然而,MySQL和Postgres都支持保存点,它可以用来完成您想要做的事情。如果您使用的是类似ORM的rails;它应该已经能够处理这

无法在hbase中查询正确的记录use rowkey

我有一个Hbase表,包含大约8000000条记录。行键格式为customerno_yyyyymm或customerno_yyyyy,例如b2d545316e39414da42961d414d6b5fe_201901和b2d545316e39414da42961d414d6b5fe_201910,customerno的长度为32 现在我遇到了一个问题:当我使用rowkeyb2d545316e39414da42961d414d6b5fe_201910查询数据时,我得到了一条rowkey为b2d54

带时间戳的HBase Put不起作用

我编写了一个简单的测试程序来插入一行。与普通HBase Put示例程序的唯一不同之处在于,Put实例及其KeyValue实例是使用时间戳创建的 预期的行为是插入一行。但是,在我的HBase环境中,没有插入任何行 下面是我的测试程序 import java.io.*; import java.util.*; import org.apache.hadoop.conf.*; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbas

重用放入HBase客户端?

将新行放入HBase时,需要创建一个新的put实例,并调用add(byte[]系列,byte[]限定符,long ts,byte[]值)来添加数据,这将创建一个KeyValue实例。如果有大量put操作,将创建大量的put和KeyValue。它经常触发GC 有没有办法重复使用Put和KeyValue?如果是这样,我可以使用ObjectPool来稳定内存使用,而不是分配很快就会被GCed的内存

Hbase命令不工作

我是Hbase的新手。我已经安装了它,在运行hbase命令时出现以下错误: SLF4J:类路径包含多个SLF4J绑定 SLF4J:在[jar:file:/home/hduser/hbase-0.98.5-hadoop2/lib/SLF4J-log4j12-1.6.4.jar!/org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定 SLF4J:在[jar:file:/home/hduser/hadoop/lib/SLF4J-log4j12-1.4.3.jar!

YCSB HBase在哪里存储数据?我如何访问数据?

我正在尝试使用测试对HBase进行基准测试。我为hbase运行了它。当我转到hbase shell并检查表的列表时,我看不到创建了任何新表。那么,YCSB在哪里创建表以及如何查看表的内容呢?YCSB不创建表。客户端需要在运行YCSB之前创建表 请参考链接。为了尝试帮助您找到答案,我已更改了您问题的标题,以便读者能够准确地说出您想知道的内容。像“HBase如何工作”这样的一般性问题听起来过于宽泛,难以回答,但您想知道的是我希望该领域的其他人都知道的。我希望这能帮助你找到答案!谢谢@glenatro

HBase协处理器是否跨表提供原子性?

我正在试验HBase协处理器来创建辅助索引。它似乎起作用了。我想知道这种方法是否提供了某种程度的原子性 下面是一些示例代码。它观察将放在表A上,并在表B中创建一个倒排索引: public class MyObserver extends BaseRegionObserver {

将大型(200 GB)Hbase表加载到RDD中,而无需进行Hbase扫描

我希望将一个大的(200 GB)Hbase表加载到RDD中,而无需进行Hbase扫描,即直接将HFiles读取到RDD中 如果您可以共享任何示例/示例代码(或指向示例网页的链接),这些示例/示例代码显示了HFileInputformat的使用,就像我发现的那些指向HFileInputformat源代码的示例/示例代码一样,那将非常棒 不确定这里提到的2012/2013年的危险是否仍然适用-我在.94中发现了这一点 但危险依然存在。如果同时发生压缩或区域分割,将影响您的结果。感谢ozhang的指点

为什么Hbase会过滤并导致巨大的性能下降?

为什么Hbase外壳会过滤并导致性能大幅下降 扫描“表”{FILTER=>“PrefixFilter('192.168.120.1')” 0.8840秒内完成160行 扫描'table',{FILTER=>“PrefixFilter('192.168.120.1')和columnProfixfilter('SSL')”} 196.0920秒内第101排 扫描在整个桌子上进行。过滤器对扫描的数据起作用。所以你做了两次扫描。使用多个过滤器可以增加响应时间。应仔细执行行键设计,以获得在整个表上频繁扫

Hbase区域服务器中的异常

我不断看到这些日志打印在hbase区域服务器日志中。 10.0.5.133是hbase java客户端所在的机器 它不断地断开和连接。为什么会这样? 客户端库/服务器版本是否不匹配?还有其他原因吗?我试图用谷歌搜索这个,但找不到任何有用的链接 2015-12-25 20:24:03,210 DEBUG [RpcServer.reader=9,port=60020] ipc.RpcServer: RpcServer.listener,port=60020: DISCONNECTING client

Hbase 更改列族的编号无效

我在HBase中有一个名为“emp”的表。然后我使用下面的命令来更改列族的版本号,但它似乎不起作用,我使用scan命令时只能看到一个版本: hbase(main):040:0> alter 'emp', {NAME=>'personal data',VERSIONS=>5} Updating all regions with the new schema... 0/1 regions updated. 1/1 regions updated. Done. 0 row(s) in

在HBase上使用Janusgraph时的一致性

我在Janusgraph文档中提到: 此页总结了在Ajache Casdand或 Apache HBase < /P>的最后一致的存储后端上运行JANSGRUX时需要考虑的一些方面。 但据我所知,HBase在行级别上是非常一致的。这是否与涉及多行时HBase不强一致这一事实有关,这是一种我不知道的配置HBase的方法 谢谢,以下是janusgraph用户邮件列表的答案: HBase具有很强的一致性(与最终一致性相比) 我同意这一章令人困惑。它说的是因为 后端缺少多行事务一致性(对于Cassand

Hbase 具有集合字段的记录的Bigtable行键设计

我需要提高从Bigtable获取数据的服务的性能,并且考虑到所涉及的访问模式和数据,我认为行键设计主要是问题所在。我还需要另一种服务的性能,这种服务将数据推入以保持一致性(或改进) 这里有一个例子(请耐心听我说)。我每天收到成批发送的数百万条记录。假设它的全球宠物主人信息每天更新,每个记录都有以下格式: 名字 姓氏 地址 家庭式 宠物 例如: 彼得 谢尔曼 悉尼沃勒比路42号 公寓 [猫、狗、鱼、鸟、袋鼠] 目前,指向服务的查询类型有(按频率/重要性顺序): 在第32天,给我所有养鸟但不

Hbase Nutch更新的B错误区域异常

我运行generate fetch parse,更新后我得到了这个异常 2014-01-23 13:40:56,905 ERROR store.HBaseStore - Failed 747 actions: WrongRegionException: 747 times, servers with issues: server.eu:43556, 2014-01-23 13:40:56,905 ERROR store.HBaseStore - [Ljava.lang.StackTra

清理Titan base会导致超时异常(后端=Hbase)

我试图清理我的titan数据库并导致异常。 我猜我的数据库很大,它会超时,但是,我如何在titan中配置它呢。我使用Hbase作为存储后端。 这是我返回异常的代码; 泰坦版本:0.4.4 g.shutdown(); TitanCleanup.clear(g); Exception in thread "main" com.thinkaurelius.titan.core.TitanException: Unexpected exception during backend operation

.我的HBASE主机启动,但15秒后退出

我已在5节点群集中设置了Hbase,并在与namenode相同的系统中配置了hmaster。我的Hbase hmaster启动,但在15秒内退出。使区域服务器处于启动和运行状态。知道为什么会这样吗 我的HBASE版本是0.96,HADOOP版本是1.2.1你检查过日志了吗?我修复了它。我安装了一个不同版本的zoo keeper,认为这是一个兼容性问题。但之前的zookeeper已经创建了一个根目录。因此出现了版本冲突&结果是Hmaster辞职了。我删除了HDFS中的hbase默认目录&新启动了所

HBase-Scan.setBatch如何影响结果扫描';下一个迭代次数是多少?

假设我有: 具有一个列族CF的表 CF有10列[C1,…,C10] 表有两行['r1','r2']。每行完全填充(每行有10个单元格值) 现在我创建一个扫描,它将返回表中两行的所有单元格值 但是我将批处理设置为scan.setBatch(5)。我使用扫描成功地查询了表,并返回ResultScanner 现在,当我执行resultScanner.next()时,我将返回一个结果 我猜我必须调用next4次才能遍历所有单元格。是这样吗 迭代: 返回'r1',从'C1'到'C5'的值 返回'r1'

通过shell从hbase导出数据

我正在尝试使用Shell脚本将所有数据从HBase Shell导出到文本文件 我想查看hbase中的一个特定列,对发生的事务进行计数,并在shell脚本中打印该数字 我目前正在使用以下命令导出数据 echo "scan 'registration',{COLUMNS=>'registration:status'}" | hbase shell | grep "^ " > registration.txt 我想知道如何处理特定RowID中的所有列,并且只处理列的值 PS:我已经浏览了

为什么HBase Delete会恢复到以前的值,而不是完全删除它

假设我有一个名为signup\u date的列,其值为2019-09-09。然后我将此列更新为2019-11-11。所以注册日期现在是2019-11-11 之后,如果我删除signup\u date列,我希望它会在Hbase中消失,但它会保留在那里,并恢复到2019-09-09 这是hbase中的一个错误,删除的列会恢复到以前的值吗?是否在表中为列族指定了版本和最小版本?假设您将minu VERSIONS指定为3,那么每次覆盖现有数据时,它都将存储为另一个版本。因此,基本上,当您删除列时,它只是

  1    2   3   4   5   6  ... 下一页 最后一页 共 32 页