大數據學習(105)-Hbase

🍋🍋大數據學習🍋🍋

🔥系列專欄: 👑哲學語錄: 用力所能及,改變世界。
💖如果覺得博主的文章還不錯的話,請點贊👍+收藏??+留言📝支持一下博主哦🤞


HBase簡介

HBase是一個基于Hadoop的分布式、可擴展、支持大數據存儲的數據庫。

使用場景:需要隨機或實時讀寫大數據的場景

目標:支持數十億行和數百萬列的大表

底層技術對應關系:

分布式列存儲BigTableHBase(基于Hadoop)BigTable是Google的分布式列存儲系統,HBase是其開源實現,提供稀疏多維映射表。
分布式文件系統GFS(Google File System)HDFS(Hadoop Distributed File System)GFS是Google的早期分布式文件系統,HDFS是其開源版本,支持大規模數據存儲。
海量數據處理框架MapReduceHadoop MapReduceMapReduce是Google提出的分布式計算模型,Hadoop MapReduce是其開源實現。
分布式協同服務管理ChubbyZookeeperChubby是Google的分布式鎖服務,Zookeeper是其開源實現,用于協調分布式系統。

數據模型

HBase采用表來組織數據,采用命名空間(NameSpace)對表進行邏輯分組。

NameSpace: 命名空間,類似于mysql中的database,默認有default和hbase,用戶表默認在default中

表:HBase采用表來組織數據,表由行和列組成,列劃分為若干個列族。

行:每個HBase表都由若干行組成,每個行由可排序的**行鍵(row key)**來標識。

列:采用列族:列限定符的形式確定具體的一列。

列族:一個HBase表被分組成許多“**列族”(Column Family)**的集合,它是基本的訪問控制單元。列族可以動態添加,但在定義表時需要指定至少一個列族,在使用某個列族時要事先定義。
列限定符:表在水平方向由一個或者多個列族組成,一個列族中可以包含任意多個列,同一個列族里面的數據存儲在一起。列族里的數據通過**“列限定符”(Column qualifier)**來定位。
單元格:在HBase表中,通過行、列族和列限定符確定一個“單元格”(cell),單元格中存儲的數據沒有數據類型,總被視為字節數組byte[],所以在定義表時無需定義數據的類型,使用時用戶需要自行進行數據類型轉換。

時間戳:每個單元格都保存著同一份數據的多個版本,這些版本采用時間戳進行索引, HBase中執行更新操作時,并不會刪除數據舊的版本,而是生成一個新的版本,舊有的版本仍然保留(這是和HDFS只允許追加不允許修改的特性相關的)

HBase是一個稀疏、多維度、排序的映射表,這張表的索引是行鍵、列族、列限定符和時間戳,在進行數據存儲的時,其采用key-value形式:Table + RowKey(升序) + ColumnFamily + Column + Timestamp --> Value

系統架構

HBase采用主從結構設計,基礎存儲依賴于HDFS,協調服務依賴于Zookeeper集群,HMaster負責HBase的管理操作,HRegionServer負責數據的相關操作。

客戶端(Client)

客戶端包含訪問HBase的接口,同時在緩存中維護著已經訪問過的Region位置信息,用來加快后續數據訪問過程。

對于管理類操作,Client與HMaster進行RPC

對于數據讀寫操作,Client與HRegion Server進行RPC

Zookeeper服務器

Zookeeper是Chubby算法的一種開源實現

  1. 保證任何時候,集群中只有一個活躍的master,因為為了保證安全性會啟動多個Master
  2. 存儲所有Region的尋址入口
  3. 實時監控Region Server的狀態,將Region Server的上下線的信息匯報給HMaster。
  4. 存儲Hbase的元數據(Schema)包括,知道整個Hbase集群中有哪些Table,每個 Table 有哪些column family(列族)

Master服務器

主服務器主要負責表和Region的管理工作, 其實現類為 HMaste :

  • 對于表的操作:create, delete, alter
  • 對于 RegionServer 的操作:
  1. 實現不同Region服務器之間的負載均衡
  2. 在Region分裂或合并后,負責重新調整Region的分布
  3. 對發生故障失效的Region服務器上的Region進行遷移

Region服務器

Region服務器是HBase中最核心的模塊,維護Master分配給他的 Region ,其實現類為 HRegionServer ,主要組成如下:

  • 一個Region服務器包含多個Region,這些Region共用一個HLog文件
  • Region由一個或者多個Store組成,每個Store保存一個 Columns Family。
  • 每個Strore又由一個MemStore和0至多個StoreFile組成。
  • MemStore存儲在內存中,StoreFile存儲在HDFS
  • StoreFile的底層實現是HFile

主要作用如下:

  1. 對于數據的操作:get, put, delete
  2. 對于 Region 的操作:splitRegion、compactRegion

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

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

相關文章

【數學建模】

全國大學生數學建模競賽(CUMCM)歷年試題速瀏(查看超級方便)_全國大學生數學建模競賽真題-CSDN博客 高教社杯全國大學生數學建模競賽歷年賽題(含解析、評閱) - 賽氪教育 年份 賽題 真題 問題類型 對應算法及模型 2023年 A題 定日鏡場的優化設計 …

【Python語言基礎】18、多態

文章目錄 1. 多態1.1 什么是多態1.2 多態實現方式1.3 多態的好處1.4 多態的好處1.5 不同層面的理解1.6 多態的優缺點 1. 多態 在 Python 里,多態是一種非常有用的編程特性,它能讓你以統一的方式處理不同類型的對象 1.1 什么是多態 多態就好比在生活中…

AI多模態論文解讀:OmniCaptioner:多領域視覺描述生成框架(附腦圖)

AIGCmagic社區知識星球是國內首個以AIGC全棧技術與商業變現為主線的學習交流平臺,涉及AI繪畫、AI視頻、大模型、AI多模態、數字人以及全行業AIGC賦能等100應用方向。星球內部包含海量學習資源、專業問答、前沿資訊、內推招聘、AI課程、AIGC模型、AIGC數據集和源碼等…

Spring IoC深度解析:掌控Bean存儲藝術與分層架構的智慧??

一、IoC的本質:從"造物主"到"使用者"的思維躍遷 在傳統編程中,開發者像"造物主"一樣親手創建每個對象(new UserController()),并管理它們的依賴關系。這種方式導致代碼高度耦合&#xf…

ubuntu22.04下安裝mysql以及mysql-workbench

一、mysql安裝以及配置 安裝之前先查看是否已將安裝mysql: rpm -qa | grep mysql (一)、在線安裝 保證網絡正常的情況下: 1、更新軟件包: sudo apt update 2、安裝mysql安裝包 查看可以安裝的安裝包: sudo apt search mysql-server 安裝指定安裝包: sudo apt i…

第二屆數字圖像處理與計算機應用國際學術會議(DIPCA 2025)

重要信息 時間:2025年4月25-27日 地點:中國-西安 官網:www.icipca.net(了解詳情) 部分展示 征稿主題 包括但不限于: 圖像處理:模式識別、計算機視覺、低級視覺和圖像處理、光學技術在圖像中的…

【后端開發】Spring MVC階段總結

文章目錄 快捷引入依賴lombok的使用Lombok依賴Lombok使用Lombok注解 三層架構分層的目的MVC與分層的區別三層架構分層的好處 企業命名規范常見命名命名風格介紹大駝峰風格小駝峰風格包名 常見注解Cookie與Session 快捷引入依賴 這個方法可以快捷引入依賴,但是引入依…

FastAPI依賴注入系統及調試技巧

title: FastAPI依賴注入系統及調試技巧 date: 2025/04/11 15:00:50 updated: 2025/04/11 15:00:50 author: cmdragon excerpt: FastAPI的依賴注入系統采用樹狀結構管理依賴關系,自動解析并執行依賴項。復雜依賴關系可能導致循環依賴、性能問題、邏輯錯誤和調試困難。使用Fa…

DeepSeek賦能!企業私有化知識庫3大搭建方案拆解

最近公司要搭建一個私有化的知識庫,通過對比分析,發現企業級私有化知識庫搭建有多種方案選型,今天就分享下這幾種企業私有化知識庫搭建方案。 一、為何選擇本地部署? 這個分個人還是企業,如果個人用,其實各…

對稱加密與非對稱加密與消息摘要算法保證https的數據交互的完整性和保密性

一、對稱加密與非對稱加密的作用 1. 對稱加密 作用: 保密性:對稱加密使用相同的密鑰對數據進行加密和解密,確保數據在傳輸過程中不被竊聽。效率:對稱加密算法(如AES)計算速度快,適合加密大量數…

程序化廣告行業(76/89):行業融資全景剖析與代碼應用拓展

程序化廣告行業(76/89):行業融資全景剖析與代碼應用拓展 大家好!在之前的文章里,咱們一起了解了程序化廣告行業的發展趨勢以及PC端和移動端投放的差異。今天,咱們接著深入學習,這次聚焦在程序化…

兩個樹莓派如何通過wifi direct傳輸視頻并顯示

這里寫自定義目錄標題 在兩臺設備上安裝必要軟件Wi-Fi Direct接收端IP(自動發現或靜態設置)設置攝像頭參數顯示初始化網絡設置 系統架構概述 發送端樹莓派:捕獲視頻(攝像頭或視頻文件)→ 編碼 → 通過Wi-Fi Direct傳輸…

ubuntu22.04安裝ROS2 humble

參考: https://zhuanlan.zhihu.com/p/702727186 前言: 筆記本安裝了ubuntu20.04安裝ros一直失敗,于是將系統升級為ununut22.04,然后安裝ros,根據上面的教程,目前看來是有可能成功的。 系統升級為ununut…

Python 類型轉換詳解

文章目錄 Python 類型轉換詳解基本類型轉換函數1. 轉換為整數 (int())2. 轉換為浮點數 (float())3. 轉換為字符串 (str())4. 轉換為布爾值 (bool()) 容器類型轉換1. 轉換為列表 (list())2. 轉換為元組 (tuple())3. 轉換為集合 (set())4. 轉換為字典 (dict()) 特殊類型轉換1. AS…

【Python Requests 庫詳解】

目錄 簡介一、安裝與導入安裝導入 二、發送 HTTP 請求1. GET 請求基本請求URL 參數 2. POST 請求表單數據提交JSON 數據提交文件上傳 3. 其他方法PUT 請求示例DELETE 請求示例 三、處理響應1. 響應內容解析文本內容處理二進制內容處理JSON 數據處理 2. 響應狀態與頭信息狀態碼檢…

【Python 開源】你的 Windows 關機助手——PyQt5 版定時關機工具

🖥? 你的 Windows 關機助手——PyQt5 版定時關機工具 相關資源文件已經打包成EXE文件,可雙擊直接運行程序,且文章末尾已附上相關源碼,以供大家學習交流,博主主頁還有更多Python相關程序案例,秉著開源精神的…

【MySQL】002.MySQL數據庫基礎

文章目錄 數據庫基礎1.1 什么是數據庫1.2 基本使用創建數據庫創建數據表表中插入數據查詢表中的數據 1.3 主流數據庫1.4 服務器,數據庫,表關系1.5 MySQL架構1.6 SQL分類1.7 存儲引擎1.7.1 存儲引擎1.7.2 查看存儲引擎1.7.3 存儲引擎對比 前言&#xff1a…

滑動窗口(3)—無重復字符的最長子串

文章目錄 題目解析方法一:滑動窗口解法二(暴?求解)(不會超時,可以通過):附Java代碼 力扣題目:無重復字符的最長子串 題目解析 方法一:滑動窗口 思路和算法 我們先用一…

C++字符串操作詳解

引言 字符串處理是編程中最常見的任務之一,而在C中,我們有多種處理字符串的方式。本文將詳細介紹C中的字符串操作,包括C風格字符串和C的string類。無論你是C新手還是想鞏固基礎的老手,這篇文章都能幫你梳理字符串處理的關鍵知識點…

Vulhub-DC-4靶場通關攻略

下載地址:https://www.vulnhub.com/entry/dc-4,313/ 掃描IP地址 arp-sacn -l掃描端口,開啟了80和22端口 nmap -p- 192.168.112.140訪問80端口 掃描目錄,并沒有發現敏感目錄 嘗試爆破 爆破成功,用戶名admin 密碼happy 登錄成功 …