大数据技术Hbase列数据库——topic3

目录

  • 启动Hadoop
  • 启动Hbase
  • Hbase常用Shell命令
    • 基本命令
    • 关于表的操作
    • 增删改
    • 查询

启动Hadoop

1.到Hadoop安装目录下输入命令

sbin/start-all.sh[root@localhost hadoop-2.7.1]# sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [localhost]
root@localhost's password: 
localhost: starting namenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-namenode-localhost.localdomain.out
root@localhost's password: 
localhost: starting datanode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-datanode-localhost.localdomain.out
Starting secondary namenodes [0.0.0.0]
root@0.0.0.0's password: 
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-localhost.localdomain.out
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-root-resourcemanager-localhost.localdomain.out
root@localhost's password: 
localhost: starting nodemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-root-nodemanager-localhost.localdomain.out

2.jps查看,在此过程中需要四次输入password

[root@localhost hadoop-2.7.1]# jps
7493 NameNode
8261 ResourceManager
8022 SecondaryNameNode
8809 Jps
8620 NodeManager
7726 DataNode

启动Hbase

  1. 到Hbase安装目录下输入命令
bin/start-hbase.sh[root@localhost opt]# cd hbase-2.1.0/
[root@localhost hbase-2.1.0]# bin/start-hbase.sh 
root@localhost's password: 
localhost: running zookeeper, logging to /opt/hbase-2.1.0/bin/../logs/hbase-root-zookeeper-localhost.localdomain.out
running master, logging to /opt/hbase-2.1.0/logs/hbase-root-master-localhost.localdomain.out
: running regionserver, logging to /opt/hbase-2.1.0/logs/hbase-root-regionserver-localhost.localdomain.out

2.jps查看

[root@localhost hbase-2.1.0]# jps
11714 Jps
7493 NameNode
8261 ResourceManager
11397 HQuorumPeer
8022 SecondaryNameNode
11494 HMaster
8620 NodeManager
11596 HRegionServer
7726 DataNode

Hbase常用Shell命令

基本命令

  1. 打开Hbase Shell
hbase shell
  1. 获取帮助
help
  1. 查看服务器状态
status
  1. 查看版本
version

关于表的操作

  1. 查看所有表
list
  1. 创建表
create 'Student','baseInfo','schoolInfo'
  1. 查看表基本信息
desc 'Student'
  1. 表的启用和禁用
#禁用表
disable 'Student'
#检查表是否被禁用
is_disabled 'Student'
#启动表
enable 'Student'
#检查表是否被禁用
is_enable 'Student'
  1. 检查表是否存在
exists 'Student'
  1. 删除表
#删除表前需要禁用表
disable 'Student’
#删除表
drop ‘Student’

增删改

  1. 添加列族
alter 'Student','teacherInfo'
  1. 删除列族
alter 'Student',{NAME =>'teacherInfo',METHOD=>'delete'}
alter 'Student','delete'=>'teacherInfo'
  1. 更改列族存储版本的限制
 alter 'Student',{NAME=>'baseInfo',VERSION=>3}
  1. 插入数据
    命令格式:put ‘表名’,‘行键’,‘列族;列’,'值’
 put 'Student', 'rowkey1','baseInfo:name','tom'put 'Student', 'rowkey1','baseInfo:birthday','1990-01-09'put 'Student', 'rowkey1','baseInfo:age','29'put 'Student', 'rowkey1','schoolInfo:name','Havard'put 'Student', 'rowkey1','schoolInfo:localtion','Boston'put 'Student', 'rowkey2','baseInfo:name','jack'put 'Student', 'rowkey2','baseInfo:birthday','1998-08-22'put 'Student', 'rowkey2','baseInfo:age','21'put 'Student', 'rowkey2','schoolInfo:name','yale'put 'Student', 'rowkey2','schoolInfo:localtion','New Haven'put 'Student', 'rowkey3','baseInfo:name','maike'put 'Student', 'rowkey3','baseInfo:birthday','1995-01-22put 'Student', 'rowkey3','baseInfo:age','24'put 'Student', 'rowkey3','schoolInfo:name','yale'put 'Student', 'rowkey3','schoolInfo:localtion','New Haven'
  1. 获取指定行、指定行中的列族、列信息
#获取指定行中的所有列的数据信息
get 'Student','rowkey3'
#获取指定行中的所有列族下所有列的数据信息
get 'Student','rowkey3','baseInfo'
#获取指定行中指定列的数据信息
get 'Student','rowkey3','baseInfo:name'
  1. 删除指定行、指定行中的列
#删除指定行
deleteall 'Student','rowkeys'
#删除指定行中指定列的数据
delete 'Student','rowkey3','baseInfo:name'

查询

hbase中访问数据的两个基本方式:

  • 按指定rowkey获取数据:get方法
  • 按指定条件获取数据:scan方法

scan可以设置begin和end参数来访问一个范围内的所有数据。get本质上就是begin和end相等的特殊情况的scan

  1. Get查询
#获取指定行中所有列的数据信息
get 'Student','rowkey1'
#获取指定行中指定列族的所有列信息
get 'Student','rowkey1','baseInfo'
#获取指定行的指定列的数据信息
get 'Student','rowkey1','baseInfo:name'
#获取指定行
get 'Student','rowkey1',{COLUMN=>'baseInfo:name',VERSION=>3}
  1. 查询整表数据
scan 'Student'
  1. 查询指定列族的数据
scan 'Student',{COLUMN=>'baseInfo'}
  1. 条件查询
#查询指定列的数据
scan ‘Student',{COLUMN=>'baseInfo:birthday'}

HBase 还支持 Limit(限制查询结果行数),STARTROW(ROWKEY 起始行,会先根据这个 key 定位到 region,再向后扫描)、STOPROW(结束行 不包含此行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和 FILTER(按条件过滤行)等。
如下代表从 rowkey2 这个 rowkey 开始,查找下两个行的最新 3 个版本的 name 列的数据

scan 'Student', {COLUMNS=> 'baseInfo:name',STARTROW => 'rowkey2',STOPROW => 
'rowkey4',LIMIT=>2, VERSIONS=>3}
  1. 条件过滤
  • Filter 可以设定一系列条件来进行过滤。如我们要查询值等于 24 的所有数据
scan 'Student', FILTER=>"ValueFilter(=,'binary:24')"
  • 值包含 yale 的所有数据:
 scan 'Student', FILTER=>"ValueFilter(=,'substring:yale')"
  • 列名中的前缀为 birth 的:
scan 'Student', FILTER=>"ColumnPrefixFilter('birth')"
  • FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合
 FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合scan 'Student', FILTER=>"ColumnPrefixFilter('birth') AND ValueFilter 
ValueFilter(=,'substring:1998')"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/26027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Vue》系列文章目录

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以…

载波相移CPS-SPWM调制方法的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 载波相移CPS-SPWM调制方法的simulink建模与仿真,载波相移PWM方法: 2.系统仿真结果 单极倍频 釆用 调制波 反相 法 , 基本调制原理为 &…

Golang 避坑指南

文章目录 1. Channel 与 Goroutine 泄露1.1 发送不接收1.2 接收不发送1.3 nil channel2. 跳出 for-switch 或 for-select 3.for 迭代变量3.1 闭包中的for迭代变量3.2 for range 迭代变量 4. 循环内的 defer5.defer 函数的参数值6.nil interface 和 nil interface 值7.结构体指针…

【Bazel入门与精通】 rules之属性

https://bazel.build/extending/rules?hlzh-cn#attributes Attributes An attribute is a rule argument. Attributes can provide specific values to a target’s implementation, or they can refer to other targets, creating a graph of dependencies. Rule-specifi…

B3810 [语言月赛 202307] 扶苏和串

[语言月赛 202307] 扶苏和串 题目背景 众所周知,每个月入门赛的字符串题都是扶苏来枚举 idea 出出来的。 题目描述 给定一个 01 字符串 s s s,你可以任选 s s s 的一个非空子串,把这个子串在 s s s 中翻转一次。 问你能得到字典序最小…

R语言:使用 stringr 包进行字符串处理和正则表达式匹配

在 R 编程中,字符串处理和正则表达式匹配是常见的需求,而 stringr 包提供了强大的工具来简化这些操作。本文将介绍 stringr 包的基础用法,并结合正则表达式的相关内容,帮助你高效处理字符串数据。 字符串基础 创建字符串 在 R …

大模型训练数据白皮书深度解读

摘要 随着人工智能技术的飞速发展,大模型在各个领域的应用日益广泛。《大模型训练数据白皮书》为我们提供了对大模型训练数据重要性的深刻理解,本文将深度解读白皮书的主要内容,探讨大模型训练数据的关键要素、面临的挑战与未来发展趋势。 …

金融量化分析开源工具:TuShare

TuShare:一站式金融数据解决方案,让量化分析触手可及- 精选真开源,释放新价值。 概览 TuShare,是Github社区上一个专为金融量化分析师和数据爱好者设计的开源工具,提供了从数据采集、清洗加工到数据存储的全流程服务。…

缓存更新策略中级总结

背景 看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作…

构建大语言模型友好型网站

以大语言模型为代表的AI 技术迅速发展,将会影响原有信息网络的方式。其中一个明显的趋势是通过chatGPT 对话代替搜索引擎和浏览器来获取信息。 互联网时代,主要是通过网站(website)提供信息。网站主要为人类阅读的方式构建的。主要…

高通Android开关机动画踩坑简单记录

1、下面报错有可能是selinux的原因 Read-only file system 2、接着push 动画 reboot之后抓取logcat出现 以下报错。看着大概意思像是压缩格式有问题。 3、于是重新压缩一下报错没有再出现 ,压缩格式默认是标准,这里必须要改成存储格式哈 4、修改之后重新…

GitHub工程git merge出现冲突处理方式

GitHub工程git merge出现冲突处理方式 1. 源由2. 冲突解决2.1 触发合并冲突2.2 查看冲突状态2.3 打开冲突文件2.4 解决冲突2.5 标记冲突已解决2.6 继续合并2.7 检查合并结果 3. 示例 1. 源由 在产品研发中,常见的技术动作就是merge,而这个操作通常有两种…

Mysql基础 - 事务

Mysql基础 - 事务 文章目录 Mysql基础 - 事务1 事务简介2 事务操作2.1 控制事务一2.2 控制事务二 3 事务四大特性4 并发事务问题5 事务隔离级别 1 事务简介 事务是一组操作的集合,他是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提…

tcp协议的面向字节流介绍,粘包问题(解决的本质)

目录 面向字节流 引入 介绍 比喻 处理数据 粘包问题 引入 介绍 解决的本质 面向字节流 引入 对于udp来说,它是面向数据报的 一旦要发送数据,因为没有发送缓冲区,且不需要维护连接,直接封装完报头就发出去了依靠报头中的udp长度字段,可以拆分出报文然后交付给上层一个…

解决Vue项目Network: unavailable的问题

在vscode使用 npm run serve 运行 Vue项目时发现一个问题,项目只能通过Local访问而不能通过Network访问,终端显示如下: 碰到这种情况的解决方法:在环境变量的path中添加“C:\Windows\System32\Wbem” 1.找到“环境变量”&#xf…

Apollo9.0 PNC源码学习之Control模块(二)

前面文章:Apollo9.0 PNC源码学习之Control模块(一) 本文将对具体控制器以及原理做一个剖析 1 PID控制器 1.1 PID理论基础 如下图所示,PID各参数(Kp,Ki,Kd)的作用: 任何闭环控制系统的首要任务是要稳、准、快的响…

【JavaEE】Spring Boot MyBatis详解(一)

一.MyBatis的基本概念与相关配置. 1.基本概念 MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis. 2013年11月迁移到Github.持久层…

.net core webapi跨域

var builder WebApplication.CreateBuilder(args);// Add services to the container. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();//此处1 …

13 RTP包的使用

RTP RTP包最主要的就是Sequence number。 对于发送者来说,视频的每一个帧都有很多包组成。对于接收端来接收的时候是有一个队列进行接收的。这个队列大小都是通过计算的。有了队列之后就会不断的往队列中插入数据。当队列中有的数据超时一直组不成包的时候&#xf…

STM32 UART串口与RTOS的结合使用

STM32 UART串口与RTOS的结合使用 摘要: 实时操作系统(RTOS)为嵌入式系统提供了多任务处理和实时性能。STM32微控制器结合RTOS,可以有效地管理串口通信任务,提高系统的响应速度和稳定性。本文将探讨STM32 UART串口与RT…