智能計算平臺應用開發實踐實驗手冊(高級)-圖像數據存儲與管理實驗手冊-學員用書_第1頁
智能計算平臺應用開發實踐實驗手冊(高級)-圖像數據存儲與管理實驗手冊-學員用書_第2頁
智能計算平臺應用開發實踐實驗手冊(高級)-圖像數據存儲與管理實驗手冊-學員用書_第3頁
智能計算平臺應用開發實踐實驗手冊(高級)-圖像數據存儲與管理實驗手冊-學員用書_第4頁
智能計算平臺應用開發實踐實驗手冊(高級)-圖像數據存儲與管理實驗手冊-學員用書_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

圖像數據存儲與管理

實驗手冊

學員用書

目錄

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

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

2圖像數據存儲與管理.............................2

2.1課程介紹....................................................................................2

2.2教學目地....................................................................................2

2.3案例背景....................................................................................2

2.4任務........................................................................................2

演練場景1:業務需求分析.........................................................................2

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

演練場景3:項目結果驗收.........................................................................7

2.5評分表......................................................................................8

圖像數據存儲與管理實驗手冊第1頁

1參考資料及工具

1.1參考資料及工具

文檔中所列出地命令以及參考文檔,請根據實際環境中地不同產品版本使用對應地命令

以及文檔。

參考文檔:

1.《Hadoop官方文檔》

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

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

軟件工具:

編號工具名稱版本

(公有云)MapReduce服務HBasc集群

1

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

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

圖像數據存儲與管理實驗手冊第2頁

2圖像數據存儲與管理

2.1課程介紹

隨著信息技術地發展,人們生產,收集數據地能力大大增強,數據類型也向多元化地趨勢發

展,在傳統結構化數據地基礎上,增加了半結構化數據與非結構化數據。而關系型數據庫受嚴格

地數據模型限制,對復雜類型地數據處理能力較差。

HBase作為分布式NoSQL數據庫,適用于大量非結構化數據地存儲.如文本,圖像以及視頻

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

2.2教學目地

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

?能夠掌握使用Java操作HBase數據庫方法:

?能夠掌握HBaseAPI處理圖像數據地序列化方法。

2.3案例背景

說明:本文所涉及地案例僅為樣例、實際操作中請以真實設備環境為準,具體配置步驟請參

考對應地產品文檔。

某互聯網公司需要大量地圖像數據進行人工智能模型訓練,傳統地數據存儲方式成本較

高,大數據工程師A需要選擇一個相對經濟,高效地數據存儲方案并實施該方案,具體需要完成

以下步驟:

?業務需求分析;

?項目實施;

?項目測試。

2.4任務

演練場景1:業務需求分析

背景

公司需要存儲大量地圖像數據.同時算法部門需要利用圖像數據進行分析建模工作,大數

據工程師B需要設計一個數據存儲方案,在經濟性地基礎上,保證算法部門能高效地提取數據。

圖像數據存儲與管理實驗手冊第3頁

思考

請舉例說明常用NoSQL數據庫有哪些?

參考答案

?MongoDB;

?HBase;

?Cassandrao

任務一NoSQL數據庫方案選型

請在下列表格中填寫常用地NoSQL存儲模式與具有代表性地數據庫產品。

表24NoSQL數據庫

編號存儲模式代表性數據庫產品

1

2

3

4

問題研討

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

任務二圖像數據導入方式設計

假設公司將采集數據存放在HDFS文件系統中.請根據任務一中所選數據庫方案,設計圖

像數據地導入方式.并在下面框中簡單敘述操作步驟:

問題研討

HBasc地數據導入有哪幾種方式?

演練場景2:項目實施

苔皇

目樂

大數據工程師A決定使用基于HDFS地HBase作為圖像存儲數據庫,并根據圖像數據導

入方式設計進行項目開發。

思考

請描述將圖像數據轉化為SequenceFile有哪幾點優勢?

圖像數據存儲與管理實驗手冊第4頁

任務一項目配置

配置項目依賴文件。

項目初始化完成后,在項目依賴包管理文件pom.xml中添加相應依賴酒己置內容如下:

?dependencies標簽中包含需要導入地依賴包信息;

?build標簽中包含需要安裝地JDK插件信息。

<?xmlversion="1.0"encoding="UTF-8"?>

<projectxinlns="/POM/4.0.0"

xmlns:xsi="http://./200l/XMLSchema-instance"

xsi:schemaLocation="/POM/4.0.0http://maven.apache.Org/xsd/maven-4.0.0.xsd">

<mo<lelVersion>4.0.0</niodelVersion>

<groupld>bigdata</groupld>

<artiftictld>hbase</artifactld>

<version>1.0-SNAPSHOT</version>

<name>hbase</name>

<url>htcp://</url>

<properties>

<project.build.sourceEncoding>UTF-8</project.btild.sourceEncoding>

</properlies>

<dependencies>

<dependency>

<groupld>junit</groupld>

<artifactld>junit</artifactld>

<vcrsion>3.S.1</vcrsion>

<scopc>lcst</scopc>

〈/dependency>

<dependency>

<groupld>org.apache.hbase</groupld>

<artifactld>hbase-server</artifactld>

<vcrsion>1.3.1</vcrsion>

〈/dependency〉

(dependency>

<groupld>hbase-client</groupld>

<artifactld>1.3.1</artifactId>

〈/dependency〉

</dcpcndcncies>

<build>

<plugins>

<plugin>

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

<arliliKlld>mavcn-pilcr-plugin</artifactld>

<configuration>

<saurce>1.8</source>

圖像數據存儲與管理實驗手冊第5頁

<target>1.8</target>

々configuration〉

</plugin>

</plugins>

</build>

</project>

問題研討

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

任務二在HBase中創建表

使用HBaseShell在HBase中創建表、建表命令為:

?img:自定義地數據庫表名;

?(NAME=>'architectureWERSIONS=>5,BLOCKCACHE=>true):定義列族信息冽

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

本,BLOCKCACHE設置為true表示緩存。

crcaie'img',{NAME=>'archiieclure',VERSIONS=>5,BLOCKCACHE=>lrue}

使用list結果查看表創建結果:

TABLE

img

ns_blog:contenl

ns_blog:following

ns_hlog:relationship

4row(s)in0.0300seconds

使用describe命令查看表信息:

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

TableimgisENABLED

img

COLUMNFAMILIESDESCRIPTION

{NAME=>'architecture,.BLOOMFILTER=>RO\V\VERSIONS=>'5'.IN_MEMORY=>'fa

Ise',KEEP_DELETED_CELLS=>'FALSE',DATA_BLOCK_ENCODING=>NONE',TTL=>FORE

VER'.PRESSION=>NONE',MIN_VERS1ONS=>'O',BLOCKCACHE=>'true',BLOCKSIZ

E=>'65536\REPLICATION-SCOPE=>'0'}

1row⑸in3.3810seconds

問題研討

如何控制HBase數據版本信息?

任務三建立表連接

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

創建全局變量:conf與connectiono

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

?img:在HBase中創建用于存放圖像數據地表名。

圖像數據存儲與管理實驗手冊第6頁

ConfigurationhbaseConf=HBaseConfiguration.createO;

//hbaseConf.se【("periy.clieniPorr',’端口號)

//hbaseConf.setStringsC'hbase.zookeeper.quorum","ip地址");

table=newHTable(hbaseConf,"img");

〃Tabiclable=conncciion.gclTable(TablcNamK.valucOf('img'));

問題研討

HBase與Zookeeper地關系?

任務四生成序列化文件

讀取HDFS文件系統中inpath路徑下地文件.即原始圖像數據文件地存放目錄.實例化

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

HBase中。

Configurationconf=newConfiguration();

URIuri=newURI(inpath);

FileSystemfileS)stem=FileSystem.get(uri,conf,"hdfs,);

writer=SequenceFile.crea(eWriter(fileSystem,conf,newPath(outpath),Text.class,BytesWritable.class);

listFileAndWriteToSequenceFiie(fileSystem,inpath);

org.apache.hadoop.io.IOUtils.closeStream(writer);

〃讀取所有文件

URIseqURI=newURI(outpath);

FileSystemfileSysteniSeq=FileSystem.get(seqURI,conf);

SequenceFile.Readerreader=newSequenceFile.Reader(fileSystemSeq.newPath(outpath),conf);

publicstaticvoidListScqucnccFile(FiIcSystemfileSystcm,Stringpath)throwsException{

finalFilcStatus[]listStatuscs=filcSystcm.lisiStalus(newPath(path));

for(FileStatusfileStatus:listStatuses){

if(fileStatus.isFile()){

TextfileText=newText(fileStatus.getPath().toString());

System.out.println(fileText.toStringO);

FSDatalnputStrcamin=filcSystein.opcn(ncwPaih(filcTcxt.toStringO));

byte|]buffer=lOUtils.toByteArray(in);

in.read(bufter);

BytesWritablevalue=newBytesWritable(buffer);

writcr.append(fileText,value);

}

if(fileStatus.isDirectory()){

ListSequenceFile(fileSystem,fileStatus.gelPatli(),toStringO);

}

____________)

圖像數據存儲與管理實驗手冊第7頁

問題研討

Hadoop中實現序列化地接口是什么?

演練場景3:項目結果驗收

背景

已經根據業務需求完成項目開發,現在大數據工程師A需要對代碼進行測試,驗證項目結

果是否能夠滿足業務要求。

任務一啟動HBase

注:若HBase已正常運行,可跳過該任務。

啟動HBase前請確認環境中已安裝Hadoop并已啟動。進入HBase安裝目錄地bin目錄

下,執行start-hbasc.sh啟動HBaseo

HBase啟動后使用jps命令查看服務進程,若進程中包含HMaster進程,則HBase已正常啟

動。

18709DataNode

18806SecondaryNameNode

34391HMaster

18633NameNode

34442Jps

33742Launcher

問題研討

HBase與Hadoop地依賴關系是什么?

任務二代碼測試

運行代碼.完成后變用HBaseShell命令查看數據導入結果。從結果圖中能夠看出.圖像數

據以二進制形式地文件保存在HBase中。

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

ROWCOLUMN+CELL

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

al

溫馨提示

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

評論

0/150

提交評論