Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储

Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上
hadoop框架最核心的设计就是:HDFS 和 MapReduce
HDFS为海量的数据提供了存储
MapReduce则为海量的数据提供了计算
高可靠性、高扩展性、高效性、高容错性、低成本
HDFS
数据以文件方式直接存储
连续访问效率高
随机访问效率低
HBase
数据以索引格式特殊存储
连续访问效率低
随机访问效率高
查看hbase服务器状态:status
查询Hbase版本:version
创建表
create ‘表名称’, ‘列族名称1’,‘列族名称2’,‘列族名称N’
create 'user','info'
创建namespace
create_namespace 'test'
删除namespace
drop_namespace 'test'
查看namespace
describe_namespace 'test'
列出全部namespace
list_namespace
在namespace下创建表
create 'test:user', 'info'
查看namespace下的表
list_namespace_tables 'test'
添加数据
put 'user','20070301', 'info:name', 'ljs'
put 'user','20070301', 'info:age', '30'
put 'user','20070301', 'info:sex', '1'
根据键值查询数据
get 'user','20070301'
get 'user','20070301', 'info'
查看所有表
list
查看表结构:
desc 'user'
查看表中的记录总数:
count '表名称'
查看META表数据
scan 'hbase:meta'
scan 'hbase:meta', {COLUMNS => 'info:regioninfo'}
查询整表
scan 'user'
查询多条数据
scan 'user',{COLUMNS =>'info',LIMIT =>2, STARTROW => '20070101',STOPROW=>'20100101'}
scan 'user', {COLUMNS =>'info', TIMERANGE => [1519368887635, 1519369047487]}
根据行的前缀过滤
scan 'user', FILTER => "PrefixFilter ('2007')"
根据列的前缀过滤
scan 'user', FILTER=>"ColumnPrefixFilter('name')"
根据ValueFilter的值过滤
scan 'user', {FILTER=>"ValueFilter(=,'substring:ljs')"}
scan 'user', FILTER=>"ColumnPrefixFilter('name') AND ValueFilter(=,'substring:ljs')"
根据RowFilter的值过滤
scan 'user', FILTER=>"RowFilter(<=,'binary:20170301')"
根据FamilyFilter的值过滤
scan 'user', FILTER=>"FamilyFilter(=,'substring:info')"
根据rowkey里面包含的值过滤
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.filter.RowFilter
scan 'user', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('2007'))}
删除记录
delete '表名' ,'行名称' , '列名称’
delete 'user', '20070301', 'info:age‘
drop 表
disable 'user'
drop 'user'
HBase Shell脚本
可以把所有的HBase Shell命令写入一个文件内,像Linux Shell脚本程序一样,顺序执行所有命令.
hbase shell test.sh
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!