日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HBase常用命令(超全超详细)

發(fā)布時(shí)間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase常用命令(超全超详细) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一、基本命令
    • 1.1獲取幫助
    • 1.2查看服務(wù)器狀態(tài)
    • 1.3查看版本信息
  • 二、表操作
    • 2.1創(chuàng)建表
    • 2.2刪除表
    • 2.3修改表名
    • 2.4查看所有的表
    • 2.5查看表的基本信息
    • 2.6檢查表是否存在
    • 2.7表的啟用和禁用
  • 三、增刪改
    • 3.1添加列簇
    • 3.2刪除列簇
    • 3.3更改列簇存儲(chǔ)版本的限制
    • 3.4插入數(shù)據(jù)
    • 3.5獲取指定行、指定行中的列族、列的信息
    • 3.6刪除指定行、指定行中的列
  • 四、查詢
    • 4.1get查詢
    • 4.2scan查詢
  • 五、用戶權(quán)限
  • 六、批量導(dǎo)入文件
  • 七、命令空間
    • 7.1 創(chuàng)建命名空間
    • 7.2 查看命名空間
    • 7.3 命名空間下建表
    • 7.4 查看命名空間下的表

一、基本命令

打開(kāi)Hbase Shell:

hbase shell

1.1獲取幫助

#獲取幫助 help #獲取命令的詳細(xì)信息 help 'status'

1.2查看服務(wù)器狀態(tài)

status

1.3查看版本信息

version

二、表操作

2.1創(chuàng)建表

命令格式1:create ‘表名’,‘列簇名1’,‘列簇名2’…
命名格式2:create ‘表名’,{NAME=>‘列簇名1’},{NAME=>‘列簇名2’}…

#創(chuàng)建一張名為Student的表,包含基本信息(baseinfo)、學(xué)校信息(schoolinfo)兩個(gè)列簇 create 'student','haseinfo','schoolinfo'

2.2刪除表

#刪除表前需要先禁用表 disable 'student' #刪除表 drop 'student'

2.3修改表名

命令格式:
snapshot '表名’,‘鏡像名’
clone_snapshot ‘鏡像名’,‘新表名’
delect_snapshot ‘鏡像名’

snapshot 'student','temp' clone_snapshot 'temp','stu' delect_snapshot 'temp'

注:可以將原表刪除,刪除命令參照2.2刪除表

2.4查看所有的表

list

2.5查看表的基本信息

命令格式:desc ‘表名’

desc 'Student'

2.6檢查表是否存在

exists 'student'

2.7表的啟用和禁用

#禁用表 disable 'student' #檢查表是否被禁用 is_disabled 'student' #啟用表 enable 'student' #檢查表是否被啟用 is_enabled 'student'

三、增刪改

3.1添加列簇

命令格式:alter ‘表名’,‘列簇名’

alter 'student','teacherinfo'

3.2刪除列簇

命令格式:alter ‘表名’,{NAME=>‘列簇名’,METHOD=‘delete’}

alter 'student', {NAME => 'teacherinfo', METHOD => 'delete'}

3.3更改列簇存儲(chǔ)版本的限制

默認(rèn)情況下列族只存儲(chǔ)一個(gè)版本的數(shù)據(jù),如果需要存儲(chǔ)多個(gè)版本的數(shù)據(jù),則需要修改列族的屬性。修改后可通過(guò) desc 命令查看。

alter 'student',{NAME=>'baseinfo',VERSIONS=>3}

3.4插入數(shù)據(jù)

命令格式:put ‘表名’,‘行鍵’,‘列簇名:列名’,‘值’[,時(shí)間戳]

put 'student', '1','baseinfo:name','tom' put 'student', '1','baseinfo:birthday','1990-01-09' put 'student', '1','baseinfo:age','29' put 'student', '1','schoolinfo:name','Havard' put 'student', '1','schoolinfo:localtion','Boston'put 'student', '2','baseinfo:name','jack' put 'student', '2','baseinfo:birthday','1998-08-22' put 'student', '2','baseinfo:age','21' put 'student', '2','schoolinfo:name','yale' put 'student', '2','schoolinfo:localtion','New Haven'put 'student', '3','baseinfo:name','maike' put 'student', '3','baseinfo:birthday','1995-01-22' put 'student', '3','baseinfo:age','24' put 'student', '3','schoolinfo:name','yale' put 'student', '3','schoolinfo:localtion','New Haven'put 'student', '4','baseinfo:name','maike-jack'

3.5獲取指定行、指定行中的列族、列的信息

# 獲取指定行中所有列的數(shù)據(jù)信息 get 'student','3' # 獲取指定行中指定列族下所有列的數(shù)據(jù)信息 get 'student','3','baseInfo' # 獲取指定行中指定列的數(shù)據(jù)信息 get 'student','3','baseinfo:name'

3.6刪除指定行、指定行中的列

# 刪除指定行 delete 'student','3' # 刪除指定行中指定列的數(shù)據(jù) delete 'student','3','baseinfo:name'

四、查詢

hbase 中訪問(wèn)數(shù)據(jù)有兩種基本的方式:

  • 按指定 rowkey 獲取數(shù)據(jù):get 方法;
  • 按指定條件獲取數(shù)據(jù):scan 方法。
    scan 可以設(shè)置 begin 和 end 參數(shù)來(lái)訪問(wèn)一個(gè)范圍內(nèi)所有的數(shù)據(jù)。get 本質(zhì)上就是 begin 和 end 相等的一種特殊的 scan。

4.1get查詢

# 獲取指定行中所有列的數(shù)據(jù)信息 get 'student','3' # 獲取指定行中指定列族下所有列的數(shù)據(jù)信息 get 'student','3','baseinfo' # 獲取指定行中指定列的數(shù)據(jù)信息 get 'student','3','baseinfo:name'

4.2scan查詢

#查詢整表數(shù)據(jù) scan 'student' #查詢指定列簇的數(shù)據(jù) scan 'student', {COLUMN=>'baseinfo'} # 查詢指定列的數(shù)據(jù) scan 'student', {COLUMNS=> 'baseinfo:birthday'} # 查看指定列兩個(gè)版本的數(shù)據(jù)(3.3中我們?cè)O(shè)置了3個(gè)版本) scan 'student', {COLUMNS=> 'baseinfo:birthday',VERSIONS=>2} # 查看前3條數(shù)據(jù) scan 'student',{LIMIT=>3}

五、用戶權(quán)限

user_permission ['表名'..] grant '用戶名' ,'RWXCA'

設(shè)置用戶權(quán)限需要配置hbase-site.xml

<property><name>hbase.security.authorization</name><value>true</value> </property> <property><name>hbase.coprocessor.master.classes</name><value>org.apache.hadoop.hbase.security.access.AccessController</value> </property> <property><name>hbase.coprocessor.region.classes</name><value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value> </property> <property><name>hbase.superuser</name><value>hadoop</value> </property>

六、批量導(dǎo)入文件

1、建表:表名為emp_basic

create 'emp_basic',{NAME=>'emp'},{NAME=>'time'}

2、上傳文件到hdfs

hdfs dfs -put emp_basic.csv /test

3、將文檔數(shù)據(jù)導(dǎo)入HBase

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns="HBASE_ROW_KEY,emp:name,emp:job_title,emp:company,time:sDate,time:eDate" "emp_basic" /test/emp_basic.csv

七、命令空間

7.1 創(chuàng)建命名空間

create_namespace 'events_db'

7.2 查看命名空間

list_namespace

7.3 命名空間下建表

create 'events_db:user_friend','uf'

7.4 查看命名空間下的表

list_namespace_tables 'events_db'

總結(jié)

以上是生活随笔為你收集整理的HBase常用命令(超全超详细)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。