




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)采集與預(yù)處理教 案NO. 1教師姓名授課班級(jí)授課形式理實(shí)一體化授課時(shí)間年 月 日第周授課時(shí)數(shù)6授課章節(jié)名稱任務(wù)1認(rèn)識(shí)數(shù)據(jù)采集技術(shù),熟悉數(shù)據(jù)采集平臺(tái)教學(xué)目的(1)學(xué)習(xí)數(shù)據(jù)采集等相關(guān)知識(shí)內(nèi)容,熟悉大數(shù)據(jù)的定義、大數(shù)據(jù) 的基本特征及數(shù)據(jù)采集的相關(guān)技術(shù)、工具和產(chǎn)品等。(2)熟悉數(shù)據(jù)采集的來源和方法。(3)完成Scrapy平臺(tái)的搭建。(4)完成Apache Flume平臺(tái)的搭建教材分析教學(xué)重點(diǎn)Scrapy平臺(tái)的塔延Apache Flume平臺(tái)的搭建教學(xué)難點(diǎn)Scrapy平臺(tái)的搭建Apache Flume平臺(tái)的搭建更新、 補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作圖2-2節(jié)點(diǎn)樹示意圖
2、nexrsibfgpreouss_b5gvhtml的子節(jié)點(diǎn) 的時(shí),彼此互為P1腔山stChild元素:圖2-3節(jié)點(diǎn)樹的一局部及節(jié)點(diǎn)之間的關(guān)系3. 爬蟲的基本原理(本質(zhì)是獲取網(wǎng)頁、提取和保存信息的自動(dòng)化程 序)(1)獲取網(wǎng)頁 )提取信,包 )保存數(shù)據(jù) 基本庫的使用 )urllib庫的使用 發(fā)送請(qǐng)求 讀取響應(yīng)內(nèi)容 傳遞URL參數(shù) 傳遞中文參數(shù) 定制請(qǐng)求頭 傳遞POST請(qǐng)求 下載遠(yuǎn)程數(shù)據(jù)到本地 設(shè)立代理IP地址 異常處理 Cookie的使用 )BeautifulSoup 創(chuàng)延 BeautifulSoup 對(duì)象 四大對(duì)象種類 遍歷文檔樹(2G4.(1(2a.遍歷宜接子節(jié)點(diǎn)b.遍歷所有子孫節(jié)點(diǎn)c. 遍歷
3、節(jié)點(diǎn)內(nèi)容d.遍歷多個(gè)內(nèi)容e.遍歷父節(jié)點(diǎn)f.遍歷全部父節(jié)點(diǎn)g.遍歷兄弟節(jié)點(diǎn)h.遍歷全部兄弟節(jié)點(diǎn)i.遍歷前后節(jié)點(diǎn)j.遍歷所力前后節(jié)點(diǎn))搜索文檔樹name 參數(shù)傳字符串&傳正那么表達(dá)式傳列表傳 True怎傳方法)attrs 參數(shù)recursive 參數(shù)text 參數(shù)limit 參數(shù)*kwargs 參數(shù)CSS選擇器a.通過標(biāo)簽名查找b.通過類名查找c.通過id名查找d.組合查找e.克接子標(biāo)簽查找f.屬性查找)4、任務(wù)實(shí)施.確定并分析目標(biāo)網(wǎng)頁架構(gòu)(1)進(jìn)入 : 網(wǎng)頁(2)單擊“以數(shù)字開頭”中的各數(shù)字,可發(fā)現(xiàn)網(wǎng)頁 URL變化規(guī)律為 :/ :頁面,在右犍單 擊頁面彈出的快捷菜單中,選擇“檢查”命令,進(jìn)入檢杳
4、頁面。(4)使用快捷鍵“Ctrl+Shift+C”,單擊“以漢字/字母開頭”下面的“ 1 路“超鏈接,以網(wǎng)頁源碼查詢方式顯示網(wǎng)頁內(nèi)容。(5)單擊a標(biāo)簽中的href屬性,進(jìn)入詳細(xì)信息貞面。2.編寫代碼(兩種存儲(chǔ)方式:文件存儲(chǔ)方式和 MySQL關(guān)系數(shù)據(jù)庫存儲(chǔ)方 式)(1)構(gòu)造一個(gè)URL,以便獲取所有一級(jí)貞面的URL。httD:/bei_iin出 8684, cn/listlhttD:/bei iinw iinH. tD: , /bei iinw. 8684. cn/】ist4 httD:/bei httD:/bei iing, 8684, cn/1ist6 :bei iinu, 8684, cn/
5、list7 :bei iinw, 8684, cn/list8 . finished with exit code 0(2)創(chuàng)立一個(gè)get_pagc_url方法,并在for循環(huán)中調(diào)用代碼。 s:, x 05db550f s:,7bRi iine. 8684. cn,x bf864ala s: /bui 968a4331 s: 4)ei iing. 8684. cn. x b】e20d0f iinR. 8684. cn/x 0c88d7dl s: 、ei x 94d65922 httDS:/bei iir)R 8684. cn x 1758ec7d httDS; /bei iin 8684. c
6、n x 7833ac5a s;/, bei x 832c590bProcess finished with exit code 0(3)在獲得了詳細(xì)頁面的 URL后,即可開始進(jìn)行詳細(xì)頁面解析。在詳細(xì)信息頁面右鍵單擊所彈出的快捷菜單中,選擇“檢直”命令, 隨后使用快捷鍵“Ctrl+Shift+C”選中要爬取的數(shù)據(jù)網(wǎng)絡(luò)爬蟲實(shí)踐NO. 4教師姓名授課班級(jí)授課形式理實(shí)一體化授課時(shí)間年 月 日第周授課時(shí)數(shù)4授課章節(jié)名稱任務(wù)2使用Selenium爬取淘寶網(wǎng)站信息教學(xué)目的(1)知道Selenium 基本庫和PyQuery解析庫的使用方法。(2)學(xué)會(huì)使用Selenium基本庫和PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站
7、信息的 爬取。教材分析教學(xué)重點(diǎn)使用Selenium基本庫和PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的爬取教學(xué)難點(diǎn)使用Selenium 基本庫和PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的爬取更新、補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作教學(xué)過程教學(xué)提示任分二、使用Selenium收率泄寶網(wǎng)站信急1.任務(wù)描述(1)借助學(xué)習(xí)論壇、網(wǎng)絡(luò)視頻等網(wǎng)絡(luò)資源和各種圖書資源,學(xué)習(xí)網(wǎng)絡(luò) 爬蟲相關(guān)技術(shù),熟悉爬蟲基本庫Selenium的使用。(2)使用Selenium基本庫獲取溝寶網(wǎng)站信息的HTML源代碼。(3)使用PyQuery解析庫實(shí)現(xiàn)溝寶網(wǎng)站信,電的獲取。2、任務(wù)目標(biāo)(1)知道Selenium基本
8、庫和PyQuery解析庫的使用 方法。(2)學(xué)會(huì)使用Selenium 基本庫和 PyQuery解析庫實(shí)現(xiàn)溝寶網(wǎng)站信息的 爬取。3、知識(shí)準(zhǔn)備Selenium作用:用來做自動(dòng)化測試,支掙多種瀏覽器,在爬蟲中主要用來解決 JavaScript渲染問題。使用Selenium來爬取信息:(1)聲明瀏覽器對(duì)象。(2)訪問頁面并獲取網(wǎng)頁HTML。(3)查找元素。(4)元素交互操作,即在搜索框中傳入關(guān)鍵詞并進(jìn)行自動(dòng)搜索。(5)交互動(dòng)作,即驅(qū)動(dòng)瀏覽器進(jìn)行動(dòng)作,模擬拖動(dòng)動(dòng)作,將動(dòng)作附加 到動(dòng)作使中并串行執(zhí)行。(6)執(zhí)行JavaScript(進(jìn)度條下拉,其可以通過執(zhí)行JavaScript來實(shí)現(xiàn))。(7)獲取元素信息
9、。Frame 操作。(9)等待。隧式考待顯式等待(10)前進(jìn)后退。Cookies 的設(shè)置(12)選項(xiàng)卡管理,增加瀏覽器窗口。(13)異常處理。PyQuery作用:用于解析HTML網(wǎng)頁初始化4種進(jìn)行初始化的方法:from pyquery import PyQuery as pq from Ixml import etreedoc = pq(n) #1專人字符串doc = pq(etree.fromstring(HH) #傳入 Ixmldoc = pq(url= :/google /) #傳入 URLdoc = pq(filename=path_to_html_file) #傳入文件Py Quer
10、y獲取元素的方法。 hlml()和.lexl():用于獲取相應(yīng)的HTML塊或文本內(nèi)容。(selector):用于通過選擇器來獲取目標(biāo)內(nèi)容。eq(index):根據(jù)索引號(hào)獲取指定元素(index從0開始)。find():查找嵌套元素filler。:根據(jù)class、id晞選指定元素。attr():獲取、修改屬性值。其他操作addClass(value):添加 class。hasClass(name):判斷是否包含指定的class,返回True或False。children():獲取子元素。parents():獲取父元素。next():獲取下一個(gè)元素。nextAll():獲取后面全部的元素塊。not
11、jelector1):獲取所有不匹配該選擇器的元崇。for i in doc.items(li):print i.text():遍歷 doc 中的 li 元素。4、任務(wù)實(shí)施(1)進(jìn)入溝寶網(wǎng)頁面。(2)獲取商品列表。1.導(dǎo)入相關(guān)的Selenium模塊2.構(gòu)建一個(gè) webdriver對(duì)象,使用的瀏覽器為 Chrome 構(gòu)建 WebDriverWait對(duì)象,它指定了一個(gè)等待的最長時(shí)間。(3)保存到 MongoDBo1 .導(dǎo)入PyMongo模塊。2.創(chuàng)立一個(gè) MongoDB的連接對(duì)象,并指定數(shù)據(jù)庫和集合的名稱。3.創(chuàng)立save_to_mongo方法,調(diào)用insert。方法將數(shù)據(jù)插入 MongoDB。
12、(4)遍歷每頁。1.將實(shí)現(xiàn)頁碼的遍歷。2.最后需要將browser關(guān)閉。(5)運(yùn)行。正在爬以第1頁(,iaage : */g-search!. 1 icdn. cob/m bo/up 1 oaded/i4/1tr/i3/13022581 /TB2. _5ckYZnWVjSZFKXXcC0VXa_! 70-saturn.solar. jpg_360 x360 price, :,19OT.00,. * del : 2S8人忖款. ti。:IS電助牙*【2年保修】Apple,覃累Ipd 9.7美4LAX中帔電ZOHir.sho/:冬1H location*:機(jī)州,)存儲(chǔ)引WongoDB成功(* in
13、ace* * 1-search3. al icdn. cob 】” bao uploaded 14 13 1669409267 TBlCACiCLSTBuSj$spXXaDRVXa_! !0-ite_pic. jpscrapy stu*tproject beibuslew Scrapy project * beibus using tenplate directory c:usersmacappdatalocalprogranspythonpython36lib site-packagesscrapytenplatesproject, created in:C: Usersmac beibus
14、You can start your first spider with: cd beibus scrapy genspider exanple example, coo(2)切換到beibus目錄,并使用genspider創(chuàng)立spiderC:Usersmaccd beibusC:Usersmacbeibusscrapy genspider beijus beijing. 8684. cnCreated spider * bei-bus,using tenplate basic in module:beibus. spiders, bei.bus(3)使用PyChaim翻開beibus工程夕
15、beibus C:Usersmacbeibus7 b beibus7 E spiders -n*_.py|.bd_bus.pyA items.py修 middlewares.pyA pipelines.pyA e*tings.py疸 $crpy.cfg lllli External Ubraries(4)進(jìn)入 settings,將 ROBOTSTXT_OBEY 的參數(shù)改為 False(5) 4各DEFAULT_REQUEST_HEADERS方法的注釋去J電,并在其中添加 User-Agent 屬性。(6)進(jìn)入bei_bus.py文件,對(duì)start_urls進(jìn)行修改(7)新建一個(gè)slart_re
16、quests()方法(此方法名固定),獲得并構(gòu)廷一級(jí)網(wǎng)頁URLO(8)在parse_indcx()方法中,使用Xpath尋找詳細(xì)信息頁面的URL,并 對(duì)網(wǎng)址進(jìn)行拼接,之后對(duì)二級(jí)網(wǎng)頁發(fā)起請(qǐng)求,并返回回調(diào)函數(shù)parse_detail()。(9)在parse_detail()方法中對(duì)詳細(xì)信息頁面進(jìn)行操作。(10)對(duì) wang_list_tag字段和fanist_tag字段進(jìn)行格式化。(11)進(jìn)入ilems.py文件,修改其中的class以格式化數(shù)據(jù)。(12)在bei_bus.py文件的parse_detail()方法的末尾添加如下語句,以格式 化數(shù)據(jù)。bus_item = BeibusItera()
17、for field in bus item, fields:bus_itemfield = eval(field)yield bus_i tern(13) 在 MySQL 的sludb 數(shù)據(jù)庫中倉J提一個(gè)stu businfo表教學(xué)過程教學(xué)提示一.知識(shí)準(zhǔn)在.數(shù)據(jù)采集的概念數(shù)據(jù)的采集有基于物聯(lián)網(wǎng)傳感器的采條,也有基于網(wǎng)絡(luò)信息的采集。 2.數(shù)據(jù)采集的來源根據(jù) MapReduce產(chǎn)生數(shù)據(jù)的應(yīng)用系統(tǒng)分類,大數(shù)據(jù)的采集主要有 4 種來源:管理信息系統(tǒng)、Web信息系統(tǒng)、物理信息系統(tǒng)、科學(xué)實(shí)驗(yàn)系統(tǒng)。 3.數(shù)據(jù)采集的方法(1)數(shù)據(jù)采集的新方法 系統(tǒng)日志采集方法網(wǎng)絡(luò)數(shù)據(jù)采集方法:對(duì)非結(jié)構(gòu)化數(shù)據(jù)的采集其他數(shù)據(jù)采臬
18、方法(2)網(wǎng)頁數(shù)據(jù)采集的方法互聯(lián)網(wǎng)網(wǎng)貞數(shù)據(jù)具有分布廣等大數(shù)據(jù)的典型特點(diǎn),需要有針對(duì)性地對(duì) 互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)進(jìn)行采集、轉(zhuǎn)換、加工和存儲(chǔ)?;ヂ?lián)網(wǎng)網(wǎng)頁數(shù)據(jù)是大數(shù)據(jù) 領(lǐng)域的一個(gè)重要組成局部,為互聯(lián)網(wǎng)和金融服務(wù)創(chuàng)新提供了豐富的數(shù)據(jù)基 礎(chǔ)。網(wǎng)頁數(shù)據(jù)采集的基本流程互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)采集就是獲取互聯(lián)網(wǎng)中相關(guān)網(wǎng)頁內(nèi)容的過程,并從中 抽取出用戶所需要的屬性內(nèi)容。網(wǎng)絡(luò)爬蟲是一個(gè) 自 動(dòng)提取網(wǎng) 頁的程序,它為搜索引 擎從萬維網(wǎng)上下載 網(wǎng)頁,是搜索引擎的重要組成局部。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與 主題無關(guān)的餞接,保存有用的餞接并將其放入等待抓取的URL隊(duì)列。另外,所有被爬蟲抓取的網(wǎng)頁將會(huì)被系統(tǒng)
19、存儲(chǔ)起來,進(jìn)行一定的分析、 過淀,并提立索引,以便之后的查詢和檢索;網(wǎng)頁數(shù)據(jù)采某的工作過程數(shù)據(jù)采集的 目 的就是把 目 標(biāo)網(wǎng)站上網(wǎng)頁中的某塊文字或者圖片等資 源下載到指定位競。這個(gè)過程需要做如下配立工作:下載網(wǎng)頁配比,解析 網(wǎng)貞 配置, 修正結(jié)果配置,數(shù)據(jù)輸出配置。整個(gè)數(shù)據(jù)采集過程的基本步哪如下。a.將需要抓取數(shù)據(jù)網(wǎng)站的URL (Site URL)信息寫入U(xiǎn)RL隊(duì)列。b.爬蟲從URL隊(duì)列中獲取需要抓取數(shù)據(jù)網(wǎng)站的URL信息。C.獲取某個(gè)具體網(wǎng)站的網(wǎng)頁內(nèi)容。d.從網(wǎng)頁內(nèi)容中抽取出該網(wǎng)站正文頁內(nèi)容的鏈接地址。e.從數(shù)據(jù)庫中讀取已經(jīng)抓取過內(nèi)容的網(wǎng)頁地址。f.過波URL。對(duì)當(dāng)前的URL和已經(jīng)抓取過的UR
20、L進(jìn)行比擬。g.如果該網(wǎng)頁地址沒有被抓取過,那么將該地址寫入數(shù)據(jù)庫。如果該 地址已經(jīng)被抓取過,那么放棄對(duì)這個(gè)地址的抓取操作。h. 獲取該地址的網(wǎng)頁內(nèi)容,并抽取出所需屬性的內(nèi)容值。i.將抽取的網(wǎng)頁內(nèi)容寫入數(shù)據(jù)庫。Web信怠數(shù)據(jù)自動(dòng)采集Web數(shù)據(jù)自動(dòng)采集涉及 Web數(shù)據(jù)挖掘(Web Data Mining).信息檢察 (Information Retrieval)信息提取(Information Extraction)搜索引擎mysql CREATE TABLE stu_businfo( bus_name varcharTlOOO), bus_type varchar(1OOO), bus_tir
21、ae varchar(lOOO), ticket varchar(lOOO), gongsi varchar(lOOO), _ gengxin varchar(1000), licheng varchar(1000), wang_info varchar(1000), wang_buff varchar(1000), fan_info varchar(1000), fan_buff varchar(1000) DEFAULT CHARSET=utf-8;(14)在settings.py文件末尾添加如下參數(shù)。DB_HOST = I oca I hostDB.USER = stuDB_PWD =
22、stu123DB_CHARSET=UTF8(15)修改pipelines.py文件import pymysqlfrom beibus import settingscI ass MysqIPipeline(object):def _init_(self):self, host = settings. DB_HOSTself.user = settings. DB USERself, pwd = settings. DB_PWDself.db = settings. DBseIf. charset = sett ing. DB. CHARSETse I f. connect ()def conn
23、ect (self):self.conn = pymysqI. connect(host=seIf. host,user=self. user.password=self. pwd.db=self. db,charset=self. charset)self. cursor = self. conn, cursor ()(16)添加一個(gè)close_spider()方法,用于關(guān)閉MySQL數(shù)據(jù)庫。(17)實(shí)現(xiàn) processjtem()方法。(18)在settings.py中將ITEM_PIPELINES方法的注釋去掉,并將其中的內(nèi)容改為 “beibus.pipelines.MysqlPipel
24、ine:300”。ITEM PIPELINES =(beibus. pi pelines. MysqIPipeline* : 300啟動(dòng)糜蟲工程:在PyCharm 軟件在下角單擊“Terminal”標(biāo)簽,進(jìn)入命令行界面,在其中 執(zhí)彳亍 “scrapy crawl bei_bus”命令。Microsoft Vindm【* 10. 0. l7l$4. 228 (e) 0018 Microsoft Corporation.仰HI所而(9融C: U*rsMc*crai7*9Htwiinbu*scrairr crmrlnxrwwtwtry:want-info response. xpth( /(id-b
25、M.lin,)/div(4/div/tront/tit O). extract.first* icpt:*W_info Nonetry:wi*_Hst_tag xptht () ). xtractOscept:vm-lttt.tai - Nonetry: rvpcw xpth(*ine-/div(6J/div/tronB/tMt(),), extract.first0icept: Xww try:faivBtt.tAt -in*)/div(7) /div/dlv/a/txt O ). xtractO數(shù)據(jù)采集與預(yù)處理NO. 6教師姓名授課班級(jí)授課形式理實(shí)一體化授
26、課時(shí)間年 月 日第周授課時(shí)數(shù)4授課章節(jié)名稱任務(wù)1 Flume的安裝和配置教學(xué)目的(1)熟悉Flume的相關(guān)基礎(chǔ)知識(shí)。(2)學(xué)會(huì)Flume的安裝和不同應(yīng)用場景下的配置。教材分析教學(xué)重點(diǎn)Flume的安裝和不同應(yīng)用場景下的配置教學(xué)難點(diǎn)Flume的安裝和不同應(yīng)用場景下的配電更新、補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作教學(xué)過程教學(xué)提示一.知識(shí)準(zhǔn)備FlumeFlume是一個(gè)分布式、高可能和鬲可用的海玨日志采集、聚合及傳輸 服務(wù)。Flume的工作原理Flume的數(shù)據(jù)流由事件(Event)貫穿始終。事件是Flume的基本數(shù)據(jù) 單位,它攜帶日志數(shù)據(jù)(字節(jié)數(shù)組形式)弁且攜帶有頭信息,這些事
27、件由 Agent外部的Source生成,當(dāng)Source捕獲事件后會(huì)進(jìn)行特定的格式化,把 事件推入(單個(gè)或多個(gè))Channelo可以把Channel看作一個(gè)線沖區(qū),它將 保存事件直到 Sink處理完該事件。Sink負(fù)責(zé)擰久化日志或者把事件推向 另一個(gè) Source。Flume 事件事件作為Flume內(nèi)部數(shù)據(jù)傳輸?shù)淖罨締卧?,是由一個(gè)轉(zhuǎn)載數(shù)據(jù)的字節(jié)數(shù) 組(該數(shù)組從數(shù)據(jù)源接入點(diǎn)傳入,并傳輸給傳輸器,即 HDFS、HBase) 和一個(gè)可選頭部構(gòu)成的。Flume AgentFlume內(nèi)部有一個(gè)或者多個(gè) Agent,然而,對(duì)于每一Agent來說,Agent 就是一個(gè)獨(dú)立的守護(hù)進(jìn)程(JVM),它從客戶端接收
28、數(shù)據(jù),或者從其他的 Agent上接收數(shù)據(jù),并迅速地將獲取的數(shù)據(jù)傳給下一個(gè)目的節(jié)點(diǎn) Sink或 AgentoAgent 主要由 Source、Channel、Sink 3 個(gè)組件組成。Flume的可靠性當(dāng)Flume節(jié)點(diǎn)出現(xiàn)故障時(shí),日志能嬖被傳送到其他節(jié)點(diǎn)上而不會(huì)喪失。Flume提供了 3種級(jí)別的可靠性保障,從強(qiáng)到弱依次如下:end-to-endStore on failureBest effortFlume插件Interceptors (攔截器)Channels Selectors (管遒選擇器)a.默認(rèn)管也選擇器:每一個(gè)管道傳遞的都是相同的Event。b.多路復(fù)用管道選擇器:根據(jù)每一個(gè)Even
29、t的頭部地址選擇管道。ink:用于激活被選擇的Sinks群中特定的Sink,實(shí)現(xiàn)負(fù)載均衡控制。Flume組件常用配置分析SourceAvro SourceoAvro So.urce主要屬性的說明如下:Channels:接收客戶端數(shù)據(jù)源事件流的Channel。type:類型名稱,這里應(yīng)為Avro。bind:需要監(jiān)聽的主機(jī)名或IP地址。port:監(jiān)聽的端口。Avro: Flume通過 Avro方式在兩臺(tái)機(jī)器之間進(jìn)行數(shù)據(jù)傳輸,F(xiàn)lume 可以監(jiān)聽和收集指定端口的日志,使用 Avro的Source需要說明被監(jiān)聽的主機(jī)的IP地址和堵口號(hào),這里將 Agent名稱均設(shè)巨為aloExec SourceoExe
30、c Source可以通過指定的操作對(duì) 日 志進(jìn)行讀取,使用Exec時(shí)需要指定 shell命令。Spooling-directory Source0Spooling-directory Source主要屬性的說明如下:a.Channeis:接收客戶端數(shù)據(jù)源事件流的Channel。b.typc:類型名稱,這里為spooldir。c.spooldir:讀取文件的路徑,即指定的“目錄 d PLETED:對(duì)處理完成的文件追加的后綴。Flume可以讀取spooldir對(duì)應(yīng)文件夾中的日志,使用時(shí)會(huì)指定一個(gè)文件夾 映射到spooldir, Flume可以讀取該文件夾中的所有文件。Syslog SourceoC
31、hannelFlume的Channel種類弁不多,最常用的是 memory channeUSinkLogger SinkoAvro Sinko(3)File_roll Sinko二.Flume的安裝.翻開已經(jīng)安裝好的Ubuntu系統(tǒng)(JDK需自行解壓安裝),執(zhí)行“cd” 命令,進(jìn)入保存Flume安裝包的大數(shù)據(jù)根目錄(這里的大數(shù)據(jù)根目錄為 /data/bigdata),并執(zhí)行“Is”命令,查看Flume安裝包.執(zhí)行 “tar”命令,解壓 Flume 安裝包 apache-flume-1.進(jìn)入Flume根目錄,查看Flume中的文件.bin目錄中存放的是Flume的可執(zhí)行文件,conf目錄中存放的
32、是 Flume的配置文件,lib目錄中存放的是Flume的依賴JAR包。.為了方便操作路徑引用,需要在/elc/profile中配受相關(guān)環(huán)境變量, 代碼如下。#配置JDK環(huán)境變量export JAVA H0ME=/usr/local/jdk1.8export CLASSPATH=$:CLASSPATH:JAVA_HOME/Iib/export PATH=$PATH:$JAVA_HOME/b i n#配置Hadoop環(huán)境變量export HAD00P_H0ME=/usr/1 oca I/Hadoopexport path=$PATH:$HADOOP HOME/bin:$HAD00P HOME/s
33、bin#配置Flume環(huán)境變量export FLUME_HOME=/data/bigdata/apache-fIume-1.8. 0-binexport PATH=. :$PATH:$FLUME_HOME/bin.進(jìn)入conf目 錄,通過執(zhí)行4cp命令復(fù)制conf目 錄中的flume-env.sh. template文件,創(chuàng)立的副本文件名稱為flume-env.sh.編輯配置文件flume-env.sh,修改JAVA_HOME的值為 a/usr/Iocal/jdkl.8w.執(zhí)行“flumc-ng version”命令,馬金證Flume是否安裝成功,如果進(jìn) 入圖3-12所示界面,表示Flume安
34、裝成功。Source code repository: Revision: 99fS91994468633fc6f87eic5fcS3ee214b6da4fCompiled by denes on Frt Sep 15 14:S8:88 CEST 2017Fron source with checksum fbb44c8c8fb63a49be8a59e27316833d圖3-12 Flume安裝成功三,企業(yè)常用Flume配K(1)互聯(lián)網(wǎng)公司采集日志時(shí),往往需要將各個(gè) Web服務(wù)器的日志匯 總到一臺(tái) 日志分析服務(wù)器中,以使日志分析??赏ㄟ^Flume監(jiān)聽指定自身 端口來采集其他設(shè)備客戶端發(fā)送到指定
35、蠅口的數(shù)據(jù),即使用Flume將 slave 1節(jié)點(diǎn)的文件采集到 master的指定目錄中。在master節(jié)點(diǎn)下進(jìn)行如下操作。進(jìn)入Flume的conf目錄,創(chuàng)立 Avro.conf配立文件。編輯Avro.conf配置文件。通過執(zhí)彳亍命令flume-ng agent -c . -f /data/bigdata/apache-flume-1.8.0- bin/conf/avro.conf -n a 1 -DFlume.root.logger=INFO,consolew 啟動(dòng) Flume Agent al,指定日志等級(jí)為INFO,并將日志指出到控制臺(tái)。翻開一個(gè)新的控制臺(tái)命令行窗口,在slavel節(jié)點(diǎn)下
36、進(jìn)行如下操作。在Flume目錄中創(chuàng)立一個(gè)自定義名稱的文件夾,并創(chuàng)立一個(gè)要發(fā)送的 測試文件(由主機(jī)端采集)。使用echo向文件中榆出內(nèi)容的基本方法是使用IO 重定向指令“”, 默認(rèn)情況下echo輸出到標(biāo)油輸出中,使用指令時(shí)可重定向輸出到文 件中。啟動(dòng)Flume Avro-client,并指定主機(jī)的接收端口為4141,向主機(jī)master 發(fā)送日志信息數(shù)據(jù),如圖3-17所示。Flume-ng Avro-client -c . -H master -p 4141 -F圖3-17 向主機(jī) master發(fā)送日志信息數(shù)據(jù)查看 masler節(jié)點(diǎn)在命令行窗口中接收的數(shù)據(jù)。觀察到 日志文件已經(jīng)通過Flume發(fā)送到
37、了 master節(jié)點(diǎn)。按快捷鍵 “Ctrl+C” 退出。以上還原了企業(yè)中使用Flume Avro進(jìn)行數(shù)據(jù)傳輸?shù)倪^程,通過 Avro-clicnt發(fā)送數(shù)據(jù)到接收端的指定端口,實(shí)現(xiàn)了日志的傳遞。在企業(yè)信 息采集中可以將分散在各個(gè)機(jī)器上的 日志匯總到 日志處理分析服務(wù)器中, 從而完成整體數(shù)據(jù)的采集。(2)為了自動(dòng)采集每日產(chǎn)生的 日志,互聯(lián)網(wǎng)公司一般采用日志策略: 每日自動(dòng)生成一個(gè)日志文件。為了實(shí)現(xiàn)自動(dòng)采集日志功能,F(xiàn)lume提供了 Spooling Directory Source方式來對(duì)日志存儲(chǔ)目錄進(jìn)行監(jiān)控,收集新生成的 文件,即使用Flume監(jiān)控本地目錄,如有新增文件就采集文件中的數(shù)據(jù)。在Flu
38、me目錄中創(chuàng)現(xiàn)一個(gè)自定義名稱的文件夾,在該文件夾中創(chuàng)立 一個(gè)被監(jiān)聽的文件夾spooU進(jìn)入Flume的conf目錄,創(chuàng)注spooLconf配置文件。編輯spool.conf配電文件。過執(zhí)行命令 “flumc-ng agent -c . -f /data/bigdata/apachc-Flume-1.8.0- bin/conf/spooLconf -n a2 -DFlurne.root.logger=INFO,consolew 啟動(dòng) Flume Agent a2,指定日志等級(jí)為INFO,并將日志內(nèi)容輸出到控制臺(tái)。翻開一個(gè)新的命令行窗口,用來觀察 日志。在被監(jiān)聽的文件目錄中 創(chuàng) 建一個(gè)包含內(nèi) 容的測
39、試文件。隨后可以觀察第一個(gè)命令行窗口的變化,香看接收的數(shù)據(jù)。觀察到日志文件已經(jīng)被監(jiān)聽到了,按快捷鍵“Clrl+C”退出。需要注意,復(fù)制到spool目錄中的文件不可以再翻開進(jìn)行編輯,spool 目錄中不可包含相應(yīng)的子目錄。此外,還要注怠路徑的長度,路徑過長有 可能導(dǎo)致 Flume無法正常運(yùn)行。以上還原了企業(yè)中使用Flume Spooling Directory來監(jiān)視目錄中每天新 日志生成的場景,以及對(duì)新產(chǎn)生的 日志實(shí)現(xiàn)自動(dòng)采集的過程。(3)互聯(lián)網(wǎng)公司通的使用前兩種方式就可以基本完成日志數(shù)據(jù)的采集 和匯總,但在實(shí)際工作中,對(duì)于不斷變化的實(shí)時(shí)生成的日志,僅僅依余 Avro和Spooling Dire
40、ctory采集方式,無法實(shí)現(xiàn)對(duì)日志的實(shí)時(shí)采集和鬲可 靠采臬,因此Flume提供了一種Exec的方式來自定義日志采集,即通過 使用 Exec Source完成從本地 日 志文件中收集 日 志數(shù)據(jù)的任務(wù)。進(jìn)入Flume的“自行創(chuàng)立”目錄,創(chuàng)立一個(gè)空的數(shù)據(jù)源文件log.02。進(jìn)入Flume的conf目錄,創(chuàng)速cxcc_tail.conf配比文件。編輯exec_tail.conf配置文件。通過執(zhí)彳亍命令 flume-ng agent -c . -f /data/bigdata/apache-Flume-1.8.0- bin/conf7spooLconf -n a2 -DFlume.root.logge
41、r=INFO,consolev 啟動(dòng) Flume Agent a2,指定日志等級(jí)為INFO,并將日志內(nèi)容輸出到控制臺(tái)。執(zhí)行 “for i in 1.100;do echo exec tail$i /data/bigdata/apache- flume-1.8.0-bin/20yyxxxxABC/log.02 c;echo $i;slccp 0.01;doncw 命令,為 log.02文件循環(huán)追加大量數(shù)據(jù),現(xiàn)察控制臺(tái)輸出端,發(fā)現(xiàn)追加的日志已被 獲取且輸出到屏幕上。查看被監(jiān)聽目錄中的文件,發(fā)現(xiàn)文件中增加了 “COMPLETED” 標(biāo)識(shí)。(4) Flume提供了 Syslog的方式,通過TCP/UD
42、P通信協(xié)議直接對(duì)某臺(tái) 主機(jī)上的某個(gè)端口進(jìn)行監(jiān)聽,實(shí)現(xiàn)了采集端主動(dòng)采集端口日志的功能,提 高了可靠性。Syslog可以通過Syslog協(xié)議讀取系統(tǒng)日志,協(xié)議分為TCP和UDP兩 種,使用時(shí)需指定IP地址和端口,此任務(wù)中使用Flume監(jiān)聽本機(jī)的5140 端口。進(jìn)入Flume的conf目錄,創(chuàng)立名稱為syslog_tcp.conf的配置文件編輯syslog_tcp.conf配置文件。過執(zhí)彳亍命令 flume-ng agent -c . -fVdata/bigdata/apache-flume-1.8.0 - bin/conf/syslog_tcp.conf-n a4 -DFlume.root.log
43、gcr=lNFO,consolew 啟動(dòng) Flume Agent a4,指定日志等級(jí)為INFO,并將日志內(nèi)容輸出到控制臺(tái)。 重新翻開一個(gè)命令行窗口,使用“nc”命令發(fā)送“hello syslog”數(shù)據(jù) 到本機(jī)的514()端口,如圖3-33所示。nc表示NetCat,是一個(gè)非常荷單的 Unix工具,可以讀、寫TCP或UDP網(wǎng)絡(luò)連接。它被設(shè)計(jì)成一個(gè)可靠的后 端工具,能被其他程序或腳本直接驅(qū)動(dòng)同時(shí),它也是一個(gè)功能豐宮的網(wǎng) 絡(luò)調(diào)試和開發(fā)工具。HHHB : $ sudo echo -hello syslogN | nc localhost 5140圖3-33發(fā)送數(shù)據(jù)5.觀察之前的本機(jī)控制臺(tái)命令行窗口,可
44、以毛到追加的日志已被獲 取。數(shù)據(jù)采集與預(yù)處理教 案NO. 7教學(xué)提示教師姓名授課班級(jí)授課形式理實(shí)一體化授課時(shí)間年 月 日第周授課時(shí)數(shù)4授課章節(jié)名稱任務(wù)2 Flume采集數(shù)據(jù)上傳到集群教學(xué)目的(1)熟悉Flume的相關(guān)基礎(chǔ)知識(shí)。(2)學(xué)會(huì)將采集的日志數(shù)據(jù)轉(zhuǎn)存到HDFS中的方法。(3)學(xué)會(huì)將采集的日志數(shù)據(jù)轉(zhuǎn)存到HBase中的方法。教材分析教學(xué)重點(diǎn)將采臬的日志數(shù)據(jù)轉(zhuǎn)存到HDFS中的方法將采集的日志數(shù)據(jù)轉(zhuǎn)存到 HBase中的方法教學(xué)難點(diǎn)將采集的日志數(shù)據(jù)超存到HDFS中的方法將采集的日志數(shù)據(jù)轉(zhuǎn)存到 HBase中的方法更新、補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施教學(xué)過程(Search
45、Engine)等概念和技術(shù)。Web數(shù)據(jù)自動(dòng)采集與挖掘所謂 Web數(shù)據(jù)自動(dòng)采集與挖掘,是指從大*非結(jié)構(gòu)化、異構(gòu)的 Web 信息資源中發(fā)現(xiàn)有效的、新穎的、潛在可用的及最終可以理解的知識(shí)(包 括概念、模式、規(guī)那么、約束及可視化等形式)的過程。Web數(shù)據(jù)自動(dòng)采集與搜索引擎它們都利用了信息檢索的技術(shù)。但是兩者的側(cè)重點(diǎn)不同,搜索引擎主 要由網(wǎng)絡(luò)爬蟲(Web Crawler)、索引數(shù)據(jù)庫和查詢服務(wù)3局部組成。Web 數(shù)據(jù)自動(dòng)采集主要針對(duì)某個(gè)具體行業(yè),提供面向領(lǐng)域、個(gè)性化的信息挖掘 服務(wù)。Web數(shù)據(jù)自動(dòng)采集與信息提取與傳統(tǒng)搜索引擎(基于關(guān)鍵字查詢)有所不同,信息提取基于關(guān)鍵字 交詢操作,其不僅要匹配關(guān)鍵字,還
46、要匹配各個(gè)實(shí)體之間的關(guān)系。信息提 取是技術(shù)上的概念。Web數(shù)據(jù)自動(dòng)采集很大程度上要依賴于信息提取的技 術(shù),實(shí)現(xiàn)長期的、動(dòng)態(tài)的追蹤。Web數(shù)據(jù)自動(dòng)采集與 Web信息檢索Web數(shù)據(jù)自動(dòng)采集不是將 Web文獻(xiàn)集合的子某直接輸出給用戶,而是 還要進(jìn)一步分析處理,如香重、去噪、整合數(shù)據(jù)等。Web數(shù)據(jù)自動(dòng)采集是 Web數(shù)據(jù)挖掘的一個(gè)重要組成局部,它利用了 Web數(shù)據(jù)檢索、信息提取 的技術(shù),彌補(bǔ)了搜索引擎缺乏針對(duì)性和專業(yè)性,無法實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)跟蹤 與監(jiān)測的缺點(diǎn),是一個(gè)非常有前景的領(lǐng)域。鏈接過流鏈接過波是數(shù)據(jù)采集的關(guān)訛技術(shù),實(shí)質(zhì)就是判斷一個(gè)鏈接(當(dāng)前鏈接) 是不是在一個(gè)鏈接集合(已經(jīng)抓取過的鏈接)中。Web引
47、擎和通用搜索31擎的差異Web引擎和通用搜索引擎相比有較大的差異,Web引擎更多地關(guān)注 “結(jié)構(gòu)化信息”的抽取。通用搜索引擎是指從互聯(lián)網(wǎng)檢索出滿足搜索條件 的信息反應(yīng)給用戶。更多關(guān)注搜索條件,信息一般不進(jìn)行結(jié)構(gòu)化處理。 結(jié)構(gòu)化信息抽取的方式Web結(jié)構(gòu)化信息抽取就是將網(wǎng)頁中的非結(jié)構(gòu)化數(shù)據(jù)按照一定的需求抽 取成結(jié)構(gòu)化數(shù)據(jù),屬于垂直搜索a.模板方式特點(diǎn):簡單、精確、技術(shù)難度俅、方便快速部署。岐點(diǎn):需要針對(duì)每一個(gè)信息源的網(wǎng)站模板進(jìn)行單獨(dú)設(shè)定,在信息源多樣性 強(qiáng)的情況下維護(hù)量巨大,甚至是不可完成的維護(hù)量0b.網(wǎng)頁庫級(jí)方式特點(diǎn):通用性較好,易于維護(hù),只需設(shè)定參數(shù)、配優(yōu)相應(yīng)的特征就能 改進(jìn)相應(yīng)的抽取性能等。缺
48、點(diǎn):技術(shù)難度高,前期研發(fā)本錢笳,周期長,適合網(wǎng)頁庫級(jí)別結(jié)構(gòu) 化數(shù)據(jù)采集和搜索的高蠅應(yīng)用。二.任務(wù)實(shí)施Scrapy系統(tǒng)環(huán)垸塔提(1)安裝所需的環(huán)境(2)驗(yàn)證Scrapy框架安裝處否成功一.知識(shí)準(zhǔn)備1. HDFS SinksHDFS與File_roll有些類似,都是將收集到的日志寫入到新創(chuàng)立的文 件中保存起來,其區(qū)別如下:File_roH的文件存儲(chǔ)路徑為系統(tǒng)的本地路徑; 而HDFS的存儲(chǔ)路徑為分布式的文件系統(tǒng)HDFS的路徑,且HDFS創(chuàng)立新 文件的周期可以是時(shí)間,也可以是文件的大小,還可以是采條日志的條數(shù)。 HDFS Sinks的配宣例如如表3-9所示。表3-9 HDFS Sinks的配J8L例如
49、配置例如例如說明al.channels = cl指定使用Channel的名稱為cla1.Sinks = k1指定使用Sink的名稱為k1al.Sinks.kl.npe = hdfs指定Sink的類型為hdfsal .Sinks.kl .channel = cl指定Sink使用的Channel為clal .Sinks.kl .hdfs.path = /flumc/cvcncs/ %y-%m- %d/%H %M/%S指定存儲(chǔ)的HDFS路徑,可使用%、 卜時(shí)間表達(dá)式等作為路徑al .Sinks.k 1 .hdfs.filcPrcfix = events-指定輸出文件的前綴a1 .Sinks.kl .
50、hdfs.round = true啟用時(shí)間上的“舍棄”,即hdfs.path 解析時(shí)將根據(jù)roundValuc中設(shè)置.的 時(shí)間進(jìn)行舍棄,時(shí)間單位根據(jù) roundUnit中的設(shè)置來確定al.Sinks.kl.hdfs.roundValuc = 10設(shè)定時(shí)間值al .Sinks.kl .hdfs.roundUnit = minute設(shè)定時(shí)間單位2. HBaseSinksFlume 有兩大類 HBaseSinks: HBaseSink 和 AsyncHBaseSinkoHBaseSink的參數(shù)配置如表3-1()所示。表3-10 HBaseSink的參數(shù)酉己置參數(shù)默認(rèn)值描述channel為Agent的
51、Channel命名type設(shè)定類型的名稱,如 org.apache.flume. Sink.hbase.HBas eSinktabic設(shè)置HBasc的表名columnFamil y設(shè)置 HBase 中的 cokimnFamilybatchSize100設(shè)定一個(gè)事務(wù)中處理事件的個(gè) 數(shù)serializerorg.apache.tlume.Sink.h base.SimplcH baseEven t Serializer;???apache, flume. Sink, hbasc. Regex I ibasc Ev cntScrializcr設(shè)置serializer的處理類serializer.*要
52、傳遞給序列化程序的屬性(如 設(shè)置 HBase 的 column)SimpleHbaseEvcntSerializer 的百己受例如如表 3-11 所示。表 3-11 SimplcHbascEvcntScrializcr 的配立例如配置例如例如說明agcnttcst.channcls = cl為Agent的Channel命名agcnttcst.Sinks = kl為Agent的Sink命名agenttestSinks.k 1 .type =org.apachc.flume. Sink. hbase.HBascSink設(shè)置type的值agenttest.Sinks.k 1 .table = tes
53、t_hbase_table設(shè)置HBase的table的名稱agcnttcst.Sinks.kl.columnl-amily = fl設(shè)置 1 IBasc 的 columnlamilyme. Sink. hbase.SimpleHbaseEventSerializer設(shè)置,serializer的處理類agcnttcst.Sinks.kl.scrializcr.payloadColum n = columnname設(shè)置HBase表的 columnFamily中的某個(gè)列名 稱agcnttcst.Sinks.kl .channels = cl指定Sink使用的ChannelRegexHbaseEven
54、tSerializer 的配受例如如表 3-12 所示。表 3-12 RegexHbaseEventSerializer 的酉己克例如配置例如例如說明agenttest.channels = c2為Agent的Channel命名agcnttcst.Sinks = k2為Agent的Sink命名)rpc =org.apache.flume.Sink. hbase.HBascSink設(shè)置type的值agenttest.Sinks.k2.table = test_hbase_table設(shè)置HBase的table的名稱agcnttcst.Sinks.k2.columnFamily = f2設(shè)置,HBa
55、se 的 columnFamilyagcnttcst.Sinks.k2.scrializer =設(shè)置serializer的處理類org.apachc.flumc. Sink.hbasc.RcgcxFIbascE ventSerializeragenttest.Sinks.k2.serializer.regex = Reg ular Expression如:agenttest.Sinks.k2.scrializcr.regex 二(.*?) l(.*?) L(.*?)1(.*?)設(shè)置相應(yīng)的正那么表達(dá)式二 column-1,column-2,colunm-3,column-4指定前面正那么表達(dá)式匹
56、配 到的數(shù)據(jù)對(duì)應(yīng)的HBase的 familycolumn-2 列族中的 4 個(gè)column列名agcnttcst.Sinks.k2.channcls = c2指定Sink使用的Channel(2) AsyncHBaseSinkAsyncHBaseSink的參數(shù)配JBL如表3-13所示。表3-13 AsyncHBaseSink的參數(shù)配比參數(shù)默認(rèn)值描述channel為Agent的Channel命名type設(shè)定type的名稱,此處需要將 其設(shè)置為org.apache.flume.Sink.AsyncHB ase Sinktable設(shè)置HBase的表名column I-amily設(shè)置 HBase 中的
57、 columnFamilybatchSize100設(shè)定一個(gè)事務(wù)中處理事件的個(gè) 數(shù)timeout設(shè)置Sink等待來自HBase的 acks的超時(shí)時(shí)間(毫秒),如 果未設(shè)定超時(shí)時(shí)間,那么Sink將 永遠(yuǎn)等待serializerorg.apachc.flumc.Sink. hbase.SimplcAsyncHba seEventSerializer設(shè)置serializer的處理類serializer*要傳遞給序列化程序的屬性 (如設(shè)置 HBase 的 column)SimpleAsyncHbaseEventSerializer 的配置例如如表 3-14 所示。表 3-14 SimpleAsyncHb
58、aseEvcntSerializer 的酉己比例如配置例如例如說明agenttest.channels = c3為 Agent 的 Channel 命 名agcnttcst.Sinks = k3為Agent的Sink命名)pe=設(shè)置type的值agenttest.Sinks.k2. table = test_hbase_table設(shè)置HBase的table的名 稱agcnttcst.Sinks.k2.columnFamily 二 f3設(shè)置HBase的 columnFamilyagenttest.Sinks.k2.serializer = org.apache. flume.Si nk. hba
59、se.SimpleAsyncHbaseEventSerializer設(shè)置serializer的處理類agcnttcst.Sinks.kl.serializer.payloadColumn = columnname設(shè)置HBase表的 column Lamily 中的某個(gè) 列名稱agcnttcst.Sinks.k3.channels = c3指定Sink使用的 ChannelHDFS的命令HDFS 命令的使用方式:“hadoop fs - w 或 hdfs dfs - w。HDFS的常用命令及其含義如下。help:查看加助Is:查看指定路徑的目錄結(jié)構(gòu)。mv:移動(dòng)或重命名。rm:刪除文件/空白文件夾。put:上傳文件。mkdir:創(chuàng)痛空白文件夾。二.任務(wù)實(shí)施Flume采集數(shù)據(jù)上傳到HDFS進(jìn)入Flume的conf目錄,創(chuàng)立hdfs.conf配免文件,并編輯此配競 文件。使用HDFS的命令在Hadoop條群根目錄中創(chuàng)速/flume/events文件 夾。通過執(zhí)行命令 flume-ng agent -c. -f /data/bigdata/apache-flume- 1.8.0- bin/conf/hdfs.conf -n hdfsAgent -DFlume.root.logger=INFO,consolev 啟動(dòng) flume-ng監(jiān)控指定目 錄。翻開新的命令行窗口,模擬服務(wù)器生成的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南沙餐飲店管理制度
- 汽車衡過磅管理制度
- 潔凈間現(xiàn)場管理制度
- 海綿存放區(qū)管理制度
- 生產(chǎn)運(yùn)行中管理制度
- 電力馬上辦管理制度
- 電廠廢舊庫管理制度
- 電教科設(shè)備管理制度
- 電影播放室管理制度
- 電解廠設(shè)備管理制度
- 四川省南充市語文小升初試卷及解答參考(2024-2025學(xué)年)
- 重力儲(chǔ)能經(jīng)濟(jì)與環(huán)境效益評(píng)估
- GB/T 44302-2024碳纖維增強(qiáng)塑料和金屬組合件拉伸搭接剪切強(qiáng)度的測定
- 20S515 鋼筋混凝土及磚砌排水檢查井
- 智慧燈桿一鍵求助對(duì)講廣播解決方案
- 敘事療法課件
- 事業(yè)單位員工在職證明模板(9篇)
- 2024年人教版小學(xué)四年級(jí)科學(xué)(下冊(cè))期末試卷及答案
- 戰(zhàn)略協(xié)議合作框架協(xié)議
- 2024年國家開放大學(xué)電大考試《大學(xué)語文》網(wǎng)絡(luò)核心課形考網(wǎng)考作業(yè)及答案
- CJT 188-2018 戶用計(jì)量儀表數(shù)據(jù)傳輸技術(shù)條件
評(píng)論
0/150
提交評(píng)論