大數據分析與應用微課版-課件 項目3 電商產品數據分布式處理_第1頁
大數據分析與應用微課版-課件 項目3 電商產品數據分布式處理_第2頁
大數據分析與應用微課版-課件 項目3 電商產品數據分布式處理_第3頁
大數據分析與應用微課版-課件 項目3 電商產品數據分布式處理_第4頁
大數據分析與應用微課版-課件 項目3 電商產品數據分布式處理_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

項目三

電商產品數據分布式存儲2023年2月使用正則表達式匹配電商產品數據目錄Content1使用HadoopStreaming處理電商產品數據2數據缺失數據格式不統一項目導言零使用MapReduce框架對數據進行清洗學習目標零知識目標了解MapReduce;熟悉MapReduce的架構;掌握YARN與MapReduce的關系;掌握正則表達式元字符含義。技能目標具備使用正則表達式匹配文本的能力;具備運行HadoopStreaming的能力;具備實現數據清洗的能力。素養目標具有健康的體魄、健全的人格和健康的個性;具有良好的行為習慣和良好的心理素質;具有較強的勞動組織能力、集體意識和社會責任心;具有發現問題、分析問題、解決問題的能力。任務3-1:使用正則表達式匹配電商產品數據壹任務技能MapReduce簡介MapReduce是由Google公司研究并提出的分布式運算編程框架,主要是為了解決搜索引擎中大規模網頁數據的并行化處理問題YARN簡介ApacheHadoopYARN,全稱YetAnotherResourceNegotiator,是Hadoop通用資源管理和調度平臺

正則表達式正則表達式(RegularExpression,RE),又稱規則表達式,在代碼中常簡寫為regex、regexp或RE,是一種文本模式任務3-1:使用正則表達式匹配電商產品數據壹1MapReduce簡介HadoopMapReduce極大地方便了編程人員在不會分布式編程的情況下,將自己的程序運行在分布式系統上(1)MapReduce起源MapReduce是由Google公司研究并提出的分布式運算編程框架,主要是為了解決搜索引擎中大規模網頁數據的并行化處理問題。任務3-1:使用正則表達式匹配電商產品數據壹(2)什么是MapReduceMapReduce可以分成Map和Reduce兩部分理解,Map是一個映射過程,能夠將一組數據按照某種Map函數映射成新的數據,Reduce是一個歸納過程,把若干組映射結果進行匯總并輸出映射、變換、過濾的過程。一條數據進入map會被處理成多條數據MapReduce分解、縮小、歸納的過程。一組數據進入reduce會被歸納為一組數據(或者多組數據)任務3-1:使用正則表達式匹配電商產品數據壹(3)MapReduce1.0架構MapReduce目前有兩個版本分別為MapReduce1.0和基于YARN的MapReduce2.0,與HDFS一樣相同,同樣采用了Master/Slave架構,主要由Client、JobTracker、TaskTracker、Task四個部分組成任務3-1:使用正則表達式匹配電商產品數據壹(4)分布式處理框架的“HelloWorld”分布式處理架構也擁有自己的“HelloWorld”程序就是WordCount(單詞計數)任務3-1:使用正則表達式匹配電商產品數據壹2YARN簡介YARN是Hadoop通用資源管理和調度平臺,能夠為MapReduce、storm、Spark等計算框架,即上層應用,提供統一的資源管理和調度,使資源管理、數據共享、集群利用率等方面有了極大的提升任務3-1:使用正則表達式匹配電商產品數據壹(1)設計目標YARN也被稱為下一代計算平臺,YARN將部分職責委派給TaskTracker,因為集群中有許多TaskTracker任務3-1:使用正則表達式匹配電商產品數據壹(2)YARN結構中各組件說明ResourceManager負責統一管理和調度各NodeManager上的資源NodeManager各節點的資源和任務管理器,負責節點的維護工作ApplicationMaster負責調度和協調具體應用程序ContainerYARN資源)的抽象,用于資源分配時資源劃分的單位任務3-1:使用正則表達式匹配電商產品數據壹(3)YARN執行流程MRApplicationMaster將執行的結果反饋給集群的應用管理者ResourceManager接收到請求后,ApplicationManager與NodeManager進行通信ResourceScheduler將資源分配給MRApplicationMaster,NodeManager啟動MapTask和ReduceTaskclient可以通過瀏覽器訪問MRApplicationMaster去監控MapTask和ReduceTask的執行情況MapTask和ReduceTask將執行的結果反饋給MRApplicationMasterclient向ResourceManager發出命令請求MRApplicationMaster創建完成后向ResourceManager發送已經創建完畢并注冊的信息,同時向ResourceScheduler申請資源執行結束任務3-1:使用正則表達式匹配電商產品數據壹3正則表達式正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯正則表達式任務3-1:使用正則表達式匹配電商產品數據壹(1)正則表達式定義正則表達式是字符串,它包含文本和特殊字符。利用文字與特定字符的混合,可以定義復雜的字符串匹配與取代類型任務3-1:使用正則表達式匹配電商產品數據壹(2)Python正則的應用Python中內置了RE庫(正則表達式庫),不需要進行下載安裝,在使用時只需要使用importre引入即可//第一種方式r'正則表達式'//第二種方式,flags用于設置匹配方式,可選填pile(r'正則表達式',flags)正則表達式定義完成后,即可通過RE庫提供的多種方法執行正則表達式任務3-1:使用正則表達式匹配電商產品數據壹(3)正則表達式執行方法search()方法能夠對整個字符串內容進行搜索,找到第一個匹配成功的內容,并以Match對象形式返回,當匹配不成功則返回Nonere.search(pattern,string,flags)pattern:匹配的正則表達式string:要匹配的字符串flags:標志位,用于控制正則表達式的匹配方式參數值作用re.I忽略大小寫re.L表示特殊字符集\w,\W,\b,\B,\s,\S依賴于當前環境re.M多行模式re.X為了增加可讀性,忽略空格和#后面的注釋任務3-1:使用正則表達式匹配電商產品數據壹(3)正則表達式執行方法match()方法可以從整個字符串的起始位置開始搜索匹配正則表達式的內容,如果不是起始位置匹配成功的返回None,當起始位置開始匹配成功則以Match對象形式返回,參數及作用與search()方法相同re.match(pattern,string,flags)pattern:匹配的正則表達式string:要匹配的字符串flags:標志位,用于控制正則表達式的匹配方式參數值作用re.I忽略大小寫re.L表示特殊字符集\w,\W,\b,\B,\s,\S依賴于當前環境re.M多行模式re.X為了增加可讀性,忽略空格和#后面的注釋任務3-1:使用正則表達式匹配電商產品數據壹(3)正則表達式執行方法findall()方法在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果有多個匹配模式,則返回元組列表,如果沒有找到匹配的,則返回空列表re.findall(pattern,string,flags)pattern:匹配的正則表達式string:要匹配的字符串flags:標志位,用于控制正則表達式的匹配方式參數值作用re.I忽略大小寫re.L表示特殊字符集\w,\W,\b,\B,\s,\S依賴于當前環境re.M多行模式re.X為了增加可讀性,忽略空格和#后面的注釋任務3-1:使用正則表達式匹配電商產品數據壹(3)正則表達式執行方法split()可以將字符串中符合正則表達式的字符做為分割符將整個字符串分割,并以列表類型返回分割后的內容,當沒有符合字符時,則將整個字符串以列表形式返回re.split(pattern,string,maxsplit,flags)maxsplit:分隔次數,maxsplit=1分隔一次,默認為0,不限制次數任務3-1:使用正則表達式匹配電商產品數據壹編輯正則表達式Step1獲取正則表達式匹配的結果Step2格式化輸出Step3運行代碼Step4電商產品數據的處理與分析使用正則表達式進行配并輸出為每列使用\t分割的數據任務3-2:使用HadoopStreaming處理電商產品數據貳HadoopStreaming簡介任務技能HDFS在最開始時,是作為ApacheNutch搜索引擎項目的基礎架構而開發,現在是ApacheHadoop核心項目的一部分HadoopStreaming使用HDFS以統一目錄樹的形式實現自身文件的存儲,客戶端只需指定對應的目錄樹即可完成文件的訪問,不需要獲取具體的文件存儲位置任務3-2:使用HadoopStreaming處理電商產品數據貳Streamming主要用于對文字進行處理(textprocessing),通過Streaming能夠通過各種腳本語言,快速的處理大量的文本文件1HadoopStreaming簡介任務3-2:使用HadoopStreaming處理電商產品數據貳2HadoopStreaming使用使用HadoopStreaming運行MapReduce程序非常簡單,只需在Hadoop安裝包bin目錄下,在hadoop腳本后添加Streamingjar包的完整路徑即可實現程序的運行hadoopjarhadoop-streaming.jar\-D="streaming_wordcount"\-Dmapred.map.tasks=3\-Dmapred.reduce.tasks=3\-Dmapred.job.priority=3\-input/input/\-output/output/\-mapperpythonmapper.py\-reducerpythonreducer.py\-file./mapper.py\-file./reducer.py:作業名稱;mapred.map.tasks:map任務數量;mapred.reduce.tasks:reduce任務數量;mapred.job.priority:作業優先級;-input:在HDFS上的作業輸入路徑,支持通配符,支持多個文件;-output:在H

溫馨提示

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

評論

0/150

提交評論