版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 回填塊石施工方案
- 現(xiàn)場城市水系綜合治理施工方案(河道整治與生態(tài)修復(fù))
- 基于認(rèn)知模型與素養(yǎng)導(dǎo)向的初中化學(xué)“化學(xué)方程式”單元深度教學(xué)與中考提優(yōu)方案
- 探秘中華水系:河流的“脈搏”與“格局”-八年級地理《中國河流》深度學(xué)習(xí)方案
- 污水處理廠運(yùn)營維護(hù)方案
- 幼兒園教師心理健康支持方案
- 吹沙填海與圍堰施工技術(shù)方案應(yīng)用解析
- 外科護(hù)理人員績效考核方案范本解析
- 兒童繞口令趣味教學(xué)方案
- 二年級數(shù)學(xué)非紙筆測試方案
- 2026年及未來5年市場數(shù)據(jù)中國民間美術(shù)文化遺產(chǎn)行業(yè)市場競爭格局及發(fā)展趨勢預(yù)測報告
- 2026西藏自治區(qū)教育考試院招聘非編工作人員11人備考考試試題及答案解析
- 江西省南昌市2025-2026學(xué)年上學(xué)期期末八年級數(shù)學(xué)試卷(含答案)
- 2026內(nèi)蒙古鄂爾多斯市伊金霍洛旗九泰熱力有限責(zé)任公司招聘熱電分公司專業(yè)技術(shù)人員16人筆試模擬試題及答案解析
- 2025至2030中國現(xiàn)代物流業(yè)智慧化轉(zhuǎn)型與多式聯(lián)運(yùn)體系構(gòu)建研究報告
- 馬年猜猜樂(猜地名)打印版
- 妊娠期甲狀腺疾病指南2025版
- GB/T 44592-2024紅樹林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- 直播運(yùn)營指南(從主播修煉、平臺運(yùn)營到商業(yè)獲利)
- (正式版)JBT 14449-2024 起重機(jī)械焊接工藝評定
- 《樹立正確的政績觀》課件
評論
0/150
提交評論