Hadoop平臺搭建與應(yīng)用(第2版)(微課版)-教案 項目8 Hadoop平臺應(yīng)用綜合案例_第1頁
Hadoop平臺搭建與應(yīng)用(第2版)(微課版)-教案 項目8 Hadoop平臺應(yīng)用綜合案例_第2頁
Hadoop平臺搭建與應(yīng)用(第2版)(微課版)-教案 項目8 Hadoop平臺應(yīng)用綜合案例_第3頁
Hadoop平臺搭建與應(yīng)用(第2版)(微課版)-教案 項目8 Hadoop平臺應(yīng)用綜合案例_第4頁
Hadoop平臺搭建與應(yīng)用(第2版)(微課版)-教案 項目8 Hadoop平臺應(yīng)用綜合案例_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

第4頁Hadoop平臺搭建與應(yīng)用教案NO.8教師姓名授課班級授課形式理實一體化授課時間年月日第周授課時數(shù)4授課章節(jié)名稱項目8Hadoop平臺應(yīng)用綜合案例教學(xué)目的(1)熟悉HDFS、Hive、MySQL、HBase的數(shù)據(jù)互導(dǎo)。(2)了解Hive與傳統(tǒng)關(guān)系型數(shù)據(jù)庫的區(qū)別。(3)學(xué)會HDFS、Hive、MySQL、HBase的數(shù)據(jù)互導(dǎo)操作。(4)學(xué)會使用Hive進行簡單的數(shù)據(jù)分析操作。(5)使用Flume、Kafka、Flink進行簡單的模擬流數(shù)據(jù)處理教材分析教學(xué)重點HDFS、Hive、MySQL、HBase的數(shù)據(jù)互導(dǎo)操作教學(xué)難點使用Flume、Kafka、Flink進行簡單的模擬流數(shù)據(jù)處理更新、補充、刪節(jié)內(nèi)容課外作業(yè)熟練HDFS、Hive、MySQL、HBase的數(shù)據(jù)互導(dǎo)操作教學(xué)過程教學(xué)提示項目8Hadoop平臺應(yīng)用綜合案例任務(wù)8.1本地數(shù)據(jù)集上傳到數(shù)據(jù)倉庫Hive中下面把test.txt中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉庫Hive中。為了完成這個操作,需要先把test.txt上傳到HDFS中,再在Hive中創(chuàng)建一個外部表,完成數(shù)據(jù)的導(dǎo)入。1.啟動HDFSHDFS是Hadoop的核心組件,因此,要想使用HDFS,必須先安裝Hadoop。這里已經(jīng)安裝了Hadoop,打開一個終端,執(zhí)行命令“start-all.sh”,啟動Hadoop服務(wù)。執(zhí)行命令“jps”,查看當(dāng)前運行的進程。2.將本地文件上傳到HDFS中將本地文件test.txt上傳到HDFS中,并存儲在HDFS的/bigdatacase/dataset目錄中。在HDFS的根目錄中創(chuàng)建一個新的目錄bigdatacase,并在其中創(chuàng)建一個子目錄dataset。執(zhí)行命令“hadoopdfs-put/usr/local/bigdatacase/dataset/test.txt/bigdatacase/dataset”,將text.txt文件上傳到HDFS的/bigdatacase/dataset目錄中。執(zhí)行命令“hadoopdfs-cat/bigdatacase/dataset/test.txt|head-10”,查看HDFS中的test.txt的前10條記錄。3.在Hive中創(chuàng)建數(shù)據(jù)庫(1)創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表執(zhí)行命令“servicemysqlstart”,啟動MySQL數(shù)據(jù)庫。Hive是基于Hadoop的數(shù)據(jù)倉庫,使用HiveQL語言編寫的查詢語句,最終都會被Hive自動解析為MapReduce任務(wù),并由Hadoop具體執(zhí)行。因此,需要先啟動Hadoop服務(wù),再啟動Hive服務(wù),可通過執(zhí)行命令“hive”來啟動Hive服務(wù)。啟動Hive服務(wù)后,執(zhí)行命令“createdatabasedblab”,在Hive中創(chuàng)建一個數(shù)據(jù)庫dblab。創(chuàng)建外部表。(2)查詢數(shù)據(jù)在Hive命令行模式下,執(zhí)行命令“showcreatetablebigdata_user”,查看表的各種屬性。執(zhí)行命令“descbigdata_user”,查看表的簡單結(jié)構(gòu)。執(zhí)行命令“select*frombigdata_userlimit10”,查看表的前10條數(shù)據(jù)。任務(wù)8.2使用Hive進行簡單的數(shù)據(jù)分析1.簡單查詢分析執(zhí)行命令“selectipfrombigdata_userlimit10”,查詢前10條記錄的ip。2.查詢前20條記錄的ip和time執(zhí)行命令“selectip,timefrombigdata_userlimit20”,查詢前20條記錄的ip和time。3.使用聚合函數(shù)count()統(tǒng)計表中的數(shù)據(jù)執(zhí)行命令“selectcount(*)frombigdata_user”,統(tǒng)計表中的數(shù)據(jù)。任務(wù)8.3Hive、MySQL、HBase數(shù)據(jù)的互導(dǎo)1.Hive預(yù)操作創(chuàng)建臨時表user_action。創(chuàng)建完成后,Hive會自動在HDFS中創(chuàng)建對應(yīng)的數(shù)據(jù)文件/user/hive/warehouse/dbalb.db/user_action。執(zhí)行命令“hadoopdfs-ls/user/hive/warehouse/dblab.db/user_action”,在HDFS中查看創(chuàng)建的user_action表。2.?dāng)?shù)據(jù)導(dǎo)入操作在HiveShell模式下執(zhí)行命令“insertoverwritetabledblab.user_actionselect*fromdblab.bigdata_user”,將bigdata_user表中的數(shù)據(jù)導(dǎo)入到user_action表中。執(zhí)行命令“select*fromuser_actionlimit10”,查詢表的前10條記錄。3.使用Sqoop將數(shù)據(jù)從Hive導(dǎo)入到MySQL中登錄MySQL,在dblab數(shù)據(jù)庫中創(chuàng)建與Hive對應(yīng)的user_action表,并設(shè)置其編碼格式為UTF-8。退出MySQL,進入Sqoop的bin目錄,導(dǎo)入數(shù)據(jù)。使用root用戶登錄MySQL,查看已經(jīng)從Hive導(dǎo)入到MySQL中的數(shù)據(jù)。4.使用Sqoop將數(shù)據(jù)從MySQL導(dǎo)入到HBase中啟動Hadoop集群和HBase服務(wù),并查看集群節(jié)點進程。master1節(jié)點的進程如下。[root@master1bin]#jps1714SecondaryNameNode4437Jps3207HMaster1514NameNode1883ResourceManager3358HRegionServer3039QuorumPeerMainslave1節(jié)點的進程如下。[root@slave1bin]#jps577NodeManager786QuorumPeerMain1811Jps854HRegionServer473DataNodeslave2節(jié)點的進程如下。[root@slave2bin]#jps578NodeManager3154Jps1028QuorumPeerMain474DataNode1102HRegionServer進入HBaseShell。在HBase中創(chuàng)建user_action表。新建一個終端,導(dǎo)入數(shù)據(jù)。再次切換到HBaseShell運行的終端窗口,執(zhí)行命令“scan'user_action'”,查詢插入的數(shù)據(jù)。5.利用HBase-thrift庫將數(shù)據(jù)導(dǎo)入到HBase中首先,使用“pip”命令安裝最新版的HBase-thrift庫。其次,在hbase/bin目錄下啟動thrift相關(guān)命令,開啟9095端口。查看9095端口。執(zhí)行“jps”命令,查看進程運行情況。在HBase中創(chuàng)建student表,其屬性有name、course,并查看創(chuàng)建的表。使用Python編程將本地數(shù)據(jù)導(dǎo)入到HBase中。切換到HBaseShell運行窗口,查詢ip_info中插入的3條數(shù)據(jù)。任務(wù)8.4流數(shù)據(jù)處理的簡單應(yīng)用學(xué)會使用Flume監(jiān)聽端口數(shù)據(jù),存入kafka主題,再使用Flink編程消費Kafka主題內(nèi)容,進行簡單的流數(shù)據(jù)處理,將結(jié)果存入Kafka的另一個主題中。在進行操作前,需確保Hadoop、Zookeeper和Kafka集群已啟動。1、Telnet工具的安裝與使用(1)通過yum命令安裝Telnet和Netcat工具。(2)Netcat工具的使用測試,開啟一個本地7777的TCP協(xié)議端口,等待客戶端發(fā)起連接。新打開一個終端窗口,執(zhí)行“telnet”命令,進入telnet客戶端命令模式在telnet客戶端命令模式下輸入如下信息,向目標(biāo)服務(wù)器發(fā)送“test”和“txt”信息,若要退出命令發(fā)送模式,直接按'^]'即可,然后執(zhí)行quit退出telnet客戶端。在“nc”監(jiān)聽窗口監(jiān)聽到打印數(shù)據(jù)代表測試成功。如果Netcat順利監(jiān)聽到數(shù)據(jù),即可終止上述兩個命令完成測試。2、Kafka主題的創(chuàng)建與查看(1)創(chuàng)建wordcount主題,分區(qū)數(shù)設(shè)為4,副本數(shù)為1。(2)使用"--list"命令查看已經(jīng)創(chuàng)建好的主題列表。(3)通過“--describe--topicwordcount”,可以查看wordcount主題的具體信息3、Flume配置與啟動(1)切換到Flume的conf目錄下。(2)新建并編輯一個配置文件nc_wordcount.conf。(3)啟動Flume(操作窗口請不要關(guān)掉),并指定配置文件為nc_wordcount.conf。4、數(shù)據(jù)流寫入Kafka(1)新開一個終端窗口,通過“telnet127.0.0.17777”連接對應(yīng)端口,并向端口寫入一些單詞數(shù)據(jù)。(2)再次打開一個終端窗口,創(chuàng)建Kafka消費者用于消費“wordcount”主題。5、Flink編程(1)在IDEA中創(chuàng)建一個maven項目,命名為FlinkWordCount。需要在IDEA中安裝Scala插件,并勾選起用。(2)在項目的src/main下新建一個Directory,命名為scala,選中并右擊,選擇”MarkDirectoryas“,在二級菜單下選擇SourcesRoot。(3)在項目名上,右擊選擇OpenModuleSettings,在彈出的頁面中選擇Modules,單擊+號,選擇Scala,若本地沒有scala,則單擊Create...,再單擊Download...,選擇scala版本2.11.0,單擊OK。(4)編輯pom.xml文件。(5)在scala文件夾下,新建scala文件,選擇Object型,命名為WordCount。6、Flink項目的打包、運行和結(jié)果查看(1)將提供的jar包上傳至容器內(nèi),并新打開一個終端窗口,執(zhí)行"flinkrun-m

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論