🇨🇳
Site
  • 壹棵开花的树
  • 操作系统
    • Linux From Scratch
    • Linux
      • Linux内核
      • Untitled
      • Untitled
    • Winodws
      • 全家桶
  • 系统集成
    • Untitled
    • 系统集成
    • 机房建设
      • 服务器
      • Untitled
    • 弱电系统
    • 网络
      • 路由器
      • 交换机
      • 无线网络
      • 网络安全
      • TCP/IP
        • 1. 物理层
        • 2. 数据链路层
        • 3. 网络层
        • 4. 传输层
        • 5. 会话层
        • 6. 表示层
        • 7. 应用层
    • 数据中心
    • 信息安全
  • 网络
    • Untitled
    • Untitled
    • 协议
      • Untitled
      • Untitled
      • HTTP
  • DataBase
    • 关系型数据库
      • Access
      • MariaDB
      • MySQL
        • 数据库存储引擎
        • Untitled
        • MySQL Replication
        • 高可用架构
        • 数据库中间件
          • MyCAT
      • Oracle
      • PostgreSQL
      • SQL Server
    • NoSQL
      • Untitled
      • Untitled
      • Untitled
      • tu
      • lie
      • wendang
        • MongoDB
      • kv
        • Redis
    • 云数据库
  • 安全
    • Untitled
  • 消息队列
    • Untitled
    • ActiveMQ
      • Untitled
    • RabbitMQ
      • Untitled
    • RocketMQ
      • Untitled
    • Kafka
      • Untitled
  • 大数据
    • Untitled
      • 大数据概述
    • Hadoop 生态系统
      • Hadoop
        • HDFS常用Shell命令和基础开发
        • Untitled
        • Untitled
        • MapReduce
        • Yarn
        • Hadoop的优化与发展
      • ZooKeeper
        • Untitled
        • Untitled
        • Untitled
      • Hbase
        • HBase常用Shell命令和基础开发
      • Sqoop
      • Flume
      • Pig
      • Hive
      • Impala
      • Storm(流计算)
      • Pregel(图计算)
      • Loader
      • Flume
    • Spark生态系统
      • Untitled
    • Flink
    • BI
  • 云计算
    • 云计算
      • 技术栈
      • OpenStack
    • 虚拟化
      • 服务器虚拟化
        • Untitled
        • Proxmox VE
        • VMware
        • KVM
        • Hyper-V
        • H3C CAS
        • FusionCloud
        • FusionSphere
          • 安装
  • Cloud Native
    • DevOps
      • 版本控制
      • Untitled
      • Untitled
      • Untitled
      • CI/CD
        • Jenkins
    • Untitled
    • Microservices
      • Dubbo
      • Spring Cloud
        • 最佳实践
        • Untitled
    • Service Mesh
      • Istio
    • 容器
      • Untitled
      • Docker
        • Docker
        • Untitled
    • Kubernetes
  • 网站架构
    • Untitled
    • 集群
      • 负载均衡
      • HA
    • 关于
    • 一次完整的HTTP请求过程
    • 全文搜索引擎
      • Lucene
      • Solr
      • ElasticSearch
        • 安装配置
      • Untitled
    • HTTP Cache
    • 大型网站架构
    • 网站服务器
      • WEB服务器
        • Nginx
        • Apache
        • nginx
        • IIS
      • 应用服务器
        • Weblogic
        • Tomcat
        • Jboss
  • BlockChain
    • Untitled
  • 编程语言
    • 前端
    • Python
      • Tornado
      • Django
        • 最佳实践
        • Untitled
        • manage.py
    • Go
    • Java
      • Untitled
      • 关于Java
  • Test
    • 0. 测试
      • 软件测试
      • 测试分类
      • 测试模型
    • 1. 性能测试
      • 基础
    • 2. 接口测试
      • Untitled
      • 接口测试
      • Postman
    • 3. 自动化测试
      • Python测试驱动开发
      • Python测试框架
        • Unitest
          • 最佳实践
    • 4. 测试工具
      • Selenium
      • LoadRunner
      • JMeter
    • 5. 最佳实践
  • 开发与运维
    • 软件开发模式
    • 敏捷开发
  • 存储
    • Untitled
    • 分布式存储
      • Ceph
      • MinIO
      • FusionStorage
  • 关于
    • 认证
    • 知识管理
      • Hugo
      • Gitbook
    • 企业组织架构
    • 文本格式
      • JSON
      • YAML
      • XML
    • API
由 GitBook 提供支持
在本页
  • HBase常用Shell命令
  • HBase中用create命令创建表:
  • HBase数据库基本操作:
  • 查询表历史数据:
  • 退出HBase数据库表操作:
  • HBase API详解
  • HBase常用API介绍:

这有帮助吗?

  1. 大数据
  2. Hadoop 生态系统
  3. Hbase

HBase常用Shell命令和基础开发

HBase常用Shell命令

HBase中用create命令创建表:

复制

运行结果如下:复制

此时,即创建了一个’Student’表,属性有:Num,Name,Sex,Age。因为HBase的表中会有一个系统默认的属性作为行键,无需自行创建,默认为put命令操作中表名后第一个数据。创建完“student”表后,可通过describe命令查看“student”表的基本信息。

HBase数据库基本操作:

添加数据-put:

HBase中用put命令添加数据,注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据,所以直接用shell命令插入数据效率很低,在实际应用中,一般都是利用编程操作数据。

在添加数据时,HBase会自动为添加的数据添加一个时间戳,故在需要修改数据时,只需直接添加数据,HBase即会生成一个新的版本,从而完成“改”操作,旧的版本依旧保留,系统会定时回收垃圾数据,只留下最新的几个版本,保存的版本数可以在创建表的时候指定。

当运行命令:put ‘Student’,’1001’,’ZhangSan’,male’,’23’时,即为Student表添加了学号为1001,姓名为ZhangSan,性别男,年龄23的一条数据。行键为1001.复制

删除数据:

在HBase中用delete以及deleteall命令进行删除数据操作,它们的区别是:1. delete用于删除一个数据,是put的反向操作;2. deleteall操作用于删除一行数据。复制

查看数据:

HBase中有两个用于查看数据的命令:1. get命令,用于查看表的某一行数据;2. scan命令用于查看某个表的全部数据复制

删除表:

删除表有两步,第一步先让该表不可用,第二步删除表。复制

查询表历史数据:

查询表的历史版本,需要两步。 1、在创建表的时候,指定保存的版本数(假设指定为5)复制

2、插入数据然后更新数据,使其产生历史版本数据,注意:这里插入数据和更新数据都是用put命令复制

3、查询时,指定查询的历史版本数。默认会查询出最新的数据。(有效取值为1到5)复制

退出HBase数据库表操作:

最后退出数据库操作,输入exit命令即可退出,注意:这里退出HBase数据库是退出对数据库表的操作,而不是停止启动HBase数据库后台运行。

HBase API详解

写HBase程序,需导入hbase安装目录中的lib文件中的所有jar包就行。

HBase常用API介绍:

Admin:

HBase的管理API。从connecgetadmin()获取一个实例,然后调用close()。

Admin可用于创建、删除、列出、启用和禁用表、添加和删除表列家庭和其他行政操作。

Admin的常用方法:复制

Connection:

一个集群连接,将较低层次的个人连接封装到实际的服务器上,并连接到zookeeper。连接通过ConnectionFactory类实例化。连接的生命周期由调用者管理,后者必须close()连接以释放资源。

连接对象包含找到master的逻辑,定位集群上的区域,保留一个位置的缓存,然后知道如何在移动后重新校准。与服务器、元缓存、zookeeper连接等的个人连接都是由Table和Admin从该连接获得的管理实例共享的.

连接创建是一个重量级的操作。连接实现是线程安全的,因此客户端可以创建一次连接,并与不同的线程共享它。另一方面,Admin和Table实例是轻量级的,并且不是线程安全的。通常,每个客户端应用程序的单个连接被实例化,并且每个线程都将获得它自己的表实例。不建议对Table和Admin进行缓存或合用。

Connection的常用方法:复制

Table:

用于与单个HBase表进行通信。从连接中获取一个实例,然后调用close().

表格可用于从表中获取、放置、删除或扫描数据。

HTableDescriptor:

HTableDescriptor包含关于HBase表的详细信息,例如所有列家族的描述符,是表a目录表,-根-或HBase:meta,如果表只读取,memstore的最大大小,当区域拆分时,与之关联的协处理器等等。

##HBase编程示例:复制

以上

上一页Hbase下一页Sqoop

最后更新于5年前

这有帮助吗?