圖像數(shù)據(jù)存儲與管理實驗手冊-教師用書_第1頁
圖像數(shù)據(jù)存儲與管理實驗手冊-教師用書_第2頁
圖像數(shù)據(jù)存儲與管理實驗手冊-教師用書_第3頁
圖像數(shù)據(jù)存儲與管理實驗手冊-教師用書_第4頁
圖像數(shù)據(jù)存儲與管理實驗手冊-教師用書_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

圖像數(shù)據(jù)存儲與管理

實驗手冊

教師用書

目錄

1參考資料及工具.................................................................1

1.1參考資料及工具..............................................................................1

2圖像數(shù)據(jù)存儲與管理............................................................2

2.1教學(xué)實施步驟................................................................................2

2.2課程介紹....................................................................................3

2.3教學(xué)目地....................................................................................3

2.4學(xué)員分組....................................................................................3

2.5案例背景....................................................................................3

2.6任務(wù)及參考答案.............................................................................3

演練場景1:業(yè)務(wù)需求分析.........................................................................3

演練場景2:項目實施..............................................................................5

演練場景3:項目結(jié)果驗收.........................................................................9

2.7輔助材料與道具.............................................................................10

2.8學(xué)員評估考察點(diǎn).............................................................................10

2.9評分表.....................................................................................10

圖像數(shù)據(jù)存儲與管理實瞼手冊第I頁

X參考資料及工具

1.1參考資料及工具

文檔中所列出地命令以及參考文檔,請根據(jù)實際環(huán)境中地不同產(chǎn)品版本使用對應(yīng)地命令

以及文檔。

參考文檔:

1.《Hadoop官方文檔》

2.《HBase官方文檔中文版》

3.《華為云MapReduce幫助文檔》

軟件工具:

編號工具名稱版本

(公有云)MapReduce服務(wù)HBase集群

1

(物理機(jī))ApacheHadoopHadoop2.7.3+HBase1.3.1

2Java開發(fā)工具IntelliJIDEA(推薦)或Eclipse

圖像數(shù)據(jù)存儲與管理實瞼手冊第3頁

2.2課程介紹

隨著信息技術(shù)地發(fā)展.人們生產(chǎn).收集數(shù)據(jù)地能力大大增強(qiáng),數(shù)據(jù)類型也向多元化地趨勢發(fā)

展,在傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)地基5出上,增加了半結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)。而關(guān)系型數(shù)據(jù)庫受嚴(yán)格

地數(shù)據(jù)模型限制,對復(fù)雜類型地數(shù)據(jù)處理能力較差。

HBase作為分布式NoSQL數(shù)據(jù)庫.適用于大量非結(jié)構(gòu)化數(shù)據(jù)地存儲,如文本,圖像以及視頻

文件.本次課程將主要介紹HBase地圖像存儲與管理。

2.3教學(xué)目地

?能夠掌握使用HBaseShell操作表地常用方法;

?能夠掌握使用Java操作HBase數(shù)據(jù)庫方法;

?能夠掌握HBaseAPI處理圖像數(shù)據(jù)地序列化方法。

2.4學(xué)員分組

開發(fā)者需要根據(jù)案例沒計具體地分組、最大人數(shù)與最小人數(shù)地分組

?建議每組中都有較為活躍地學(xué)員:

?每組3-5人,最多4組.最少2組;

?移動教室桌子.按小組劃分區(qū)域.打印各個小組地組號牌。

2.5案例背景

說明:本文所涉及地案例僅為樣例,實際操作中請以真實設(shè)備環(huán)境為準(zhǔn),具體配置步驟請參

考對應(yīng)地產(chǎn)品文檔。

某互聯(lián)網(wǎng)公司需要大量地圖像數(shù)據(jù)進(jìn)行人工智能模型訓(xùn)練,傳統(tǒng)地數(shù)據(jù)存儲方式成本較

高.大數(shù)據(jù)工程師A需要選擇一個相對經(jīng)濟(jì).高效地數(shù)據(jù)存儲方案并實施該方案具體需要完成

以下步驟:

?業(yè)務(wù)需求分析;

?項目實施;

?項目測試。

2.6任務(wù)及參考答案

演練場景1:業(yè)務(wù)需求分析

背景

公司需要存儲大量地圖像數(shù)據(jù),同時算法部門需要利用圖像數(shù)據(jù)進(jìn)行分析建模工作,大數(shù)

據(jù)工程師B需要設(shè)計一個數(shù)據(jù)存儲方案,在經(jīng)濟(jì)性地基礎(chǔ)上,保證算法部門能高效地提取數(shù)據(jù)。

圖像數(shù)據(jù)存儲與管理實瞼手冊第4頁

田考

,匕'與

請舉例說明常用NoSQL數(shù)據(jù)庫有哪些?

參考答案

?MongoDB;

?HBase;

?Cassandrao

任務(wù)一NoSQL數(shù)據(jù)庫方案選型

請在下列表格中填寫常用地NoSQL存儲模式與具有代表性地數(shù)據(jù)庫產(chǎn)品。

表2?2NoSQL數(shù)據(jù)庫

編號存儲模式代表性數(shù)據(jù)庫產(chǎn)品

1

2

3

4

參考答案

編號存儲模式代表性數(shù)據(jù)庫產(chǎn)品

1Key-ValueievelDB,Redis

2DocumentMongoDB,CouchDB

3列存儲Cassandra.HBase

4圖(Graph)存儲Neo4j,GraphX

問題研討

請描述4種NoSQL存儲模式地適用場景分別是什么?

參考答案

I.Key-Value數(shù)據(jù)庫:簡單易部署,但不適用于部分?jǐn)?shù)據(jù)登詢與更新操作;

2.Document適用于存儲半結(jié)構(gòu)化地文檔數(shù)據(jù),類似于鍵值結(jié)構(gòu)地數(shù)據(jù)庫,且查詢效率更高,

允許鍵值之間存在嵌套:

3.列存儲:可擴(kuò)展性強(qiáng),適用于大規(guī)模分布式數(shù)據(jù)存儲:

4.圖存儲:土要用于關(guān)系構(gòu)建與美系發(fā)現(xiàn)模型.如:構(gòu)建關(guān)系圖譜.最短路徑尋址.N度關(guān)系

查找。

任務(wù)二圖像數(shù)據(jù)導(dǎo)入方式設(shè)計

假設(shè)公司將采集數(shù)據(jù)存放在HDFS文件系統(tǒng)中、請根據(jù)任務(wù)一中所選數(shù)據(jù)庫方案,設(shè)計圖

圖像數(shù)據(jù)存儲與管理實瞼手冊第5頁

像數(shù)據(jù)地導(dǎo)入方式,并在下面框中簡單敘述操作步驟:

參考答案

HDFS中原始圖像數(shù)據(jù)序列將序列化文件

_____------------->

圖像文件化處理,生成序?qū)際Base

列化文件

問題研討

HBase地數(shù)據(jù)導(dǎo)入有哪幾種方式?

參考答案

1.HBaseShell使用put命令直接插入數(shù)據(jù);

2.ImportTsv工具:批量導(dǎo)入csv數(shù)據(jù)文件;

3.調(diào)用org.apache.hadoop.hbase.mapreduce.Import類方法導(dǎo)入:

4.使用BulkLoad導(dǎo)入數(shù)據(jù):

演練場景2:項目實施

二匕旦

目樂

大數(shù)據(jù)工程師A決定使用基于HDFS地HBase作為圖像存儲數(shù)據(jù)庫,并根據(jù)圖像數(shù)據(jù)導(dǎo)

入方式設(shè)計進(jìn)行項目開發(fā)。

思考

請描述將圖像數(shù)據(jù)轉(zhuǎn)化為SequenceFile有哪幾點(diǎn)優(yōu)勢?

參考答案

1.SequenceFile主要用于存儲二進(jìn)制形式地Key-Value文件:

2.SequenceFile能夠?qū)?shù)據(jù)進(jìn)行壓縮:

3.SequenceFile中地Key與Value可以是任意類型Writable或是自定義Writable。

任務(wù)一項目配置

配置項目依賴文件。

項目初始化完成后,在項目依賴包管理文件ponxml中添加相應(yīng)依賴酒已置內(nèi)容如下:

?dependencies標(biāo)簽中包含需要導(dǎo)入地依賴包信息;

?build標(biāo)簽中包含需要安裝地JDK插件信息。

<?xmiversion="I.O"encoding="UTF-8H?>

<projcctxmlns="/POM/4.0.0"

xmlns:xsi="http://.\/'200l/XMLScheina-instance"

____________xsi:schemaLocation="http:〃/PON'1/4.0.()hitpW'xsd/mavcnT.O.O.xsd11〉

圖像數(shù)據(jù)存儲與管理實瞼手冊第6頁

<modclVersion>4.0.0</modclVersion>

<groupld>bigdata</grouplc>

<anitacild>hbase</artitactld>

<version>l.0-SNAPSHOT</version>

<naine>hbase</name>

<uri>http://maven.</url>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEnc(xiing>

</properties>

〈dependencies〉

<dependency>

<groupld>junit</groupld>

<artifactld>junit</artifactld>

<version>3.8.1</version>

<scopc>tcst</scopc>

</depcndcncy>

〈dependency〉

<groupld>org.apache.hbase<groupld>

<artitactld>hbase-server</arlifaclld>

<version>1.3.1</version>

〈/dependency〉

〈dependency》

<groupld>hbase-client</groupld>

<artifactld>1.3.1</artifactId>

〈/dependency〉

〈/dependencies

<build>

<plugin?>>

<plugin>

<groupld>org.apache.maven.plugins</groupld>

<artifactld>maven-piler*p)ugin</artifactld>

〈configuration〉

<sourcc>1.8</sourcc>

<targct>1.8</targct>

</configuration>

</plugin>

</plugins>

</buiId>

</projeci>_____________________________________________________________

問題研討

Java工程中pom.xml文件與sctting.xml文件配置地主要差異是什么?

圖像數(shù)據(jù)存儲與管理實瞼手冊第7頁

參考答案

setling.xml主要用于配置maven地運(yùn)行環(huán)境等一系列通用地屬性;pom.xml是項目級別地

配置文件,主要描述了項目地maven坐標(biāo),依賴關(guān)系。

任務(wù)二在HBase中創(chuàng)建表

使用HBaseShell在HBase中創(chuàng)建表.建表命令為:

?img:自定義地數(shù)據(jù)庫表名;

?{NAME=>'architectureWERSIONS=>5,BLOCKCACHE=>true}:定義列族信息,列

族名為archiieciure,VERSIONS表示對于同一個cell保留最近5個歷史版

本,BLOCKCACHE設(shè)置為tnie表示緩存。

create'img'RNAME=>'architecture',VERSIONS=>5,BLOCKCACHE=>true}

使用list結(jié)果查看表創(chuàng)建結(jié)果:

TABLE

img

ns_blog:conient

ns_blog:fbllowing

ns_blog:relationship

4row(s)in0.0300seconds

使用describe命令查看表信息:

hbase(main):003:0>describe'inig'

TableimgisENABLED

img

COLUMNFAMILIESDESCRIPTION

(NAME=>'architecture',BLOOMFILTER=>'ROW,VERSIONS=>'5',IN.MEMORY=>'fa

lse\KEEP_DELETED_CELLS=>'FALSE',DATA_BLOCK_ENCODING=>'NONE'.TTL=>FORE

VER',PRESSION=>'NONE'.M1N_VERSIONS=>'O',BLOCKCACHE=>'true',BLOCKS1Z

E=>'65536'.REPLICATION.SCOPE=>'0'}

1row(s)in3.3810seconds

問題研討

如何控制HBase數(shù)據(jù)版本信息?

參考答案

設(shè)置VERSIONS參數(shù)值。

任務(wù)三建立表連接

HBase地meta表存放在Zookeeper中,所以與HBase建立連接前需要訪問Zookeeper集群。

創(chuàng)建全局變量:conf與connection0

?conf():用于描述Zookeeper訪問地址;

?img:在HBase中創(chuàng)建用于存放圖像數(shù)據(jù)地表名。

ConfigurationhbaseConf=HBaseConfiguration.create();

//hbaseConf.se(("perty.clientPor(".');

//hbaseConf.setStringsf'hbase.zookeeper.quorum","ip地址

圖像數(shù)據(jù)存儲與管理實瞼手冊第8頁

table=newHTablc(hbascConf,"img");

//Table(able=connection.getTable(TableName.valueOffiing'));

問題研討

HBase與Zookeeper地關(guān)系?

參考答案

Zookeeper是一個分布式系統(tǒng)地集群協(xié)調(diào)管理工具.可以對集群節(jié)點(diǎn)進(jìn)行監(jiān)聽更新、并選舉

出集群中服務(wù)地主節(jié)點(diǎn)。HBase集群中,HRegion會在Zookeeper中注冊地址信息,Zcckeepei

會管理region服務(wù)器地注冊表,同時監(jiān)聽region與客戶端之間地“會話”狀態(tài),若客戶端故障或會

話超時.Zookeeper則刪除臨時會話進(jìn)程.

任務(wù)四生成序列化文件

讀取HDFS文件系統(tǒng)中inpath路徑下地文件.即原始圖像數(shù)據(jù)文件地存放目錄,實例化

writer對象并對inpath路徑下所有文件進(jìn)行遍歷序列化操作,完成之后讀取序列化文件并寫入

HBase中。

Configurationconf=newConfiguration();

URIuri=newURI(inpath);

HleSystemfileSystem=FileSystem.get(uri,conf/'hdls");

writer=SequenceI:ile.createWriter(fileSystem.conf,newPath(oiKpath).Text.class.BytesWritable.class):

listFileAndWriteToSequenceFile(fileSystem.inpath);

org.apache.hadoop.io.lOUtils.closeStream(wri(er);

〃讀取所有文件

URIseqURI=newURI(outpath);

FileSystemfileSystemSeq=FileSystem.geUseqURI,conf);

SequenceFile.Readerreader=newSequenceFile.ReaderffileSystemSeq,newPath(outpath),conf):

publicstaticvoidListSequenceRle(FileSystemfileSystem,Stringpath)throwsException{

finalFileStatusf]listStatuses=fileSystem.listStatus(newPath(path));

for(FilcStatusfilcStatus:listStatuses){

if(filcStatus.isFilc()){

TextfilcTcxt=newTcxl(filcStatus.gctPath().toString());

System.out.priniln(fileTexi.toStringO);

FSDatuInputSlreamin=filcSyslem.open(newPath(fikText.toStringO));

byte[Jbuffer=lOUtils.toByieArray(in);

in.read(buffer);

BytesWritablevalue=newBytesWritable(buffer);

writer.append(fileText,value);

________________)

圖像數(shù)據(jù)存儲與管理實瞼手冊第9頁

if(fileStatus.isDirectorjr()){

LislScquenccFilc(filcSystcm.filcStatus.gclPath().toStrng());

)

}

}_________________________________________________________________________________

問題研討

Hadoop中實現(xiàn)序列化地接口是什么?

參考答案

Writable接口,Writable接口中write。方法將數(shù)據(jù)進(jìn)行序列化,再使用readFields。方法讀取

序列化之后數(shù)據(jù)進(jìn)行反序列化。

演練場景3:項目結(jié)果驗收

匕旦.

目不

已經(jīng)根據(jù)業(yè)務(wù)需求完成項目開發(fā),現(xiàn)在大數(shù)據(jù)工程師A需要對代碼進(jìn)行測試.驗證項目結(jié)

果是否能夠滿足業(yè)務(wù)要求。

任務(wù)一啟動HBase

注:若HBase已正常運(yùn)行,可跳過該任務(wù)。

啟動HBase前請確認(rèn)環(huán)境中已安裝Hadoop并已啟動。進(jìn)入HBase安裝目錄地bin目錄

下,執(zhí)行start-hbase.sh啟動HBase。

HBase啟動后使用jps命令查看服務(wù)進(jìn)程.若進(jìn)程中包含HMaster進(jìn)程,則HBase已正常啟

動。

18709DataNode

18806SecondaryNameNode

34391HMaster

18633NameNode

34442Jps

33742Launcher

問題研討

HBase與Hadoop地依賴關(guān)系是什么?

參考答案

HBase通過Hadoop提供地分布式文件系統(tǒng)進(jìn)行數(shù)據(jù)地持久化存儲,同時也使得

MapReduce能夠訪問HBase進(jìn)行分布式計算。

任務(wù)二代碼測試

運(yùn)行代碼.完成后使用HBaseShell命令查看數(shù)據(jù)導(dǎo)入結(jié)果。從結(jié)果圖中能夠看出、圖像數(shù)

據(jù)以二進(jìn)制形式地文件保存在HBase中。

圖像數(shù)據(jù)存儲與管理實瞼手冊第10頁

hbase(main):002:0>scan'img,

ROWCOLUMN+CELL

4ef44576ed4cb3f058b8column-architecture:content,timestamp-1582203982905,valu

alb2388301d8.jpge-\xFF\xD8\xFF\xE0\x00\xl0JFIF\x00\x01\x01\x00\x00\x01\x0O

\x01\x00\x00\xFF\xDB\x00C\x00\x08\x06\x06\x07\x06\x05\x08\

x07\x07\x07\x09\x09\x08\x0A\x0C\xl4\x0D\x0C\x0B\x0B\x0C\xl

9\xl2\xl3\x0F\xl4\xlD\xlA\xlF\xlE\xlD\xlA\xlC\xlC

?1C\X1C(7),01444\xlF'9-82<.342\xFF\xDB\x00C\x01\x09\x09\xO

9\x0C\x0B\x0C\xl8\x0D\x0D\xl82!\xlC!2222222222222222222222

2222222222222222222222222222\xFF\xC0\x00\xll\x08\x00\xC8\x

問題研討

請簡單描述將圖像數(shù)弟寫入HBase中與讀取KBase中圖像數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論