当前位置: 首页 > news >正文

【大数据运维】Hbase shell 常见操作

文章目录

  • 一. DDL
    • 1. 表的DDL
      • 1.1. 创建表
      • 1.2. 删除表
    • 2. 列族的DDL
      • 2.1. 增加一个列簇
      • 2.2. 删除列族
      • 2.3. 修改列族版本(ing)
  • 二. DML
    • 1. 插入与更新数据
    • 2. 删除数据
    • 3. 清空表
  • 三. DQL
    • 1. scan:查一批数据
      • 1.1. 查询全部
      • 1.2. 过滤rowkey
      • 1.3. 过滤列
      • 1.4. 列族查询
    • 2. get:查询一条
      • 1.1. 指定rowkey
      • 1.2. 过滤值
      • 1.3. 过滤列

先进入到shell中 ./bin/hbase shell


-- 查看Hbase服务器状态
status-- 查看当前数据库中有哪些表
list-- 列出一些表的详细信息
describe 'book'

 

一. DDL

1. 表的DDL

1.1. 创建表


创建student表, 包含base_f1、base_f2两个列族create 'student', 'base_f1', 'base_f2' 
或者 
create 'user', {NAME => 'base_f1', VERSIONS => '1'},{NAME => 'base_f2'}

 

1.2. 删除表

-- 先disable 再drop hbase
disable 'student' 
drop 'student' -- 如果不进行disable,直接drop会报错 ERROR: Table student is enabled. Disable it first.

 

2. 列族的DDL

2.1. 增加一个列簇


alter 'book','date'

2.2. 删除列族

alter 'student', 'delete' => 'base_f1'

 

2.3. 修改列族版本(ing)


alter 'book',{NAME=>'date',VERSIONS=>3}}

 

二. DML

1. 插入与更新数据

-- put '表名称', 'rowkey', '列族:列名', '值'
-- 因为表中只定义了列族,所以列族下的新列可以直接在插入数据下添加
-- 向表中添加数据,在想HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列。put 'staff1','0101','info2:nnn1','test'

更新操作同插入操作一模一样,只不过有数据就更新(实际是加了一个版本),没数据就添加

更新版本号


-- 将student表的 base_info 列族版本号改为5alter 'student', NAME => 'base_f1', VERSIONS => 5

 

2. 删除数据


-- 删除student表 rowkey为rk01,列标示符为 base_f1:name 的数据delete 'student', 'rk01', 'base_f1:name'-- 指定时间戳删除
delete 'student', 'rk01', 'base_f1:name', 1392383705316

 

3. 清空表


truncate 'book'

 

三. DQL

1. scan:查一批数据

1.1. 查询全部

scan 'staff1'ROW                         COLUMN+CELL0101                       column=info1:sea, timestamp=1711098585861, value=test0102                       column=info2:addr, timestamp=1711098585993, value=test10102                       column=info2:name, timestamp=1711098585923, value=test10102                       column=info2:sea1, timestamp=1711098585895, value=test1  -- 过滤查询
scan 'book',{LIMIT=>2}-- 包含STARTROW,不包含ENDROW
scan 'book',{STARTROW=>'1',ENDROW=>'3'}

1.2. 过滤rowkey

-- 查询student表中row key以rk字符开头的scan 'student',{FILTER=>"PrefixFilter('rk')"}

1.3. 过滤列

-- 查询student表中列族为 base_f1 和 base_f2且列标示符中含有aa字符的信息scan 'student', {COLUMNS => ['base_f1 ', 'base_f2'], FILTER => "(QualifierFilter(=,'substring:aa'))"}

1.4. 列族查询


-- 列族
scan 'student', {COLUMNS => ['base_f1', 'base_f2']} --列族:列
scan 'student', {COLUMNS => ['base_f1:name', 'base_f2:address']}-- 列族:列 并指定最新的三个版本
scan 'student', {COLUMNS => 'base_f1:name', VERSIONS => 3}

 

2. get:查询一条

1.1. 指定rowkey


--获取student表中row key为rk01的所有信息
get 'student', 'rk01'-- 获取user表中row key为rk0001,base_info列族的所有信息
get 'student', 'rk01', 'base_f1'-- 获取student表中row key为rk0001,base_info列族的name、age列标示符的信息
get 'student', 'rk01', 'base_f1:name', 'base_f2:address'

 

1.2. 过滤值

-- 获取student表中row key为rk01,值为zhangsan的信息get 'student', 'rk01', {FILTER => "ValueFilter(=, 'name:zhangsan')"}

 

1.3. 过滤列


-- 获取student表中row key为rk01,列中含有a的信息
get 'student', 'rk01', {FILTER => (QualifierFilter(=,'substring:a'))"}

 

相关文章:

【大数据运维】Hbase shell 常见操作

文章目录 一. DDL1. 表的DDL1.1. 创建表1.2. 删除表 2. 列族的DDL2.1. 增加一个列簇2.2. 删除列族2.3. 修改列族版本(ing) 二. DML1. 插入与更新数据2. 删除数据3. 清空表 三. DQL1. scan:查一批数据1.1. 查询全部1.2. 过滤rowkey1.3. 过滤列…...

LeetCode-217存在重复的元素

217 存在重复的元素 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似…...

基于两个单片机串行通信的电子密码锁设计

1.功能 电子号码锁在实际应用中应该有两部分,一部分在外部,有键盘部分和密码显示;另一部分内部,设置密码、显示密码。使用单片机自身带有的串口可以很方便的实现单片机之间的通信,使输入的密码值传送到主机检验是否是…...

产品经理功法修炼(3)之产品设计

点击下载《产品经理功法修炼(3)之产品设计》 1. 前言 产品经理的能力修炼并非局限于某一技能的速成,而是需要全面参与到产品的整个生命周期中,通过不断的实践来逐步提升自己的各项能力。尽管在企业的日常运作中,我们不可能身兼数职去扮演每一个角色,但作为产品的核心负…...

Qt 的发展历史、现状与启示

Qt 最早在1991年由挪威的两位程序员 Eirik Chambe-Eng 和 Haavard Nord 开发,他们在1994年创立 Trolltech 公司(奇趣科技)正式经营软件业务。Qt 的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到201…...

Quiet-STaR:让语言模型在“说话”前思考

大型语言模型(llm)已经变得越来越复杂,能够根据各种提示和问题生成人类质量的文本。但是他们的推理能力让仍然是个问题,与人类不同LLM经常在推理中涉及的隐含步骤中挣扎,这回导致输出可能在事实上不正确或缺乏逻辑。 考虑以下场景:正在阅读一…...

【Kotlin】匿名类和伴生类

1 匿名类 1)无继承 fun main() {var obj object {var name: String "zhang"override fun toString(): String {return name}}println(obj) // zhang } 2)有继承 fun main() {var obj object: People {var name: String "zhang"…...

【机器学习算法介绍】(3)决策树

决策树是一种常见的机器学习算法,用于分类和回归任务。它模拟了人类决策过程,通过一系列的问题来引导决策。决策树的构建涉及三个主要步骤:特征选择、树的构建和树的剪枝。 1. 特征选择 特征选择是决策树构建过程中的第一步,目的…...

算法之查找

1、顺序查找: package com.arithmetic.search; //顺序查找 //sequentialSearch 方法接收一个整数数组和一个目标元素作为参数,并使用顺序查找的方式在数组中查找目标元素。 //它通过循环遍历数组元素,逐个与目标元素比较,如果找到…...

LInux脚本学习

1.注释 #单行注释 以 # 字符开头就是单行注释 当然第一行除外,比较特殊 2.多行注释 3.Shell文件的作用 Shell文件就是linux命令集 4.sh脚本的执行方式 bash xxx.sh 5.新建的文件会没有执行权限 #为文件赋予执行权限 chmod ux xxx.sh 6.编写规范 #!/bin/bash #…...

JavaWeb基础(计网 socket 数据库 JDBC lombok Mybatis JUnit Maven)

本文用于检验学习效果,忘记知识就去文末的链接复习 1. 网络基础 1.1 计网基础 区分设备:IP地址 区分网络:网络地址 网络互联:路由器 主机上进程间通信:端口 http是常用的协议,基于TCP协议 TCP VS U…...

【HBase】

什么是HBase HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。 访问层次(数据…...

Vue3:使用Pinia存储、读取、修改数据

一、存储数据 Pinia插件中,存储数据的配置项是state count.ts import {defineStore} from piniaexport const useCountStore defineStore(count,{// 真正存储数据的地方state(){return {sum:6}} })loveTalk.ts import {defineStore} from piniaexport const use…...

基于 Quartz.NET 可视化任务调度平台 QuartzUI

一、简介 QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理,Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。 二、部署 QuartzUI 从 2022 年到现在没有提交记录&#xf…...

前端三剑客 —— CSS (第三节)

目录 上节回顾: 1.CSS使用有以下几种样式; 2.选择器 1.基本选择器 2.包含选择器 3.属性选择器 [] 4.伪类选择器 : 5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变换效果 translate&…...

C# 系统学习(异步编程)

在C#中,异步编程是一种优化程序性能的关键技术,特别是在处理I/O密集型操作(如网络请求、数据库查询、文件读写等)时,能够有效避免由于长时间等待而导致的线程阻塞,从而提高应用的响应速度和资源利用率。asy…...

前端工程师————CSS学习

选择器分类 选择器分为基础选择器和复合选择器 基础选择器包括:标签选择器,类选择器,id选择器,通配符选择器标签选择器 类选择器 语法:.类名{属性1: 属性值;} 类名可以随便起 多类名使用方式&am…...

C# 登录界面代码

背景 MVVM 是一种软件架构模式,用于创建用户界面。它将用户界面(View)、业务逻辑(ViewModel)和数据模型(Model)分离开来,以提高代码的可维护性和可测试性。 MainWindow 类是 View&a…...

点云的Python均值采样

一、代码 Python import numpy as np import open3d as o3ddef mean_sampling(point_cloud, num_samples=None, depth=None, method=knn, k=10):"""对点云进行均值下采样。:param point_cloud: Open3D PointCloud对象:param num_samples: (仅当method=knn时使…...

xss-labs 11-13通关记录

前言 最近复习xss知识&#xff0c;整理一下xss的绕过思路。 level11 观察测试: 1.四个隐藏参数标签 2.全部get传参一遍发现t_sort可赋值&#xff0c;使用的是get传参 3.针对t_sort测试过滤的字符 t_sort< > & ; " 检测到他除了<>,别的全部过滤。 因为…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud&#xff08;一&#xff09;Springcloud五大组件&#xff08;二&#xff09;服务注册和发现1、Eureka2、Nacos &#xff08;三&#xff09;负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

职坐标物联网全栈开发全流程解析

物联网全栈开发涵盖从物理设备到上层应用的完整技术链路&#xff0c;其核心流程可归纳为四大模块&#xff1a;感知层数据采集、网络层协议交互、平台层资源管理及应用层功能实现。每个模块的技术选型与实现方式直接影响系统性能与扩展性&#xff0c;例如传感器选型需平衡精度与…...