HBase操作指南:命令汇总与DDL/DML实例

需积分: 10 1 下载量 20 浏览量 更新于2024-09-06 收藏 16KB DOCX 举报
HBase 是一个分布式、列式存储的 NoSQL 数据库,它在大数据处理和实时分析场景中发挥着重要作用。本文档详细记录了 HBase 的一系列操作命令,包括日常基础操作、数据定义语言(DDL)操作以及数据操纵语言(DML)操作,旨在帮助读者更好地理解和使用 HBase。 首先,我们来看看一些基本的HBase操作: 1. 查询服务器状态:通过 `hbase(main):024:0> status` 命令,可以检查HBase集群的服务器数量、活跃状态以及平均负载情况,这对于监控系统健康至关重要。 2. 查询Hive版本:HBase 与 Hive 有集成,通过 `hbase(main):025:0> version` 可以查看当前HBase的版本信息,这对于了解所使用的软件版本及其功能特性很有帮助。 接下来是DDL(数据定义语言)操作: - 创建表:使用 `hbase(main):011:0> create 'member', 'member_id', 'address', 'info'` 创建了一个名为 `member` 的表,包含 `member_id`, `address`, 和 `info` 三个列族。在创建表时,可以指定列族的配置,如版本数、压缩类型等。 - 查看表描述:通过 `list` 或 `describe 'member'` 命令,可以获取表的信息,包括表名、列族名称以及它们的配置,例如 BloomFilter(用于减少查询的磁盘读取)、replication scope、版本控制等。 - 删除列族:在HBase中,删除列族并非像其他数据库那样简单,因为HBase的主键通常是列族的一部分。如果想删除 `member_id` 列族,由于它是主键,必须先禁用表 (`disable 'member'`),然后才能执行删除操作。但在尝试操作时,会遇到错误提示,强调了表在修改前必须处于非活动状态。 DML(数据操纵语言)操作则涉及对表中的数据进行增删改查,但文档中没有提供具体例子。在实际操作中,DML可能包括插入新行、更新或删除指定行等命令。HBase的DML操作通常依赖于Row Key(行键)来定位数据,与传统关系型数据库不同。 这份文档为HBase的新手和进阶用户提供了实用的命令参考,有助于快速上手和管理HBase数据。通过理解和熟练掌握这些命令,用户可以在大数据处理环境中高效地操作HBase,实现数据的高效存储和查询。

org.apache.hadoop.hbase.DoNotRetryIOException: Unable to load configured region split policy 'org.apache.phoenix.schema.MetaDataSplitPolicy' for table 'SYSTEM.CATALOG' Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks at org.apache.hadoop.hbase.util.TableDescriptorChecker.warnOrThrowExceptionForFailure(TableDescriptorChecker.java:296) at org.apache.hadoop.hbase.util.TableDescriptorChecker.sanityCheck(TableDescriptorChecker.java:109) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2025) at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:657) at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318) org.apache.hadoop.hbase.DoNotRetryIOException: Unable to load configured region split policy 'org.apache.phoenix.schema.MetaDataSplitPolicy' for table 'SYSTEM.CATALOG' Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks at org.apache.hadoop.hbase.util.TableDescriptorChecker.warnOrThrowExceptionForFailure(TableDescriptorChecker.java:296) at org.apache.hadoop.hbase.util.TableDescriptorChecker.sanityCheck(TableDescriptorChecker.java:109) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2025) at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:657) at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338) at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

2023-07-14 上传

23/07/23 16:19:48 ERROR AsyncProcess: Failed to get region location org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:241) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:214) at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:364) at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:338) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:137) at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.util.ByteStringer at org.apache.hadoop.hbase.protobuf.RequestConverter.buildRegionSpecifier(RequestConverter.java:1041) at org.apache.hadoop.hbase.protobuf.RequestConverter.buildScanRequest(RequestConverter.java:492) at org.apache.hadoop.hbase.client.ClientSmallReversedScanner$SmallReversedScannerCallable.call(ClientSmallReversedScanner.java:291) at org.apache.hadoop.hbase.client.ClientSmallReversedScanner$SmallReversedScannerCallable.call(ClientSmallReversedScanner.java:276) at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:212) ... 7 more

2023-07-24 上传