数据采集 复习题
考前回顧記憶點(diǎn):
6.常用的數(shù)據(jù)采集命令行:hadoop命令行
**
第一章作業(yè)
**
1.數(shù)據(jù)采集系統(tǒng)主要實(shí)現(xiàn)哪些基本功能?
1)采集傳感器輸出的模擬信號(hào),經(jīng)過(guò)調(diào)整,采樣,量化,編碼,傳輸?shù)炔襟E后轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào)然后送入計(jì)算機(jī)進(jìn)行計(jì)算和處理。
2)將計(jì)算得到的數(shù)據(jù)進(jìn)行存儲(chǔ)、顯示、或打印,以便監(jiān)視物理量。
2.簡(jiǎn)述數(shù)據(jù)采集系統(tǒng)的基本結(jié)構(gòu)形式,并比較其特點(diǎn)。
多路模擬輸入通道分為集中式采集和分布式采集。
計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng)是將多個(gè)傳感器集中在一起,通過(guò)模擬多路開(kāi)關(guān)對(duì)它們進(jìn)行分時(shí)采集。系統(tǒng)架構(gòu)簡(jiǎn)單,工作速度較低。
集散型數(shù)據(jù)采集系統(tǒng)由若干“數(shù)據(jù)采集站”與一臺(tái)上位機(jī)及通信接口、線路組成,即數(shù)據(jù)是分布在不同區(qū)域的。系統(tǒng)適應(yīng)能力強(qiáng)。數(shù)據(jù)采集站并行工作,可以實(shí)時(shí)響應(yīng)。
3.采樣周期與哪些因素有關(guān)?如何選擇采樣周期?
采樣周期與存儲(chǔ)空間與數(shù)據(jù)處理精度有關(guān)。
1)存儲(chǔ)空間足夠大,用常規(guī)采樣技術(shù):fs>=2xfmax
2)存儲(chǔ)空間不足,用間歇采樣技術(shù)。
3)信號(hào)頻率隨時(shí)間變化,用變頻采樣技術(shù)。
4.為什么要在數(shù)據(jù)采集系統(tǒng)中使用測(cè)量放大器?如何選擇?
數(shù)據(jù)采集時(shí)來(lái)自傳感器的模擬信號(hào)一般為較弱的低電平信號(hào)。程控放大器將微弱輸入信號(hào)放大,以便充分利用A/D轉(zhuǎn)換器的滿量程分辨率。應(yīng)根據(jù)
1)共模抑制比
2)溫漂
3)非線性度等 選擇放大器
5.在設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)時(shí),選擇模擬多路轉(zhuǎn)換器要考慮的主要因素是什么?
通道數(shù)量、泄漏電流、導(dǎo)通電阻、開(kāi)關(guān)速度、芯片電源電壓范圍。
7.在數(shù)據(jù)采集系統(tǒng)中,模擬多路轉(zhuǎn)換器的作用是什么?選 擇型號(hào)和配置電路的原則是什么?
輪流切換各路模擬量與A/D轉(zhuǎn)換器之間的通道,達(dá)到分時(shí)轉(zhuǎn)換。要選擇合適的1)A/D轉(zhuǎn)換位數(shù)2)轉(zhuǎn)換速率3)環(huán)境條件4)接口
8.A/D轉(zhuǎn)換器主要技術(shù)指標(biāo)
**
第二章作業(yè)
**
1. 物聯(lián)網(wǎng)的體系結(jié)構(gòu)?
物聯(lián)網(wǎng)通常有3個(gè)層次:感知層、網(wǎng)絡(luò)層和應(yīng)用層。
a) 物聯(lián)網(wǎng)的感知層。功能:完成信息的采集和轉(zhuǎn)換。 其組成為傳感器(或控制器)、短距離傳輸網(wǎng)絡(luò)。
b) 物聯(lián)網(wǎng)的網(wǎng)絡(luò)層 功能:主要完成信息傳遞和處理。 組成:兩個(gè)部分:接入單元、接入網(wǎng)絡(luò)。接入單元是連接感知層的網(wǎng)橋,它匯聚從感知層獲得的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到接入網(wǎng)絡(luò)。接入網(wǎng)絡(luò)即現(xiàn)有的通信網(wǎng)絡(luò)。
c) 物聯(lián)網(wǎng)的應(yīng)用層功能:主要完成數(shù)據(jù)的管理和處理,并將這些數(shù)據(jù)與各行業(yè)應(yīng)用的結(jié)合。 組成:包括兩部分:物聯(lián)網(wǎng)中間件、物聯(lián)網(wǎng)應(yīng)用。
2. 簡(jiǎn)述物聯(lián)網(wǎng)和傳感器網(wǎng)絡(luò)的聯(lián)系和區(qū)別。
聯(lián)系:無(wú)線傳感器網(wǎng)絡(luò)是物聯(lián)網(wǎng)的重要組成部分,主要負(fù)責(zé)監(jiān)測(cè)各類環(huán)境參數(shù).
區(qū)別:
(1) 物聯(lián)網(wǎng)的網(wǎng)絡(luò)拓?fù)涓€(wěn)定。
(2) 物聯(lián)網(wǎng)中實(shí)體的網(wǎng)絡(luò)組織方式可以是有線,也可以是無(wú)線。
(3) 物聯(lián)網(wǎng)具有較強(qiáng)的數(shù)據(jù)處理能力,并且具有智能處理能力。
3.物聯(lián)網(wǎng)的關(guān)鍵技術(shù)包括哪些?
感知層的技術(shù) 1)傳感器技術(shù)2) 無(wú)線傳感器網(wǎng)絡(luò)技術(shù) 3)射頻識(shí)別(RFID)技術(shù) (4)二維碼技術(shù)
網(wǎng)絡(luò)層的技術(shù) 1)Internet 2)通信網(wǎng)
應(yīng)用層的技術(shù) 1)云計(jì)算 2)人工智能 3)數(shù)據(jù)挖掘 4)物聯(lián)網(wǎng)中間件
4.對(duì)比傳統(tǒng)數(shù)據(jù)采集系統(tǒng),物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng)有哪些優(yōu)缺點(diǎn)?
優(yōu)點(diǎn):
1)傳感器網(wǎng)絡(luò)覆蓋感知對(duì)象區(qū)域。
2)多傳感器協(xié)作完成大范圍感知任務(wù)。
4)使用多跳路由算法向用戶匯報(bào)感測(cè)結(jié)果。
缺點(diǎn):傳感器節(jié)點(diǎn)電源能量有限,通信能力有限,計(jì)算和存儲(chǔ)能力有限。
5.簡(jiǎn)述無(wú)線傳感器節(jié)點(diǎn)的體系結(jié)構(gòu)。 (重點(diǎn))
無(wú)線傳感器節(jié)點(diǎn)由sink -匯聚點(diǎn),sensor node -傳感器節(jié)點(diǎn)組成。
1)傳感器節(jié)點(diǎn)sensor node:采集、處理、控制和通信等。
2)Sink節(jié)點(diǎn):1.連接傳感器網(wǎng)絡(luò)與Internet等外部網(wǎng)絡(luò),實(shí)現(xiàn)兩種協(xié)議棧之間的通信協(xié)議轉(zhuǎn)換。2.發(fā)布管理節(jié)點(diǎn)的監(jiān)測(cè)任務(wù)3.轉(zhuǎn)發(fā)收集到的數(shù)據(jù)。
6.如何運(yùn)用傳感器節(jié)點(diǎn)構(gòu)造一個(gè)數(shù)據(jù)采集系統(tǒng)?(重點(diǎn))
將大量的靜止或移動(dòng)的傳感器以自組織和多跳的方式布置在采集區(qū)域中,構(gòu)成無(wú)線網(wǎng)絡(luò)。通過(guò)這些傳感器節(jié)點(diǎn)協(xié)作地采集、處理和傳輸網(wǎng)絡(luò)覆蓋地域內(nèi)感知對(duì)象的監(jiān)測(cè)信息,并報(bào)告給用戶。
**
第三章課后作業(yè)
**
1.Android框架的組成和作用
(1)Linux內(nèi)核層:提供核心系統(tǒng)服務(wù),隱蔽硬件物理細(xì)節(jié)。
(2)系統(tǒng)運(yùn)行庫(kù)層:包含一 個(gè)C/C++庫(kù)的集合,供Android系統(tǒng)的各個(gè)組件使用。
(3)應(yīng)用框架層:提供開(kāi)放的開(kāi)發(fā)平臺(tái),簡(jiǎn)化組件軟件的重用。
(4)應(yīng)用層:用Java語(yǔ)言編寫(xiě)的運(yùn)行 在虛擬機(jī)上的程序。
2.Android開(kāi)發(fā)四大組件的概念和作用
(1)Activity:一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽(tīng)并處理用戶的事件做出響應(yīng)。
(2)BroadcastReceive:應(yīng)用可以使用它對(duì)外部事件進(jìn)行過(guò)濾,只接收感興趣的外部事件。
(3)Service: 是一段長(zhǎng)生命周期的,沒(méi)有用戶界面的程序,可以用來(lái)開(kāi)發(fā)如監(jiān)控類程序。
(4)Content Provider使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。
3.Android編程基本概念
4.常用Android傳感器種類和功能。
1.動(dòng)作傳感器
用于監(jiān)視設(shè)備動(dòng)作的傳感器:加速傳感器和重力傳感器等。
2.位置傳感器
Android平臺(tái)提供了兩個(gè)傳感器用于確定設(shè)備的位置,這兩個(gè)傳感器是磁場(chǎng)傳感器和方向傳感器。
3.環(huán)境傳感器
用于檢測(cè)不同的外部環(huán)境。溫度、濕度、光線傳感器。
**
第四章課后作業(yè)
**
Hadoop框架
MapReduce執(zhí)行流程
MapReduce 首先將存儲(chǔ)在DFS中的大規(guī)模數(shù)據(jù)集切分成獨(dú)立的split分片,這些分片被多個(gè)Map任務(wù)并行處理,結(jié)果繼續(xù)作為Reduce任務(wù)的輸入,最終有Reduce任務(wù)輸出最終結(jié)果并寫(xiě)入DFS。
1.簡(jiǎn)述Hadoop的定義和特點(diǎn)
定義:Hadoop是為用戶提供系統(tǒng)底層細(xì)節(jié)透明的開(kāi)源分布式大數(shù)據(jù)計(jì)算平臺(tái)。
特點(diǎn):高可靠性,高效性,高可擴(kuò)展性,高容錯(cuò)性,成本低,運(yùn)行在Linux平臺(tái)上,支持多種編程語(yǔ)言。
2.簡(jiǎn)述Hadoop的典型應(yīng)用
(1)日志分析。
(2)推薦系統(tǒng)。
(3)數(shù)據(jù)倉(cāng)庫(kù)。
(4)數(shù)據(jù)挖掘
(5)數(shù)據(jù)實(shí)時(shí)查詢
3.簡(jiǎn)述HDFS的全稱和定義
分布式文件系統(tǒng)DFS:允許文件通過(guò)網(wǎng)絡(luò)在多臺(tái)主機(jī)上分享的 文件系統(tǒng),讓多個(gè)機(jī)器上的多個(gè)用戶分享文件和存儲(chǔ)空間。
HDFS: Hadoop Distributed File System(Hadoop分布式文件系統(tǒng))
定義:HDFS是指被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)(Distributed File System)。
4.簡(jiǎn)述YARN的作用
YARN 是一個(gè)資源管理、任務(wù)調(diào)度的框架,解決了Hadoop1的MapReduce中存在的單點(diǎn)故障、JobTracker任務(wù)過(guò)重等問(wèn)題。主要包含三大模塊:ResourceManager(RM)、 NodeManager(NM)、ApplicationMaster(AM)ResourceManager:資源管理;
ApplicationMaster:作業(yè)調(diào)度和監(jiān)控;
NodeManager:執(zhí)行原TaskTracker的任務(wù)。
5.簡(jiǎn)述Hive的作用和特點(diǎn)
作用:Hive是一個(gè)SQL解析引擎,它將SQL語(yǔ)句轉(zhuǎn)譯成MapReduce 作業(yè)并在Hadoop上執(zhí)行。
特點(diǎn):
(1)支持索引,加快數(shù)據(jù)查詢。 ?
(2)支持不同的存儲(chǔ)類型,例如,純文本文件、HBase 中的文件。 ?
(3)將元數(shù)據(jù)保存在關(guān)系數(shù)據(jù)庫(kù)中,減少了在查詢中執(zhí)行語(yǔ)義檢查時(shí)間。 ?
(4)可以直接使用存儲(chǔ)在Hadoop 文件系統(tǒng)中的數(shù)據(jù)。 ?
(5)內(nèi)置大量用戶函數(shù)UDF 來(lái)操作時(shí)間、字符串和其他的數(shù)據(jù)挖掘工具, 支持用戶擴(kuò)展UDF 函數(shù)來(lái)完成內(nèi)置函數(shù)無(wú)法實(shí)現(xiàn)的操作。 ?
(6)類SQL 的查詢方式,將SQL 查詢轉(zhuǎn)換為MapReduce 的job 在Hadoop 集群上執(zhí)行。 ?
(7)編碼跟Hadoop同樣使用UTF-8字符集
6.簡(jiǎn)述Spark的作用和特點(diǎn)并和Hadoop進(jìn)行比較
作用:快速地大規(guī)模查詢,分析和轉(zhuǎn)換數(shù)據(jù)
特點(diǎn):運(yùn)行速度快,易用性好,通用性強(qiáng),被優(yōu)化為在內(nèi)存中運(yùn)行。
比較:Spark的MapReduce的Job中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫(xiě)HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí) 等需要迭代的map reduce的算法。
**
第五章作業(yè)
**
1.采用哪些方式可以獲取大數(shù)據(jù)?
通過(guò)Chukwa,Flume,Scrible,Kafka等大數(shù)據(jù)采集工具從企業(yè)產(chǎn)生的大量數(shù)據(jù)中進(jìn)行采集。
2.大數(shù)據(jù)采集工具有哪些?
Chukwa: Chukwa是一個(gè)用于監(jiān)控大型分布式系統(tǒng)的開(kāi)源數(shù)據(jù)收集系統(tǒng)。Apache Chukwa構(gòu)建于Hadoop分布式文件系統(tǒng)(HDFS)和Map / Reduce框架之上,并繼承了Hadoop的可擴(kuò)展性和健壯性。
Scribe:Scribe是Facebook開(kāi)源的日志收集系統(tǒng),能夠從各種日志源上收集日志,存儲(chǔ)到一個(gè)中央存儲(chǔ)系統(tǒng)(可以是NFS, 分布式文件系統(tǒng)等)上,以便于進(jìn)行集中統(tǒng)計(jì)分析處理。
Flume:Flume是Cloudera提供的一個(gè)高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。
Kafka:由Apache軟件基金會(huì)開(kāi)發(fā)的一個(gè)開(kāi)源流處理平臺(tái),由 Scala和Java編寫(xiě)。Kafka是一種高吞吐量的分布式發(fā)布訂閱 消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。 Kafka被設(shè)計(jì)成能夠高效地處理大量實(shí)時(shí)數(shù)據(jù),其特點(diǎn)是快速 的、可擴(kuò)展的、分布式的,分區(qū)的和可復(fù)制的。
3.簡(jiǎn)述什么是Apache Flume數(shù)據(jù)采集。(書(shū)P38重點(diǎn)復(fù)習(xí))
Apache Flume 是一個(gè)可以收集例如日志,事件等數(shù)據(jù)資源,并將這些數(shù)量龐大的數(shù)據(jù)從各項(xiàng)數(shù)據(jù)資源中集中起來(lái)存儲(chǔ)的工具。flume具有高可用,分布式的配置工具,其設(shè)計(jì)的原理是基于將如日志數(shù)據(jù)的數(shù)據(jù)流從各種網(wǎng)站服務(wù)器上匯集起來(lái)存儲(chǔ)到HDFS,HBase等集中存儲(chǔ)器中。
4.簡(jiǎn)述Sqoop的主要功能。
Apache Sqoop是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)導(dǎo)入/導(dǎo)出工具,允許用戶將關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入Hadoop的HDFS文件系統(tǒng),或?qū)?shù)據(jù)從Hadoop導(dǎo)入到關(guān)系型數(shù)據(jù)庫(kù)。
5.Kafka抽象具有哪種模式的特征消費(fèi)組?
(書(shū)P43) 隊(duì)列消息服務(wù)和廣播服務(wù)。
如果Consumers有同一個(gè)組名,那么Kafka就相當(dāng)于一個(gè)隊(duì)列消息服務(wù),而各個(gè)Consumer均衡地消費(fèi)相應(yīng)Partition中的數(shù)據(jù)。
如果Consumers有不同的組名,那么Kafka就相當(dāng)于一個(gè)廣播服務(wù),它會(huì)把Topic中的所有消息廣播到每個(gè)Consumer。
Consumer Group是Kafka實(shí)現(xiàn)單播和廣播兩種消息模型的手段。同一個(gè)topic的數(shù)據(jù),會(huì)廣播給不同的Consumer group;同一個(gè)Consumer group中的worker,只有一個(gè)worker能拿到這個(gè)數(shù)據(jù)。
6.Topic可以有多個(gè)分區(qū),這些分區(qū)有什么作用?
(1)作為并行處理單元,使Kafka高效處理大數(shù)據(jù)。
(1)有利于水平擴(kuò)展,避免單臺(tái)機(jī)器在磁盤空間和性能上的限制
(2)同時(shí)可以通過(guò)復(fù)制來(lái)增加數(shù)據(jù)冗余性,提高容災(zāi)能力。
第六章作業(yè)
1.什么是數(shù)據(jù)遷移? (重點(diǎn))
數(shù)據(jù)遷移,就是將這些舊系統(tǒng)中寶貴的歷史數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換,并裝載到新系統(tǒng)中的過(guò)程。它是一種將離線存儲(chǔ)與在線存儲(chǔ)融合的技術(shù)。它將高速、高容量的非在線存儲(chǔ)設(shè)備作為磁盤設(shè)備(即在線存儲(chǔ)設(shè)備)的下一級(jí)設(shè)備,然后將磁盤中常用的數(shù)據(jù)按指定的策略自動(dòng)遷移到磁帶庫(kù)(簡(jiǎn)稱帶庫(kù))等二級(jí)大容量存儲(chǔ)設(shè)備上。
(在線存儲(chǔ)是指存儲(chǔ)設(shè)備和所存儲(chǔ)的數(shù)據(jù)時(shí)刻保持 “在線”狀態(tài),可供用戶隨意讀取,滿足計(jì)算平臺(tái)對(duì)數(shù)據(jù)訪問(wèn)的速度要求。就像PC機(jī)中常用的磁盤存儲(chǔ)模式一樣。一般在線存儲(chǔ)設(shè)備為磁盤和磁盤陣列等存儲(chǔ)設(shè)備,價(jià)格相對(duì)昂貴,但性能較好。
離線存儲(chǔ)是對(duì)在線存儲(chǔ)數(shù)據(jù)的備份,以防范可能發(fā)生的數(shù)據(jù)災(zāi)難。離線存儲(chǔ)的數(shù)據(jù)不常被調(diào)用,一般也 遠(yuǎn)離系統(tǒng)應(yīng)用,所以人們用“離線”來(lái)生動(dòng)地描述這種存儲(chǔ)方式。
)
2.基于主機(jī)的遷移方式包括哪幾種方式?
(1)直接拷貝方法:利用操作系統(tǒng)的一些命令可以實(shí)現(xiàn)磁盤數(shù)據(jù)的直接復(fù)制,適合于脫機(jī)遷移的環(huán)境。
(2)邏輯卷數(shù)據(jù)鏡像技術(shù):對(duì)于采用邏輯卷管理器的操作系統(tǒng),可使用邏輯卷管理器 完成數(shù)據(jù)遷移,適用于主機(jī)存儲(chǔ)的非經(jīng)常性遷移。
3.基于同構(gòu)存儲(chǔ)的數(shù)據(jù)遷移和基于異構(gòu)存儲(chǔ)的數(shù)據(jù)遷移的區(qū)別有哪些?
(1)同構(gòu)存儲(chǔ)的數(shù)據(jù)遷移是通過(guò)存儲(chǔ)的同步復(fù)制遷移技術(shù),實(shí)現(xiàn)磁盤或卷LUN的復(fù)制
(2)異構(gòu)存儲(chǔ)的數(shù)據(jù)遷移是通過(guò)存儲(chǔ)的虛擬化管理技術(shù),實(shí)現(xiàn)對(duì)不同品牌存儲(chǔ)的統(tǒng)一管理及內(nèi)部復(fù)制,從而實(shí)現(xiàn)數(shù)據(jù)遷移.
4.異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)遷移通常存在哪些問(wèn)題?
(1)字段類型變化
(2)序列不一致
(3)程序不兼容 主鍵
(4)索引丟失
5.服務(wù)器虛擬化遷移有哪些優(yōu)點(diǎn)?
服務(wù)器虛擬化可以提高設(shè)備資源的利用率,可實(shí)現(xiàn)服務(wù)器 的資源整合和充分運(yùn)用,也符合目前云計(jì)算的需求
6.ETL構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)包含哪些關(guān)鍵流程?(重點(diǎn))
(1) 數(shù)據(jù)抽取:從不同的數(shù)據(jù)源(不同物理環(huán)境和背景 以及多樣化的數(shù)據(jù))中通過(guò)采用不同的方法抽取數(shù)據(jù)的一個(gè)過(guò)程。
(2)數(shù)據(jù)轉(zhuǎn)換:從數(shù)據(jù)源中抽取獲得的數(shù)據(jù)格式與目標(biāo)數(shù)據(jù)格式可能存在不一致的情況,所以需要對(duì)抽取后的數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換以及加工的處理,包括數(shù)據(jù)的合并、匯總、過(guò)濾和轉(zhuǎn)換,重新對(duì)數(shù)據(jù)進(jìn)行格式化等過(guò)程。
(3)數(shù)據(jù)清洗:指數(shù)據(jù)在加載到數(shù)據(jù)倉(cāng)庫(kù)之前,可能會(huì) 存在- -些問(wèn)題數(shù)據(jù),即"臟數(shù)據(jù)" ,如不完整數(shù)據(jù)、錯(cuò)誤數(shù)據(jù)和重復(fù)數(shù)據(jù)等須進(jìn)行數(shù)據(jù)清洗,這是一個(gè)不 斷反復(fù)的過(guò)程。
(4)數(shù)據(jù)加載:將經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)清洗后的數(shù)據(jù)依照實(shí)際數(shù)據(jù)模式定義的表結(jié)構(gòu)裝載到目標(biāo)庫(kù)中。通常包含兩種方式裝載,一種是通過(guò)SOL語(yǔ)句插入、刪除和更新操作,另種是采用批量裝載方法
7.簡(jiǎn)述Sqoop的數(shù)據(jù)導(dǎo)入和數(shù)據(jù)導(dǎo)出的過(guò)程。(重點(diǎn))
導(dǎo)入流程:
(1)讀取要導(dǎo)入數(shù)據(jù)的表結(jié)構(gòu)
(2)讀取參數(shù),設(shè)置好job
(3)調(diào)用mapreduce執(zhí)行任務(wù)
對(duì)數(shù)據(jù)進(jìn)行切分
寫(xiě)入范圍,以便讀取
讀取范圍參數(shù)(第二步中設(shè)置的參數(shù))
創(chuàng)建RecordReader并從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)
創(chuàng)建map
執(zhí)行map
導(dǎo)出流程:
導(dǎo)入過(guò)程的逆向過(guò)程
8.使用Kettle實(shí)現(xiàn)數(shù)據(jù)遷移。
具體操作在如下網(wǎng)站學(xué)習(xí):
https://www.cnblogs.com/wlming/p/8080480.html
**
第七章作業(yè)
**
1.什么是網(wǎng)絡(luò)爬蟲(chóng)?網(wǎng)絡(luò)爬蟲(chóng)的常見(jiàn)應(yīng)用有哪些?
網(wǎng)絡(luò)爬蟲(chóng)是一種自動(dòng)采集網(wǎng)絡(luò)數(shù)據(jù)的程序,一般分為數(shù)據(jù)采集、處理、存儲(chǔ)三個(gè)部分,被廣泛用于互聯(lián)網(wǎng)搜索引擎、資訊采集、輿情監(jiān)測(cè)等領(lǐng)域。
2.常用的網(wǎng)絡(luò)爬蟲(chóng)抓取策略有哪些?
(1)深度優(yōu)先策略:按照深度由低到高的順序,依次訪問(wèn)下一級(jí)網(wǎng)頁(yè)鏈接,直到不能再深入為止。爬蟲(chóng)在完成一個(gè)爬行分支后返回到上一鏈接節(jié)點(diǎn)進(jìn)一步搜索其他鏈接。當(dāng)所有鏈接遍歷完后,爬行任務(wù)結(jié)束。
(2)廣度優(yōu)先策略:按照廣度優(yōu)先的搜索思想,逐層抓取URL池中的每一個(gè)URL的內(nèi)容,并將每一 層的扇出URL納入U(xiǎn)RL池中,按照廣度優(yōu)先的策略繼續(xù)遍歷。
(3)局部PageRank(鏈接的訪問(wèn)量排名)策略:按照一定的網(wǎng)頁(yè)分析算法,預(yù)測(cè)候選URL與目標(biāo)網(wǎng)頁(yè)的相似度或與主題的相關(guān)性,并選取評(píng)價(jià)最好的一個(gè)或幾個(gè)URL進(jìn)行抓取。
(4)OPIC策略:初始時(shí)給所有頁(yè)面-一個(gè)相同的初始現(xiàn)金(cash)。當(dāng)下載了某個(gè)頁(yè)面之后,將P的現(xiàn)金分?jǐn)偨o所有從P中分析出的鏈接并將P的現(xiàn)金清空。對(duì)于待抓取AL隊(duì)列中的所有頁(yè)面都須按照現(xiàn)金數(shù)進(jìn)行排序。
(5)大站優(yōu)先策略:指對(duì)待抓取URL隊(duì)列中的所有網(wǎng)頁(yè),根據(jù)所屬的網(wǎng)站進(jìn)行分類。對(duì)于待下載頁(yè)面量大的網(wǎng)站,優(yōu)先下載
(6)反向鏈接數(shù)策略:指一個(gè)網(wǎng)頁(yè)被其他網(wǎng)頁(yè)鏈接指向的數(shù)量。反向鏈接數(shù)表示的是一個(gè)網(wǎng)頁(yè)的內(nèi)容受到其他人推薦的程度。
(7)最佳優(yōu)先搜索策略:通過(guò)URL描述文本與目標(biāo)網(wǎng)頁(yè)的相似度,或者與主題的相關(guān)性,根據(jù)所設(shè)定的閾值選出有效的URL進(jìn)行抓取。
3.常用的網(wǎng)絡(luò)更新策略有哪些?
(1)歷史參考策略:最直觀,利用泊松過(guò)程來(lái)對(duì)網(wǎng)頁(yè)的變化進(jìn)行建模,根據(jù)每個(gè)網(wǎng)頁(yè)過(guò)去的變動(dòng)情況,利用模型預(yù)測(cè)將來(lái)何時(shí)內(nèi)容會(huì)再次發(fā)生變化,以此來(lái)指導(dǎo)爬蟲(chóng)的抓取過(guò)程。
(2)用戶體驗(yàn)策略:保存網(wǎng)頁(yè)的多個(gè)歷史版本,并根據(jù)過(guò)去每次內(nèi)容變化對(duì)搜索質(zhì)量的影響,得出一個(gè)平均值,以此作為判斷爬蟲(chóng)重新抓取該網(wǎng)頁(yè)時(shí)機(jī)的參考依據(jù),對(duì)于影響越厲害的網(wǎng)頁(yè),則越優(yōu)先調(diào)度重新抓取。
(3)聚類抽樣策略:可以根據(jù)屬性將網(wǎng)頁(yè)歸類,同一類別內(nèi)的網(wǎng)頁(yè)具有相同的更新頻率。為了計(jì)算某個(gè)類別的更新周期,只需對(duì)類別內(nèi)網(wǎng)頁(yè)進(jìn)行采樣,以這些采樣網(wǎng)頁(yè)的更新周期作為該類別內(nèi)所有網(wǎng)頁(yè)的更新周期。
4.常用的網(wǎng)頁(yè)分析算法有哪些?
網(wǎng)頁(yè)分析算法可以歸納為基于網(wǎng)絡(luò)拓?fù)?、基于網(wǎng)頁(yè)內(nèi)容和基于用戶訪問(wèn)行為三種類型。
(1) 基于用戶行為的分析算法:根據(jù)用戶對(duì)網(wǎng)頁(yè)的訪問(wèn)頻率 、訪問(wèn)時(shí)長(zhǎng) 、點(diǎn)擊率等對(duì)網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行分析
(2) 基于網(wǎng)絡(luò)拓?fù)涞姆治鏊惴?#xff1a;根據(jù)網(wǎng)頁(yè)的外鏈 、網(wǎng)頁(yè)的層次 、網(wǎng)頁(yè)的等級(jí)等對(duì)網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行分析,計(jì)算出網(wǎng)頁(yè)的權(quán)重,對(duì)網(wǎng)頁(yè)進(jìn)行排名
(3) 基于網(wǎng)頁(yè)內(nèi)容的分析算法:根據(jù)網(wǎng)頁(yè)的外觀 、網(wǎng)頁(yè)的文本等內(nèi)容特征對(duì)網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行分析
5.簡(jiǎn)述通用爬蟲(chóng)工作過(guò)程?
(1)首先在互聯(lián)網(wǎng)中選出一部分網(wǎng)頁(yè),以這些網(wǎng)頁(yè)的鏈接地址作為種子URL
(2)將這些種子URL放入待抓取的URL隊(duì)列中,爬蟲(chóng)從待抓取的URL隊(duì)列依次讀取
(3)將URL通過(guò)DNS解析
(4)把鏈接地址轉(zhuǎn)換為網(wǎng)站服務(wù)器對(duì)應(yīng)的IP地址
(5)網(wǎng)頁(yè)下載器通過(guò)網(wǎng)站服務(wù)器對(duì)網(wǎng)頁(yè)進(jìn)行下載
(6)下載的網(wǎng)頁(yè)為網(wǎng)頁(yè)文檔形式(html)
(7)對(duì)網(wǎng)頁(yè)文檔中的URL進(jìn)行抽取,過(guò)濾掉已經(jīng)抓取的URL后將新的URL放入U(xiǎn)RL隊(duì)列中。
(8)對(duì)未進(jìn)行抓取的URL繼續(xù)循環(huán)抓取,直至待抓取URL隊(duì)列為空。
其中,下載的網(wǎng)頁(yè)文檔一部分存儲(chǔ)到頁(yè)面庫(kù)中,等待建立索引等后續(xù)處理,另一方面將網(wǎng)頁(yè)中的URL存入已抓取URL庫(kù)中,提供給步驟7進(jìn)行過(guò)濾。
6.什么是聚焦網(wǎng)絡(luò)爬蟲(chóng)?
聚焦爬蟲(chóng)的工作流程是根據(jù)一定的網(wǎng)頁(yè)分析算法過(guò)濾與主題無(wú)關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列。然后,它將根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁(yè)URL,并重復(fù)上述過(guò)程,直到達(dá)到系統(tǒng)的某一條件時(shí)停止。
另外,所有被爬蟲(chóng)抓取的網(wǎng)頁(yè)將會(huì)被系統(tǒng)存貯,進(jìn)行一定的分析、過(guò)濾,并建立索引,以便之后的查詢和檢索;對(duì)于聚焦爬蟲(chóng)來(lái)說(shuō),這一過(guò)程所得到的分析結(jié)果還可能對(duì)以后的抓取過(guò)程給出反饋和指導(dǎo)。
7.簡(jiǎn)述Python的Urllib庫(kù)的主要模塊和功能。
(1)urllib.requst模塊:發(fā)送request和獲取request的結(jié)果。
(2)urllib.error模塊:捕獲由urllib.request產(chǎn)生的異常并返回錯(cuò)誤原因
(3)urllib.parse模塊:定義了一個(gè)標(biāo)準(zhǔn)接口,把URL字符串拆分成組件,并能把組件合成URL或者將相對(duì)URL展換為給定的基URL的絕對(duì)URL
(4)urllib.robotparser模塊:一般來(lái)說(shuō),網(wǎng)站都會(huì)定義robots.txt文件,該文件主要用來(lái)規(guī)定網(wǎng)絡(luò)爬蟲(chóng)爬取該網(wǎng)站時(shí)存在的限制。
8.簡(jiǎn)述BeautifulSoup庫(kù)的作用。
BeautifulSoup是一個(gè)可以從HTML 或XML文件中提取數(shù)據(jù)的Python庫(kù)。
BcautifulSoup 提供一些簡(jiǎn)單的Python式的函數(shù)用來(lái)處理導(dǎo)航、搜索、修改分析等功能。
它同時(shí)也是一個(gè)工具箱,通過(guò)解析文檔為用戶提供需要抓取的數(shù)據(jù)。統(tǒng)一將輸出文檔轉(zhuǎn)換為utf- 8編碼。
**
第八章作業(yè)
**
1.簡(jiǎn)述HTML數(shù)據(jù)采集的主要過(guò)程
(1)通過(guò)urllib中的urlopen函數(shù)向指定url發(fā)起請(qǐng)求,得到返回的html。
(2)通過(guò)bs4中的BeautifulSoup函數(shù)解析html,得到bs對(duì)象,基于bs對(duì)象進(jìn)行html解析獲取html中需要的數(shù)據(jù)。
2.簡(jiǎn)述常見(jiàn)的爬蟲(chóng)的分類方法?
一:按功能分類
(1) 批量型爬蟲(chóng),有明確抓取范圍和目標(biāo),達(dá)到目標(biāo)后立即停止抓取。
(2) 增量型爬蟲(chóng),根據(jù)用戶配置持續(xù)抓取,并且定期更新抓取到的網(wǎng)頁(yè)和及時(shí)反映更新的變化。
(3) 垂直型爬蟲(chóng):根據(jù)用戶配置持續(xù)抓取屬于指定主題的頁(yè)面。
二:按系統(tǒng)結(jié)構(gòu)分類
(1) 通用網(wǎng)絡(luò)爬蟲(chóng):又稱全網(wǎng)爬蟲(chóng)。
(2) 聚焦網(wǎng)絡(luò)爬蟲(chóng):按照預(yù)定義的主題有選擇地爬取網(wǎng)頁(yè),相對(duì)通用網(wǎng)絡(luò)爬蟲(chóng)增加了目標(biāo)的定義和過(guò)濾機(jī)制。
(3) 深層網(wǎng)絡(luò)爬蟲(chóng)
(4) 分布式網(wǎng)絡(luò)爬蟲(chóng)
3.簡(jiǎn)述BeautifulSoup庫(kù)中的四個(gè)主要對(duì)象和功能
(1)BeautifulSoup 對(duì)象:一個(gè)html文檔的全部?jī)?nèi)容。
(2)標(biāo)簽Tag 對(duì)象: BeautifulSoup 對(duì)象通過(guò)find 和find_all,或者直接調(diào)用子標(biāo)簽獲取的一列對(duì)象或單個(gè)對(duì)象,
(3)NavigableString對(duì)象:標(biāo)簽中的文字。
(4)comment對(duì)象:用來(lái)查找文檔注釋。
4.簡(jiǎn)述BeautifulSoup庫(kù)中常用的解析器
5.掌握網(wǎng)頁(yè)爬取編程步驟和基礎(chǔ)正則表達(dá)式
6.掌握Scrapy框架編程
引擎(Scrapy)
用來(lái)處理整個(gè)系統(tǒng)的數(shù)據(jù)流處理, 觸發(fā)事務(wù)(框架核心)
調(diào)度器(Scheduler)
用來(lái)接受引擎發(fā)過(guò)來(lái)的請(qǐng)求, 壓入隊(duì)列中, 并在引擎再次請(qǐng)求的時(shí)候返回. 可以想像成一個(gè)URL(抓取網(wǎng)頁(yè)的網(wǎng)址或者說(shuō)是鏈接)的優(yōu)先隊(duì)列, 由它來(lái)決定下一個(gè)要抓取的網(wǎng)址是什么, 同時(shí)去除重復(fù)的網(wǎng)址
下載器(Downloader)
用于下載網(wǎng)頁(yè)內(nèi)容, 并將網(wǎng)頁(yè)內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個(gè)高效的異步模型上的)
爬蟲(chóng)(Spiders)
爬蟲(chóng)是主要干活的, 用于從特定的網(wǎng)頁(yè)中提取自己需要的信息, 即所謂的實(shí)體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個(gè)頁(yè)面
項(xiàng)目管道(Pipeline)
負(fù)責(zé)處理爬蟲(chóng)從網(wǎng)頁(yè)中抽取的實(shí)體,主要的功能是持久化實(shí)體、驗(yàn)證實(shí)體的有效性、清除不需要的信息。當(dāng)頁(yè)面被爬蟲(chóng)解析后,將被發(fā)送到項(xiàng)目管道,并經(jīng)過(guò)幾個(gè)特定的次序處理數(shù)據(jù)。
7.簡(jiǎn)述Xpath和CSS選擇器的主要功能。
8.簡(jiǎn)述使用CSV文件存儲(chǔ)數(shù)據(jù)。
9.掌握Mysql的基本命令
**
十一章:數(shù)據(jù)預(yù)處理技術(shù)
**
列舉出常用于數(shù)據(jù)散布特征的統(tǒng)計(jì)度量,并討論如何在大數(shù)據(jù)預(yù)處理分析中有效地計(jì)算。
散布特征:(1)極差:最大值減最小值。(2)分位數(shù) (3)方差與標(biāo)準(zhǔn)差。
針對(duì)不同的數(shù)據(jù)類型,數(shù)據(jù)相似性和相異性常用的計(jì)算方法有哪些?
(1) 標(biāo)稱屬性:設(shè)m是匹配的數(shù)目(對(duì)象i和對(duì)象j取值相同狀態(tài)的屬性數(shù)),p數(shù)對(duì)象的屬性總數(shù)。 則對(duì)象i和j的相異性d(i,j)=(p-m)/p,相似性 sim(I,j)=1-d(I,j)
(2) 二元屬性:
(3) 數(shù)值屬性:歐幾里得距離,曼哈頓距離和閔可夫斯基距離。
(4) 混合類型屬性相似性和相異性度量
(5) 文檔相似性和相異性度量:詞頻向量。
數(shù)據(jù)清洗的主要任務(wù)?常用的數(shù)據(jù)清洗技術(shù)?
主要任務(wù):標(biāo)準(zhǔn)化數(shù)據(jù)格式,清楚異常和重復(fù)數(shù)據(jù)。
常用技術(shù):缺失值處理,光滑噪聲數(shù)據(jù)處理,檢測(cè)偏差與糾正偏差。
數(shù)據(jù)規(guī)約的目的?常用的數(shù)據(jù)規(guī)約技術(shù)?
得到數(shù)據(jù)集的歸約表示,使得數(shù)據(jù)集變小的同時(shí)保持原數(shù)據(jù)的完整性。
常用的數(shù)據(jù)規(guī)約技術(shù):維歸約,數(shù)量歸約和數(shù)據(jù)壓縮。
10.假設(shè)所分析的數(shù)據(jù)包括年收入income(單位:萬(wàn)元),它在數(shù)據(jù)元組中的值(以遞增序)為3,3,6,6,7,7,8,9,9,10,10,12,12,12,15,15,15,18,18,18,20,20,20,20,24,24,30,30.計(jì)算數(shù)據(jù)的均值,中位數(shù)以及眾數(shù)。
均值:
11.利用習(xí)題10中的數(shù)據(jù),回答如下問(wèn)題:
(1) 將數(shù)據(jù)劃分到大小為4的等頻箱中,給出每個(gè)箱中的數(shù)據(jù)。
箱1:3,3,6,6
箱2:7,7,8,9
箱3:9,10,10,12
箱4:12,12,15,15
箱5:15,18,18,18
箱6:20,20,20,20,
箱 7:24,24,30,30.
(2) 分別給出利用箱均值光滑數(shù)據(jù)結(jié)果和用箱邊界光滑數(shù)據(jù)的結(jié)果。
箱均值光滑數(shù)據(jù)結(jié)果:用每個(gè)箱中的均值代替原值。
箱邊界光滑結(jié)果:將給定箱最大最小值視為箱邊界,將箱中值替換為最近的邊界值。
12.利用習(xí)題10中的數(shù)據(jù),回答如下問(wèn)題:
(1)使用min-max規(guī)范化變換,將年收入值為22變換到[0.0,1.0]區(qū)間。
Min=3,max=30.根據(jù)p129(6-24)
Xi’=(22-3)/(30-3)*(1.0-0.0) + 0.0=
(2)使用z-score規(guī)范化變換年收入值為22的數(shù)據(jù),其中數(shù)據(jù)的標(biāo)準(zhǔn)差為7.46。
數(shù)據(jù)的均值為14. 根據(jù)p129 (6-25)
Xi’=(22-14) /7.46=
(3) 使用小數(shù)定標(biāo)規(guī)范化變化年收入值為22的數(shù)據(jù)。
Xi取值為3-30
其最大絕對(duì)值為30
則由(6-28)得j=2.(使得max(|xi’|<1)的最小整數(shù))
則22規(guī)范化為22/10的二次方=0.22
總結(jié)
- 上一篇: Java 内部类详解
- 下一篇: 51单片机频率计c语言程序,51单片机简