【大数据运维】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 年到现在没有提交记录…...
前端三剑客 —— 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知识,整理一下xss的绕过思路。 level11 观察测试: 1.四个隐藏参数标签 2.全部get传参一遍发现t_sort可赋值,使用的是get传参 3.针对t_sort测试过滤的字符 t_sort< > & ; " 检测到他除了<>,别的全部过滤。 因为…...
从HBuilder到npm:UniApp项目迁移与打包实战指南
1. 为什么需要从HBuilder迁移到npm? 很多UniApp开发者最初都是通过HBuilder这个集成开发环境入门,毕竟它提供了开箱即用的UniApp开发体验。但随着项目规模扩大,团队协作需求增加,或者需要更灵活的构建配置时,基于npm的…...
三相桥式整流电路有源逆变状态的研究:基于Matlab仿真的直流发电机电动系统电能流转关系分析
三相桥式整流电路有源逆变状态 Matlab仿真可写报告 直流发电机电动系统入手,研究电能流转关系,再转入变流器分析交流和直流电之间流转,掌握有源逆变条件。玩过直流电机调速的朋友可能遇到过这样的情况:明明在减速状态,…...
DeepSeek LintCode 3867 · 范围内的数字计数 public int digitsCount(int d, int low, int high)
LintCode 3867 范围内的数字计数 问题分析 计算在区间 [low, high] 中,数字 d 出现的次数。 核心思想:使用数位DP或前缀和思想 • count(low, high) count(0, high) - count(0, low-1) 方法一:逐位统计法(推荐)AC pu…...
本地部署 Ollama + DeepSeek 完整指南:免费跑大模型,数据不出本地
本地部署 Ollama DeepSeek 完整指南:免费跑大模型,数据不出本地不花一分钱,不用科学上网,在自己电脑上跑 DeepSeek 大模型,这篇教程手把手带你搞定一、为什么要本地部署? 很多人用 AI 工具都是调用云端 AP…...
统信UOS 1060e内网离线安装Docker保姆级教程(附CentOS 8 RPM包下载)
统信UOS 1060e内网离线安装Docker全流程实战指南 在企业级IT基础设施中,内网环境下的软件部署一直是运维工程师面临的特殊挑战。当服务器完全隔离于互联网时,每一个依赖包、每一条配置指令都可能成为阻碍系统正常运行的潜在障碍。本文将深入探讨在统信UO…...
吃透MQ:从原理到落地,解决分布式系统的核心痛点
在分布式系统与微服务架构普及的今天,“高并发、高可用、低耦合”成为系统设计的核心诉求。而消息队列(Message Queue,简称MQ),作为分布式架构中的“通信枢纽”,凭借异步通信、流量削峰、系统解耦等核心能力…...
智能客服体验问题诊断:从技术架构到优化实践
智能客服体验问题诊断:从技术架构到优化实践 智能客服作为企业与用户交互的重要窗口,其体验好坏直接影响用户满意度和业务转化率。一个响应迟钝、答非所问的客服机器人,不仅无法解决问题,反而会加剧用户的不满。本文将从一个开发者…...
华为光猫配置解密工具全解析:从加密破解到网络运维实战指南
华为光猫配置解密工具全解析:从加密破解到网络运维实战指南 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 在网络运维工作中,光猫设备的配置…...
行业观察2026年3月五家geo优化服务商实测对比与选型决策指南
在2026年3月的智能商业环境中,企业竞争的焦点已从信息曝光转向认知塑造。随着生成式AI全面接管用户的信息获取与决策流程,品牌若无法在AI的“思考”过程中占据一席之地,便意味着在未来的商业对话中失语。第三方独立数据显示,2025年…...
OpenClaw怎么搭建?2026年3月OpenClaw(Clawdbot)在腾讯云一键部署超全攻略
OpenClaw怎么搭建?2026年3月OpenClaw(Clawdbot)在腾讯云一键部署超全攻略。本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程,包含环…...
