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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hbase 操作命令

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hbase 操作命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Hbase Shell 操作
    • 一,基本操作
      • 1,啟動hbase
      • 2,命名空間操作命令
      • 3,表操作命令
    • 二,DML
    • 1,寫入數據
    • 2,讀取數據
    • 三、刪除與版本介紹

Hbase Shell 操作

一,基本操作

1,啟動hbase

首先啟動hbase: start-hbase.sh

進入hbase 命令行命令: hbase shell

2,命名空間操作命令

1,查看幫助命令: help 想要查看具體命令的話,需要加上引號 例如 help ‘create_namespace’
能夠展示Hbase中所用能使用的命令,主要是使用的命令有 namespace 命令空間有關,DDL創建修改表格,DML寫入讀取數據.
輸入help ‘create_namespace’ 下面例出了兩種創建命名空間的語法格式

2, namespace 命名空間
創建命名空間: create_namespace 要先創建命名空間。然后在命名空間里面創建表格

3,查看命名空間: list_namespace 可以查看創建好了的所有的命名空間,系統自帶的有兩個,其中這個default 沒寫命名空間的時候就存儲在default里面,NAMESPACE 是系統的命名空間,我們是不會人為的去用到的,有系統需要用到的表格

4,修改命名空間: alter_namespace

5,刪除命名空間:drop_namespace

3,表操作命令

通過help幫助命令,可以看到有很多的創建方式

1,創建一個表
輸入命令: create ‘bigdata:test1’,{NAME=>‘h1’,VERSIONS=>5}
創建表之前需要先創建一個命名空間,要是是在default默認空間里的話就可以省略命令空間

如果是在默認的命名空間default 里的話,是可以省略的,直接表名,如果沒有其他的參數需要更改的話,直接加上兩個列族就行

輸入命令: describe ‘default:student’ 查看剛剛創建的表
可以看得到,我們直接加入了兩個列族,h1和h2

想要創建多個列族和里面的參數的話,直接用逗號隔開


輸入命令: list 可以查看所有的命名空間和表名 下面那種沒有命名空間的就是在默認的命名空間default 下

2,修改表
表名創建時寫的所有和列族相關的信息,都可以后續通過alter修改,包括增加刪除列族,也是在修改操作里的
增加列族和修改信息都使用覆蓋的方法,
沒增加前前的 ‘bigdata:hbase1’ 的列族名和維護的版本

1)輸增加列族命令:alter ‘bigdata:hbase1’,{NAME=>‘list1’,VERSIONS=>9},{NAME=>‘list2’,VERSIONS=>9}

查看修改之后的 ‘bigdata:hbase1’ 表里面的信息 發現增加了兩個列族

2)修改’bigdata:hbase1’ 的 列族list1 的版本信息 從版本6改為3,修改列族信息的時候不要加大括號,直接列族名,后面跟要修改的參數

可以看到list1的版本號已經從6改為3了

3)刪除列族的話有兩種語法:
alter ‘bigdata:hbase1’, NAME=>‘list1’, METHOD=>‘delete’ 第一種 method的參數改為delete

alter ‘bigdata:hbase1’ ,‘delete’=> ‘list2’ 第二種delete 直接跟 列族名
我比較喜歡第二種

可以看到下面在table1和table2的列族已經不存在了

3,刪除表
刪除表需要drop命令,使用help查看,可以看到drop 命令的語法非常簡單

先查看有哪些表

刪除 ‘mydb1:mytbl’ 表 ,發現下面報錯了

需要先把表標記為 disable 不可用,才能刪除, 直接disable 加表名就可以了

輸入命令: disable ‘mydb1:mytbl’ 修改后查看,可以看到已經成disable了

再進行刪除表

刪除成功,‘mydb1:mytbl’ 表不存在

二,DML

1,寫入數據

在Hbase 中如果想要寫入數據,只能添加結果中最底層的 cell ,可以手動加入時間戳指定的cell版本,推薦不寫默認使用當前的系統時間
在hbase里面想要寫入數據都使用put,想要修改的話也可以用他,是直接覆蓋的,查看put的語法

輸入命令: put ‘bigdata:hbase1’,‘1001’,‘list1:name’,‘zhangsan’
語法是 put 然后表名,然后是列族,列名是name,最后這個張三就是1001行,name列下的數據

要是是在同一行號,同一列下增加數據的話,就會覆蓋

要是想在同一列下增加數據的話,直接把行號改了就行了

要是想增加多列的話,直接行號不變,修改列名增加數據就行了

2,讀取數據

讀取數據使用get 和 scan
get最大的數據是一行數據,也可以進行列的過濾,讀取數據的結果為多行cell
查看get和scan的使用方法


輸入命令: get ‘bigdata:hbase1’ ,‘1003’ 直接get 表明加行號,所有的數據都讀出來了,get只能讀一行1的數據

要是想要指定查看哪些列的話,行號后面加上{COLUMN=>},里面是具體的列名,要是有多個的話,就用列表裝起來
如果想要讀取多行數據的話,get就不行了,得使用scan掃描
scan可以掃描整張表,所有的行和所有的列
輸入命令: scan ‘bigdata:hbase1’

輸入命令: scan ‘bigdata:hbase1’,{STARTROW=>‘1001’,STARTROW=>‘1002’} ,可以指定掃描從哪里到哪里

三、刪除與版本介紹

刪除數據的方法有兩個: delete 和 deleteall
這里就要涉及當初創建表的時候,設置的維護版本的問題

  • delete 表示刪除一個版本的數據,即為1個cell ,不填寫版本,默認刪除最新的那一個版本,他的意思是,VERSIONS=>3 ,要是設置的時候維護的版本號是3的話,然后第一次name設置的zahngsan,第二次name設置的是lisi,要是刪除的話就是lisi,然后就會變成張三,只會刪除最近的那個時間戳.
  • delete ‘bigdata:hbase1’,‘1001’,‘list1:sex’ delete 加 表名加行名加 列名 刪除sex列

    刪除之后,再次查看 1003 行的,sex列已經沒有了,因為這里的VERSIONS設置的是1

    把列族list1的版本號改為7,然后下面讀取多個版本的數據

    查看一行的多個版本的數據,COLUNM是列,VERSIONS=>7,讀取的是7個版本的數據,但是具體是多少,還是要看當時創建列族的時候,版本號是多少

    2) deleteall 表示刪除所有版本的數據,即為當前行,當前列的多個cell。(執行命令會標記數據為要刪除,不會直接將數據徹底刪除,刪除數據只在特定的時期清理磁盤時進行)
    輸入命令: deleteall ‘bigdata:hbase1’,‘1001’,‘list1:name’ 刪除這個列所有的版本數據

    再次查看這個1001 行 name的數據就為空了

    總結

    以上是生活随笔為你收集整理的Hbase 操作命令的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。