paulwong

          HBASE讀書(shū)筆記-基礎(chǔ)功能

          1. HBASE的SHELL命令使用

          2. HBASE的JAVA CLIENT的使用

            新增和修改記錄用PUT。

            PUT的執(zhí)行流程:
            首先會(huì)在內(nèi)存中增加MEMSTORE,如果這個(gè)表有N個(gè)COLOUMN FAMILY,則會(huì)產(chǎn)生N個(gè)MEMSTORE,記錄中的值屬于不同的COLOUMN FAMILY的,會(huì)保存到不同的MEMSTORE中。MEMSTORE中的值不會(huì)馬上FLUSH到文件中,而是到MEMSTORE滿的時(shí)候再FLUSH,且FLUSH的時(shí)候不會(huì)寫(xiě)入已存在的HFILE中,而是新增一個(gè)HFILE去保存。另外會(huì)寫(xiě)WRITE AHEAD LOG,這是由于新增記錄時(shí)不是馬上寫(xiě)入HFILE的,如果中途出現(xiàn)DOWN機(jī)時(shí),則HBASE重啟時(shí)會(huì)根據(jù)這個(gè)LOG來(lái)恢復(fù)數(shù)據(jù)。

            刪除記錄用DELETE。

            刪除時(shí)并不會(huì)將在HFILE中的內(nèi)容刪除,而是作一標(biāo)記,然后在查詢(xún)的時(shí)候可以不取這些記錄。

            讀取單條記錄用GET。

            讀取的時(shí)候會(huì)將記錄保存到CAHE中,同樣如果這個(gè)表有N個(gè)COLOUMN FAMILY,則會(huì)產(chǎn)生N個(gè)CAHE
            ,記錄中的值屬于不同的COLOUMN FAMILY的,會(huì)保存到不同的CAHE中。這樣下次客戶端再取記錄時(shí)會(huì)綜合CAHE和MEMSTORE來(lái)返回?cái)?shù)據(jù)。

            新增表用HADMIN。

            查詢(xún)多條記錄用SCAN和FILTER。

          3. HBASE的分布式計(jì)算

            為什么會(huì)有分布式計(jì)算
            前面的API是針對(duì)ONLINE的應(yīng)用,即要求低延時(shí)的,相當(dāng)于OLTP。而針對(duì)大量數(shù)據(jù)時(shí)這些API就不適用了。
            如要針對(duì)全表數(shù)據(jù)進(jìn)行分析時(shí)用SCAN,這樣會(huì)將全表數(shù)據(jù)取回本地,如果數(shù)據(jù)量在100G時(shí)會(huì)耗幾個(gè)小時(shí),為了節(jié)省時(shí)間,引入多線程做法,但要引入多線程時(shí),需遵從新算法:將全表數(shù)據(jù)分成N個(gè)段,每段用一個(gè)線程處理,處理完后,交結(jié)果合成,然后進(jìn)行分析。

            如果數(shù)據(jù)量在200G或以上時(shí)間就加倍了,多線程的方式不能滿足了,因此引入多進(jìn)程方式,即將計(jì)算放在不同的物理機(jī)上處理,這時(shí)就要考慮每個(gè)物理機(jī)DOWN機(jī)時(shí)的處理方式等情況了,HADOOP的MAPREDUCE則是這種分布式計(jì)算的框架了,對(duì)于應(yīng)用者而言,只須處理分散和聚合的算法,其他的無(wú)須考慮。

            HBASE的MAPREDUCE
            使用TABLEMAP和TABLEREDUCE。

            HBASE的部署架構(gòu)和組成的組件
            架構(gòu)在HADOOP和ZOOPKEEPER之上。

            HBASE的查詢(xún)記錄和保存記錄的流程
            說(shuō)見(jiàn)前一編博文。

            HBASE作為數(shù)據(jù)來(lái)源地、保存地和共享數(shù)據(jù)源的處理方式
            即相當(dāng)于數(shù)據(jù)庫(kù)中JOIN的算法:REDUCE SIDE JOIN、MAP SIDE JOIN。

          posted on 2013-02-06 09:53 paulwong 閱讀(615) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): HADOOP云計(jì)算HBASE

          主站蜘蛛池模板: 湟中县| 桃江县| 呈贡县| 镇宁| 万州区| 寿光市| 沙河市| 滕州市| 阜新| 孟连| 达尔| 曲周县| 张北县| 霍邱县| 江都市| 招远市| 定远县| 利辛县| 塔河县| 巴彦淖尔市| 枝江市| 巫溪县| 习水县| 宁都县| 东乌| 大城县| 四川省| 瓦房店市| 门源| 清流县| 灵丘县| 新蔡县| 仪征市| 鲁甸县| 阿拉善右旗| 巧家县| 那曲县| 邯郸县| 泽州县| 霍州市| 澎湖县|