HBase有写入数据,页面端显示无数据量

写了一个测试类,插入几条数据,测试HBase的数据量。很简单的功能,这就出现问题了。。网页端可以看到,能够看到读写请求,但是不管是内存、还是磁盘,都没有数据。

于是就想到去HDFS查看,也是有数据存在的。

那么有没有可能是因为数据量太小了没有显示呢?我又多追加了几条,等待了一会儿现在的数据量到了6k条。

再去看看HBase页面怎么样了?我们可以看到缓存中存在数据了。。。

为什么缓存中存在数据,shell 中也能查询到,为什么没有落到内存中呢?

思路1:

在HDFS(Hadoop分布式文件系统)中,有一个重要的参数控制着内存达到多大时开始将数据写入磁盘,该参数为hbase.hregion.memstore.flush.size所以可能是文件太小,没有触发阈值。这意味着,当一个 Region 中的 MemStore 数据达到 128MB 时,将触发 Flush 操作,将 MemStore 数据刷新到磁盘的 HFile 文件中。

于是我决定在pom中修改试试。默认为 64M,将其改为1M,再追加几条try一try呢?

复制代码
<properties>
    <hbase.hregion.memstore.flush.size>128m</hbase.hregion.memstore.flush.size>
    <!-- 其他的属性配置 -->
</properties>

思路2:

将内存中的数据刷写到文件中。

复制代码
hbase(main):006:0> flush 'rmc:rmc_test'
Took 3.8114 seconds  

总结:

在往 HBase 中插入数据的时候,由于每插入一条数据都需要new 一个put对象,所以使用list来装在put,一个cell是一个put速度上会快很多。对此,我们可以采用批量插入。

在 HBase 的 Java 客户端中,有一些工具类可用于批量插入数据。以下是其中几个常用的工具类:

  • HTable:

兼容性:适用于 HBase 1.x 版本

使用方法:通过创建 HTable 对象,并调用 put(List<Put> puts) 方法来进行批量插入数据。需要手动创建 Put 对象,并将多个 Put 对象添加到列表中进行插入。

  • BufferedMutator:

兼容性:适用于 HBase 1.x 版本

使用方法:通过获取 BufferedMutator 对象,并调用 mutator.mutate(List<Mutation> mutations) 方法来进行批量插入数据。可以使用 Put 类型的对象列表作为 mutations 参数进行插入。BufferedMutator 提供了自动管理缓冲区和写入操作的功能,可以提高插入数据的性能。

  • Table:

兼容性:适用于 HBase 2.x 版本

使用方法:T通过创建 Table 对象,并调用 put(List<Put> puts) 方法来进行批量插入数据。与 HTable 类似,需要手动创建 Put 对象,并将多个 Put 对象添加到列表中进行插入。

其中,BufferedMutator 在 HBase 1.x 版本中提供了自动管理缓冲区的功能,能够提高插入的性能。同时,使用 BufferedMutator 或 Table 类的优势在于它们能够自动管理资源、提供更好的性能和错误处理机制。

相关推荐
yumgpkpm3 小时前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
1***s6321 天前
MySQLGraphQL案例
django·hbase·图形洹染
2501_941147713 天前
人工智能与自动化:未来工作环境的颠覆性力量
hbase
阳爱铭6 天前
ClickHouse 中至关重要的两类复制表引擎——ReplicatedMergeTree和 ReplicatedReplacingMergeTree
大数据·hive·hadoop·sql·clickhouse·spark·hbase
人间打气筒(Ada)11 天前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
張萠飛12 天前
Phoenix+Hbase和Doris两个方案如何选择,能不能拿Doris完全替代Phoenix+Hbase?有什么难点?
大数据·数据库·hbase
麦嘟学编程12 天前
快速配置 HBase 完全分布式(依赖已部署的 Hadoop+ZooKeeper)
hadoop·分布式·hbase
yumgpkpm13 天前
CMP(类Cloudera CDP 7.3 404版华为Kunpeng)与其他大数据平台对比
大数据·hive·hadoop·elasticsearch·kafka·hbase·cloudera
yumgpkpm13 天前
Hadoop在AI时代如何实现生态协同? CMP 7.13(或类 Cloudera CDP7.3 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)
大数据·hadoop·elasticsearch·zookeeper·kafka·hbase·cloudera
pale_moonlight14 天前
五、Hbase基于环境搭建
linux·数据库·hbase