在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Hadoop的數據寫入、備份、刪除操作

存儲界 ? 來源:未知 ? 作者:李倩 ? 2018-04-29 17:13 ? 次閱讀

Google 為了應對快速增長的數據處理,開發了一套算法。后來有人根據算法的思想,開發出開源的軟件框架 ,就是Hadoop, 隨著越來越多的組織和個人開發者在框架開發中不斷貢獻改進,Hadoop 已經形成一套家族產品,成為當下最成功最流行的分布式大數據處理框架。

Hadoop 受到很多組織青睞,是因為有兩大因素:

一、超大規模的數據處理, 通常 10TB 以上;

二、超復雜的計算工作,例如統計和模擬。

Hadoop 在很多應用場景中發揮著主要功用,如大規模統計、ETL數據挖掘、大數據智能分析、機器學習等。

Hadoop 和 傳統SQL關系數據存儲 有什么區別?

Hadoop 讀時模式(Schema on read),傳統SQL是 寫時模式(Schema on write).傳統數據庫存儲時對數據進行檢查,需要檢查表結構定義等必須匹配后才讓存儲(write),否則就報錯。Hadoop 是你拿過任何數據格式我都給你存儲,只要你給我讀取這些數據的接口程序,在用到這些數據時(read),才會檢查。

左邊是Schema on Read ,右邊是Schema on Write。 右邊數據格式不對會報錯,左邊更關注讀數據的規則。Hadoop 是分布式數據庫, 而大部分SQL是集中存儲的。

舉例來講: 微信后臺有可能數千個服務器節點用于存儲微信聊天記錄,假設我的聊天記錄分布在60個不同的服務節點上。而對于關系數據庫,會集中在多個表空間中。

假如我搜索我的一個聊天記錄,Hadoop 會把搜索任務分成多個均衡負載的搜索任務運行在60個節點上。而傳統SQL會逐個搜索存儲空間,直到全部遍歷。如果沒有完全搜索完,會返回搜索結果嗎? Hadoop的回答是YES,而傳統SQL會是NO。

Hadoop 家族的產品 Hive,可以讓不怎么懂SQL 的客戶開發出基本上和SQL同樣功能的查詢

Hadoop 的數據寫入、備份、刪除操作

一、數據寫入

在客戶端想HDFS寫數據的過程中,主要分為下面幾個過程:

客戶端將數據緩存到本地的一個臨時文件中;

當這個本地的臨時文件到達HDFS中的塊大小限制時,客戶端訪問Namenode,Namenode將文件的名字插入到HDFS命名空間中,并且為其分配相應的存儲位置;

Namenode與分配好的Datanode進行溝通,確定存儲位置可用,然后將這些存儲位置信息返回給客戶端;

客戶端將本地的臨時文件傳輸到Datanode中;

當寫文件結束,臨時文件關閉時,會將已有的臨時數據傳輸到Datanode中,并告知Namenode寫數據完成;

Namenode將該文件改變為持久的一致性狀態,也就事將該操作記錄到日志EditLog中。如果此時Namenode宕掉,那么文件信息丟失。

上面的過程主要特點是寫入數據先緩存到本地,在達到塊大小限制時才與Datanode通信進行傳輸。這樣的好處在于避免在客戶寫數據的過程中持續占用網絡帶寬,這對于處理多用戶大量數據的寫入是非常關鍵的。

二、數據備份

數據的寫入同時伴隨這數據塊的備份,過程如下:

在客戶端臨時數據達到一個塊時,與Namenode通信,得到一組Datanode地址,這些Datanode就是用來存儲該數據塊的;

客戶端首先將該數據塊發送到一個Datanode上,Datanode在接受時是以4kb為單位進行,我們把這些小單位稱為緩存頁(參考了Linux管道文件的說法);

對于第一個接到數據的Datanode,它把緩存頁中的數據寫入自己的文件系統,另一方面,它又將這些緩存頁傳送給下一個Datanode;

重復3的過程,第二個Datanode又將緩存頁存儲在本地文件系統,同時將它傳送給第三個Datanode;

如果HDFS中的備份數目設置為3,那么第三個Datanode就只需要將緩存頁存儲即可。

上面的過程中,數據塊從客戶端流向第一個Datanode,然后再流向第二個,從第二個再到第三個,整個是一個流水線過程,中間不會有停頓。所以HDFS將它稱為Replication Pipelining。

為什么不采取客戶端同時向多個Datanode寫數據的方法呢?其實從Pipelining這個稱呼上就可以猜到,客戶端和Datanode采用的緩存文件都是管道文件,即只支持一次讀取。

三、 數據刪除

HDFS中的數據刪除也是比較有特點的,并不是直接刪除,而是先放在一個類似回收站的地方(/trash),可供恢復。

對于用戶或者應用程序想要刪除的文件,HDFS會將它重命名并移動到/trash中,當過了一定的生命期限以后,HDFS才會將它從文件系統中刪除,并由Namenode修改相關的元數據信息。并且只有到這個時候,Datanode上相關的磁盤空間才能節省出來,也就是說,當用戶要求刪除某個文件以后,并不能馬上看出HDFS存儲空間的增加,得等到一定的時間周期以后(現在默認為6小時)。

對于備份數據,有時候也會需要刪除,比如用戶根據需要下調了Replicaion的個數,那么多余的數據備份就會在下次Beatheart聯系中完成刪除,對于接受到刪除操作的Datanode來說,它要刪除的備份塊也是先放入/trash中,然后過一定時間后才刪除。因此在磁盤空間的查看上,也會有一定的延時。

那么如何立即徹底刪除文件呢,可以利用HDFS提供的Shell命令:bin/hadoop dfs expunge清空/trash。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4341

    瀏覽量

    86030
  • Hadoop
    +關注

    關注

    1

    文章

    90

    瀏覽量

    15996

原文標題:Hadoop分布式存儲與傳統SQL存儲比較及存儲操作描述

文章出處:【微信號:cunchujie,微信公眾號:存儲界】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    魅族M8數據備份操作方法圖解步驟

    魅族M8數據備份操作方法圖解步驟魅族M8手機升級固件,優化操作、豐富功能,為了避免原聯系人和已有個人設置信息的丟失,您需要對這些重要的數據
    發表于 04-30 08:23

    山西嵌入式系統課程| Spark與Hadoop計算模型之Spark比Hadoop更...

    上次我們分享了Spark與Hadoop計算模型的內存問題,今天山西思軟嵌入式學員為大家分享Spark與Hadoop計算模型的Spark比Hadoop更通用的問題。 Spark提供的數據
    發表于 11-17 16:44

    從零開始學習hadoop?hadoop快速入門

    Hadoop是在分布式服務器集群上存儲海量數據并運行分布式分析應用的一個平臺,其核心部件是HDFS與MapReduce。HDFS是一個分布式文件系統,可對數據系統進行分布式儲存讀取
    發表于 03-13 15:21

    Hadoop的整體框架組成

    Hadoop是一個用Java編寫的Apache開源框架,允許使用簡單的編程模型跨計算機集群分布式處理大型數據集。Hadoop框架工作的應用程序在跨計算機集群提供分布式存儲和計算的環境中工作
    發表于 05-11 16:00

    Hadoop平臺基本組成

    個模塊,為Hadoop各子項目提供各種工具,如:配置文件和日志操作等。2.HDFS:分布式文件系統,提供高吞吐量的應用程序數據訪問,對外部客戶機而言,HDFS 就像一個傳統的分級文件系統??梢詣摻?/div>
    發表于 05-16 16:04

    hadoop需要什么基礎

    ,就可以開始系統的學習hadoop。當然,若是能夠結合一些實踐性的東西學習會更有助于理解hadoop。學習hadoop需要什么基礎:Linux:① 需要能夠熟練操作linux常用命令以
    發表于 09-20 16:00

    數據hadoop入門之hadoop家族產品詳解

    ` 大數據這個詞也許幾年前你聽著還會覺得陌生,但我相信你現在聽到hadoop這個詞的時候你應該都會覺得“熟悉”!越來越發現身邊從事hadoop開發或者是正在學習hadoop的人變多了。
    發表于 12-26 15:02

    Hadoop學習之概念命令操作java操作

    Hadoop學習筆記(一)—-概念命令操作java操作1. Hadoop概述 HADOOP是apache旗下的一套開源軟件平臺,利用服務器集
    發表于 11-27 20:03 ?1089次閱讀

    itunes備份哪里刪除_怎么把itunes備份文件刪除_如何找回itunes刪除備份

    由于iPhone手機網絡的原因,小編最近開始使用電腦端的iTunes來進行操作,當然后邊如果想要使用備份文件來恢復iPhone手機,也是要在電腦上來操作的。iTunes備份文件在哪?怎
    發表于 12-19 13:55 ?4.2w次閱讀
    itunes<b class='flag-5'>備份</b>哪里<b class='flag-5'>刪除</b>_怎么把itunes<b class='flag-5'>備份</b>文件<b class='flag-5'>刪除</b>_如何找回itunes<b class='flag-5'>刪除</b>的<b class='flag-5'>備份</b>

    基于Hadoop平臺的分布式重復數據刪除解決方案

    針對數據中心存在大量數據冗余的問題,特別是備份數據造成的存儲容量浪費,提出一種基于Hadoop平臺的分布式重復數據
    發表于 12-22 14:19 ?0次下載
    基于<b class='flag-5'>Hadoop</b>平臺的分布式重復<b class='flag-5'>數據</b><b class='flag-5'>刪除</b>解決方案

    hadoop是什么_華為大數據平臺hadoop你了解多少

    Hadoop得以在大數據處理應用中廣泛應用得益于其自身在數據提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,將大數據
    發表于 12-25 16:46 ?2.3w次閱讀
    <b class='flag-5'>hadoop</b>是什么_華為大<b class='flag-5'>數據</b>平臺<b class='flag-5'>hadoop</b>你了解多少

    Mysql如何快速回滾被刪除數據

    數據操作中,難免會因為各種各樣的原因對數據造成損壞,這個時候就需要對數據庫快速恢復。傳統的方法會先恢復mysql備份,再去用mysqlb
    的頭像 發表于 07-29 18:27 ?5296次閱讀
    Mysql如何快速回滾被<b class='flag-5'>刪除</b>的<b class='flag-5'>數據</b>

    消除重復數據刪除的四大誤區

    萬一備份數據流在寫入的時候,只對同一個磁盤進行操作,那么這個問題確實存在。
    發表于 07-23 11:23 ?627次閱讀

    數據庫插入查詢刪除操作教程

    數據庫插入查詢刪除操作教程
    發表于 12-07 09:57 ?2次下載

    Windows驅動器分區可以刪除

    可以刪除Windows驅動器分區。刪除驅動器分區的操作可以在Windows操作系統中的磁盤管理工具中完成。然而,在執行此操作之前,請務必提前
    的頭像 發表于 02-14 17:00 ?1560次閱讀
    主站蜘蛛池模板: 免费两性的视频网站| 日本番囗| 精品视频一二三区| 久久99热久久精品动漫| 超级淫小黄文大全很污的那种| 男女性接交无遮挡免费看视频| 巨臀中文字幕一区二区翘臀| 一级片黄色免费| 天使色吧| 欧美18性精品| 国产私密| 午夜久久网| 国产大毛片| 亚洲一区二区免费| 曰本女人一级毛片看一级毛| 四虎影院久久| 午夜视频在线免费看| 亚洲伊人色一综合网| 色综合综合色| aa在线播放| 午夜网站免费| 性欧美f| 日本午夜三级| 狠狠色综合久久久久尤物| 俺去在线| 免费观看在线aa| 777黄色片| 在线播放12p| 人人草人人爽| 丁香久久婷婷| 美女被日出白浆| 亚洲一区二区视频| 亚洲六月丁香六月婷婷花| 人人插人人艹| xx在线观看| 国产www在线播放| 久久成人精品免费播放| 色综合天天射| 成人丁香婷婷| 国产精品超清大白屁股| 九九热在线免费视频|