hbase shell的常用命令

一、hbase shell的基礎命令

# 版本號查看
[root@Test-Hadoop-NN-01 hbase]$ ./bin/hbase version
HBase 2.4.0
Source code repository git://apurtell-ltm.internal.salesforce.com/Users/apurtell/src/hbase revision=282ab70012ae843af54a6779543ff20acbcbb629# 客戶端登錄
[root@Cloud-Hadoop-NN-01 hbase]$ ./bin/hbase shell# 查看所有表
hbase> list### 創建數據表student,包含Sname、Ssex、Sage、Sdept、course列族/列
### 說明:插入數據指定列族不指定列名時,默認使用列名“” !!!
hbase> create 'student','Sname','Ssex','Sage','Sdept','course'# 描述表信息
hbase> describe 'student'
Table student is ENABLED                                                                                                                                                                       
student                                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                                    
{NAME => 'Sage', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               {NAME => 'Sdept', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSI
ONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                              {NAME => 'Sname', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSI
ONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                              {NAME => 'Ssex', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIO
NS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                               {NAME => 'course', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERS
IONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}                                                                                                             
5 row(s)# 插入數據表student:Sname:xing='Shen'
hbase> put 'student','10001','Sname:xing','Shen'
hbase> put 'student','10001','Sname:ming','HY'
hbase> put 'student','10001','Ssex',1# 查詢數據表student:rowkey='10001'
hbase> get 'student','10001'
Took 0.0052 seconds                                                                                                                                                                            
hbase:014:0> get 'student','10001'
COLUMN                                           CELL                                                                                                                                          Sname:ming                                      timestamp=2025-05-14T16:42:55.882, value=HY                                                                                                   Sname:xing                                      timestamp=2025-05-14T16:42:43.429, value=Shen                                                                                                 Ssex:                                           timestamp=2025-05-14T16:48:28.510, value=1                                                                                                    
1 row(s)
Took 0.0161 seconds    # 查詢數據表student:全部數據
hbase> scan 'student'
ROW                                              COLUMN+CELL                                                                                                                                   10001                                           column=Sname:ming, timestamp=2025-05-14T16:42:55.882, value=HY                                                                                10001                                           column=Sname:xing, timestamp=2025-05-14T16:42:43.429, value=Shen                                                                              10001                                           column=Ssex:, timestamp=2025-05-14T16:48:28.510, value=1                                                                                      
1 row(s)
Took 0.0135 seconds    ### 創建數據表scores:包含grade,course字段
hbase> create 'scores','grade','course'# 插入數據表scores:rowkey=zhangsan01 ......
hbase> put 'scores','zhangsan01','grade:','101'
hbase> put 'scores','zhangsan01','course:art','90'
hbase> put 'scores','zhangsan01','course:math','99',1498003561726  
#這里手動設置時間戳的時候一定不能大于當前系統時間,否則無法刪除該數據。這里手動設置數據是為了下面的DependentColumnFilter過濾器試驗。可以查看一下插入第一條數據的時間戳,再插入第二條數據的時間戳為第一條數據的時間戳
hbase> put 'scores','zhangsan02','grade:','102',1498003601365
hbase> put 'scores','zhangsan02','course:art','90'
hbase> put 'scores','zhangsan02','course:math','66',1498003561726
hbase> put 'scores','lisi01','grade:','201',1498003561726
hbase> put 'scores','lisi01','course:art','89'
hbase> put 'scores','lisi01','course:math','89',1498003561726# 查詢兩個rowkey之間的數據
hbase> scan 'scores',{STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan01                                                  column=course:math, timestamp=1498003561726, value=99                                                                                                                           zhangsan01                                                  column=grade:, timestamp=1498003593575, value=101                                                                                                                               
1 row(s) in 0.0140 seconds# 根據列名查詢
hbase> scan 'scores',{COLUMNS=>'course:art'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     lisi01                                                      column=course:art, timestamp=1498003655021, value=89                                                                                                                            zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan02                                                  column=course:art, timestamp=1498003601365, value=90                                                                                                                            
3 row(s) in 0.0120 seconds# 查詢兩個rowkey之間&根據列名來查詢
hbase> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            
1 row(s) in 0.0110 seconds# 限制查找條數
hbase> scan 'scores',{LIMIT=>1}
ROW                                                          COLUMN+CELL                                                                                                                                                                     zhangsan01                                                  column=course:art, timestamp=1498003561726, value=90                                                                                                                            zhangsan01                                                  column=course:math, timestamp=1498003561726, value=99                                                                                                                           zhangsan01                                                  column=grade:, timestamp=1498003593575, value=101                                                                                                                               
1 row(s) in 0.0140 seconds# 查詢時序數據
hbase> get 'pfme','dh_p_030_13030006@_@1747090800@_@'
# 查詢時序數據
hbase> get 'pfme','dh_p_030_13030006@_@1747130400@_@FF-67-12-02-10-6A'# 客戶端退出
hbase> exit

二、hbase shell 實現rowkey的模糊查詢

# 前綴匹配法
#查詢以"2025"開頭的rowkey,左閉右開區間(性能較高)
hbase> scan 'table_name', {STARTROW => '2025', STOPROW => '2025z'}# 正則表達式過濾
#查詢包含"123"的rowkey(性能較低,全表掃描時慎用,建議配合STARTROW/STOPROW縮小范圍)
hbase> scan 'table_name', {FILTER => "RowFilter(=, 'regexstring:.*123.*')"}# 子串匹配優化方案
#查詢中間含"123"的rowkey(需預知固定長度),適用于已知字段固定位置時的精準匹配
hbase> scan 'table_name', { STARTROW => '000123', STOPROW => '999123z', FILTER => "ValueFilter(=, 'substring:123')"}# 分頁模糊查詢
#分頁查詢含"123"的rowkey(每頁10條),通過STARTROW參數實現翻頁功能
hbase> scan 'table_name', { FILTER => "PageFilter(10) AND RowFilter(=, 'substring:123')"}#eg: 查詢DH專業的ct-tsdb
scan 'pfme', {STARTROW => 'dh_p_030_13030006@_@1747206000', STOPROW => 'dh_p_030_13030006@_@1747206000z'}

三、hbase shell 實現列值的模糊查詢

#查詢列族cf和列名c1中以123開頭的所有行
hbase> scan 'table_name', {COLUMNS => ['cf:c1'], FILTER => "(PrefixFilter('123'))"}#查詢指定的列值中包含"123"的所有行
hbase> scan 'table_name', {COLUMNS => ['cf1:c1', 'cf2:c2'], FILTER => "ValueFilter(=, regexstring:'.*123.*')"}

參考文檔:
https://blog.csdn.net/m0_37739193/article/details/73615016#
https://blog.csdn.net/vbirdbest/article/details/88236575

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81573.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81573.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81573.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入解析Python中的Vector2d類:從基礎實現到特殊方法的應用

引言 在Python面向對象編程中,特殊方法(或稱魔術方法)是實現對象豐富行為的關鍵。本文將以Vector2d類為例,詳細講解如何通過特殊方法為自定義類添加多種表示形式和操作能力。 Vector2d類的基本行為 Vector2d類是一個二維向量類…

Zookeeper入門(三)

Zookeeper Java 客戶端 項目構建 ookeeper 官方的客戶端沒有和服務端代碼分離&#xff0c;他們為同一個jar 文件&#xff0c;所以我們直接引入 zookeeper的maven即可&#xff0c; 這里版本請保持與服務端版本一致&#xff0c;不然會有很多兼容性的問題 1 <dependency>…

Redis的主從架構

主從模式 全量同步 首先主從同步過程第一步 會先比較replication id 判斷是否是第一次同步假設為第一次同步 那么就會 啟動bgsave異步生成RDB 同時fork子進程記錄生成期間的新數據發送RDB給從節點 清空本地數據寫入RDB 增量同步 對比ReplicationID不同因此選擇增量同步在Rep…

新電腦軟件配置二:安裝python,git, pycharm

安裝python 地址 https://www.python.org/downloads/ 不是很懂為什么這么多版本 安裝windows64位的 這里我是憑自己感覺裝的了 然后cmd輸入命令沒有生效&#xff0c;先重啟下&#xff1f; 重啟之后再次驗證 環境是成功的 之前是輸入的python -version 命令輸入錯誤 安裝pyc…

docker 學習記錄

docker pull nginx docker 將本地nginx快照保存到當前文件夾下 docker save -o nginx.tar nginx:latestdocker 將本地nginx 加載 docker load -i nginx.tar docker運行nginx在80端口 docker run --name dnginx -p 80:80 -d nginxredis啟動 docker run --name mr -p 6379:6379 -…

什么是私有IP地址?如何判斷是不是私有ip地址

在互聯網的世界中&#xff0c;IP地址是設備之間通信的基礎標識。無論是瀏覽網頁、發送郵件還是在線游戲&#xff0c;IP地址都扮演著至關重要的角色。然而&#xff0c;并非所有的IP地址都是公開的&#xff0c;有些IP地址被保留用于內部網絡&#xff0c;這就是我們所說的私有IP地…

功能安全管理

一、功能安全整體管理 1、功能安全文化&#xff0c;良好的功能安全文化包括&#xff1a; 1&#xff09; 在公司層面&#xff0c;有清晰的組織架構支撐功能安全開展 2&#xff09; 確保有足夠的資源投入到功能安全開發中 3&#xff09; 有完整的功能安全培訓 4&#xff09; 流程…

異常日志規范

目錄 一、錯誤碼 二、異常處理 三、日志規約 一、錯誤碼 強制&#xff1a; 1、錯誤碼的制訂原則&#xff1a;快速溯源、溝通標準化。 1&#xff09;錯誤碼必須能夠快速知曉錯誤來源&#xff0c;可快速判斷是誰的問題。 2&#xff09;錯誤碼必須能夠清晰地比對&#xff08;…

SOLID 面對象設計的五大基本原則

SOLID 原則的價值 原則核心價值解決的問題SRP職責分離&#xff0c;提高內聚性代碼臃腫、牽一發而動全身OCP通過擴展而非修改實現變化頻繁修改現有代碼導致的風險LSP確保子類行為的一致性繼承濫用導致的系統不穩定ISP定制化接口&#xff0c;避免依賴冗余接口過大導致的實現負擔…

Python 裝飾器詳解

裝飾器是 Python 中一種強大的語法特性&#xff0c;它允許在不修改原函數代碼的情況下動態地擴展函數的功能。裝飾器本質上是一個高階函數&#xff0c;它接受一個函數作為參數并返回一個新的函數。 基本裝飾器 1. 簡單裝飾器示例 def my_decorator(func):def wrapper():prin…

無損耗協議:PROFINET和EtherNet IP網關的高效安裝指南

作為風力發電機組監控系統的重要組成部分&#xff0c;PROFINET和EtherNet/IP協議轉換網關倍訊BX-606-EIP的安裝至關重要。作為安裝工,我們要確保網關安裝的高效順利,保證風力發電機組的穩定運行。 首先,我們需要仔細檢查網關的硬件接口,確保所有連接線纜與設備端口相匹配。網關…

Axure元件動作四:設置選中

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:設置選中 主要內容:選中效果全面解析 應用場景:元件、元件組合需要被選中場景 案例展…

大模型為什么學新忘舊(大模型為什么會有災難性遺忘)?

字數&#xff1a;2500字 一、前言&#xff1a;當學霸變成“金魚” 假設你班上有個學霸&#xff0c;數學考滿分&#xff0c;英語拿第一&#xff0c;物理稱霸全校。某天&#xff0c;他突然宣布&#xff1a;“我要全面發展&#xff01;從今天起學打籃球&#xff01;” 一周后&am…

通過SMTP協議實現Linux郵件發送配置指南

一、環境準備與基礎配置 1. SMTP服務開通&#xff08;以qq郵箱為例&#xff09; 登錄qq郵箱網頁端&#xff0c;進入「設置」-「POP3/SMTP/IMAP」 開啟「SMTP服務」并獲取16位授權碼&#xff08;替代郵箱密碼使用&#xff09; 記錄關鍵參數&#xff1a; SMTP服務器地址&#…

react中安裝依賴時的問題 【集合】

目錄 依賴升級/更新 1、 npm install --save-dev 與 npm install 的區別 1. ?安裝位置&#xff08;依賴類型&#xff09;? 2. ?package.json 中的區別? 3. ?示例 4. ?何時使用哪種方式? 2、npm install 和 yarn add 有什么不一樣嗎 ?命令語法?&#xff1a; …

Coze 實戰教程 | 10 分鐘打造你的AI 助手

> 文章中的 xxx 自行替換&#xff0c;文章被屏蔽了。 &#x1f4f1; 想讓你的xxx具備 AI 對話能力&#xff1f;本篇將手把手教你&#xff0c;如何用 Coze 平臺快速構建一個能與用戶自然交流、自動回復提問的 xxx助手&#xff0c;零代碼、超高效&#xff01; &#x1f4cc;…

【Spring Cloud Gateway】Nacos整合遇坑記:503 Service Unavailable

一、場景重現 最近在公司進行微服務架構升級&#xff0c;將原有的 Spring Cloud Hoxton 版本升級到最新的 2021.x 版本&#xff0c;同時使用 Nacos 作為服務注冊中心和配置中心。在完成基礎框架搭建后&#xff0c;我使用 Spring Cloud Gateway 作為API 網關&#xff0c;通過 N…

寶塔面板屏蔽垃圾搜索引擎蜘蛛和掃描工具的辦法

首先進入寶塔面板&#xff0c;文件管理進入/www/server/nginx/conf目錄&#xff0c;新建空白文件kill_bot.conf。然后將以下代碼保存到當前文件中。 #禁止垃圾搜索引擎蜘蛛抓取if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Ha…

Docker拉取鏡像報錯Error response from daemon: Get “https://registry-1.docker.io/v2/“

記一次Docker拉取鏡像的報錯 使用docker拉取鏡像時&#xff0c;出現報錯 [rootcentos8 ~]# sudo docker pull mysql:8.0 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.T…

Ansible模塊——文件內容修改

修改文件單行內容 ansible.builtin.lineinfile 可以按行修改文件內容&#xff0c;一次修改一行&#xff0c;支持正則表達式。 選項名 類型 默認值 描述 attributesstrnull 設置目標文件的 Linux 文件系統屬性&#xff08;attribute bits&#xff09;&#xff0c;作用類似于…