读书笔记之大数据采集与预处理
1、數(shù)據(jù)采集過程涉及數(shù)據(jù)抽取、數(shù)據(jù)的清洗轉(zhuǎn)換、數(shù)據(jù)的加載三個過程(即ETL:Extract、Transform、Load),數(shù)據(jù)采集的ETL工具負責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的不同種類和結(jié)構(gòu)的數(shù)據(jù)抽取到臨時中間層后進行清洗、轉(zhuǎn)換、分類、集成,最后加載到對應(yīng)的數(shù)據(jù)存儲系統(tǒng)如數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。
2、企業(yè)數(shù)據(jù)總線有效地創(chuàng)建了一層數(shù)據(jù)訪問抽象層,使業(yè)務(wù)功能避開企業(yè)數(shù)據(jù)訪問的細節(jié),業(yè)務(wù)組件只需包含服務(wù)功能組件(用于實現(xiàn)現(xiàn)有服務(wù)功能)和數(shù)據(jù)訪問組件(通過使用企業(yè)數(shù)據(jù)總線的方式),使用這種方式為企業(yè)的管理數(shù)據(jù)模型和應(yīng)用系統(tǒng)數(shù)據(jù)模型間提供了一個統(tǒng)一的轉(zhuǎn)換接口,并有效減少了各應(yīng)用服務(wù)間的耦合度。
3、數(shù)據(jù)采集的來源:
①管理信息系統(tǒng):指企業(yè)、機關(guān)內(nèi)部的信息系統(tǒng),如事務(wù)處理系統(tǒng)、辦公自動化系統(tǒng),主要用于經(jīng)營和管理,為特定用戶的工作和業(yè)務(wù)提供支持。系統(tǒng)的組織結(jié)構(gòu)上是專用的,數(shù)據(jù)通常是結(jié)構(gòu)化的;
②Web信息系統(tǒng):包括互聯(lián)網(wǎng)上的各種信息系統(tǒng),如社交網(wǎng)站、社會媒體、搜索引擎等,主要用于構(gòu)造虛擬的信息空間,為廣大用戶提供信息服務(wù)和社交服務(wù)。系統(tǒng)的組織結(jié)構(gòu)是開放式的,大部分數(shù)據(jù)是半結(jié)構(gòu)化或無結(jié)構(gòu)的,生產(chǎn)者主要是在線用戶;
③物理信息系統(tǒng):關(guān)于各種物理對象和物理過程的信息系統(tǒng),如實時監(jiān)控和監(jiān)測,主要用于生產(chǎn)調(diào)度、過程控制、現(xiàn)場指揮、環(huán)境保護等。系統(tǒng)的組織結(jié)構(gòu)是封閉的,數(shù)據(jù)由各種嵌入式傳感設(shè)備產(chǎn)生;
④科學(xué)實驗系統(tǒng):實驗環(huán)境是預(yù)先設(shè)定的,主要用于研究和學(xué)術(shù),數(shù)據(jù)時可選擇的、可控的,也可能是人工模擬生成的仿真數(shù)據(jù)。
3、多模態(tài):在物理信息系統(tǒng)中,對于一個具體的物理對象,采用不同觀測手段對其不同屬性進行測量,觀測結(jié)果為具有不同形式的數(shù)據(jù),這些數(shù)據(jù)代表實體不同的模態(tài)。對于一個實體的多模態(tài)原始數(shù)據(jù),需要進行融合處理。
4、數(shù)據(jù)的異構(gòu)性:對于不同的數(shù)據(jù)集,可能存在不同的結(jié)構(gòu)和模式,如文件、XML樹、關(guān)系表等,對多個異構(gòu)的數(shù)據(jù)集需要做集成處理或整合處理。
5、網(wǎng)頁數(shù)據(jù)采集:獲取互聯(lián)網(wǎng)中相關(guān)網(wǎng)頁內(nèi)容的過程,并從中抽取用戶所需要的屬性內(nèi)容;
網(wǎng)頁數(shù)據(jù)處理:對抽取出來的網(wǎng)頁數(shù)據(jù)進行內(nèi)容和格式上的處理,進行轉(zhuǎn)換加工,使之能夠適應(yīng)用戶需求,并存儲下來以供后用。
6、網(wǎng)絡(luò)爬蟲是一個自動提取網(wǎng)頁的程序,為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成部分。
傳統(tǒng)爬蟲從一個或若干個初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。
聚焦爬蟲的工作流程比較復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并放入待抓取的URL隊列,再根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程直到達到系統(tǒng)的某一條件時終止。
7、數(shù)據(jù)采集的過程:
①將需要抓取數(shù)據(jù)的網(wǎng)站的URL信息(Site URL)寫入URL隊列;
②爬蟲從隊列中獲取所需要抓取數(shù)據(jù)的網(wǎng)站的Site URL;
③獲取某個具體網(wǎng)站的網(wǎng)頁內(nèi)容;
④從網(wǎng)頁內(nèi)容中抽取出該網(wǎng)站正文頁內(nèi)容的鏈接地址;
⑤從數(shù)據(jù)庫中讀取已經(jīng)抓取過內(nèi)容的網(wǎng)頁地址(Spider URL);
⑥過濾URL,將當(dāng)前的URL和已經(jīng)抓取過的URL進行比較,如果沒有被抓取過,則將該地址寫入數(shù)據(jù)庫;如果該地址已經(jīng)被抓取過,則放棄對這個地址的抓取操作;
⑦獲取該地址的網(wǎng)頁內(nèi)容,并抽取出所需屬性的內(nèi)容值;
⑧將抽取的網(wǎng)頁內(nèi)容寫入數(shù)據(jù)庫。
8、網(wǎng)頁內(nèi)容提取、數(shù)據(jù)采集與數(shù)據(jù)處理邏輯:
用戶手工配置爬蟲規(guī)則和網(wǎng)頁解析規(guī)則(保存規(guī)則)——>規(guī)則信息數(shù)據(jù)庫(發(fā)布采集任務(wù))——>XML格式的規(guī)則描述(讀取采集任務(wù))——>網(wǎng)頁爬蟲模塊(把從指定網(wǎng)站下載的網(wǎng)頁交給解析模塊)——>網(wǎng)頁解析模塊(把解析后的數(shù)據(jù)塊交給修正插件)——>數(shù)據(jù)修正插件(把優(yōu)良的數(shù)據(jù)塊交給輸出插件)——>數(shù)據(jù)輸出插件(把數(shù)據(jù)保存到本地)——>數(shù)據(jù)存儲介質(zhì)——>數(shù)據(jù)應(yīng)用(可以根據(jù)用戶需求定制開發(fā))
9、Web數(shù)據(jù)自動采集相關(guān)概念:
- Web數(shù)據(jù)自動采集和挖掘:從大量非結(jié)構(gòu)化、異構(gòu)的Web信息資源中發(fā)現(xiàn)有效的、新穎的、潛在可用的、最終可以理解的知識的非平凡過程;
- Web數(shù)據(jù)自動采集與搜索引擎:搜索引擎主要由網(wǎng)絡(luò)爬蟲(Web Scraper)、索引數(shù)據(jù)庫和查詢服務(wù)三部分組成,Web數(shù)據(jù)自動采集主要針對某個具體行業(yè),提供面向領(lǐng)域,個性化的信息挖掘服務(wù);
- Web數(shù)據(jù)自動采集與信息提取:信息提取是面向不斷增長和變化的、某個具體領(lǐng)域的文獻特定的查詢,這種查詢是長期的、持續(xù)的,與傳統(tǒng)搜索引擎基于關(guān)鍵字查詢不同,信息提取基于查詢,不僅包含關(guān)鍵字,還要匹配各個實體之間的關(guān)系;
- Web數(shù)據(jù)自動采集與Web信息檢索:從大量的Web文獻集合C中,找到與給定查詢q相關(guān)的,數(shù)目相當(dāng)?shù)奈墨I子集S。而Web數(shù)據(jù)自動采集不是直接將Web文獻集合的子集輸出給用戶,還要進一步分析處理、查重去噪、整合數(shù)據(jù)等,盡量將半結(jié)構(gòu)化甚至非結(jié)構(gòu)化的數(shù)據(jù)變?yōu)榻Y(jié)構(gòu)化數(shù)據(jù)。
10、鏈接過濾:數(shù)據(jù)采集的關(guān)鍵技術(shù),實質(zhì)是判斷一個連接(當(dāng)前鏈接)是不是在一個鏈接集合(已抓取過的鏈接)里,在針對網(wǎng)頁大數(shù)據(jù)的采集中可以采用布隆過濾器來實現(xiàn)。
11、布隆過濾器(Bloom Filter)的基本思想:當(dāng)一個元素被加入集合時,通過K個散列函數(shù)將該元素映射成一個位數(shù)組中的K個點并置一。進行檢索時只需看這些點是否是1就知道集合中是否有它:如果這些點有任何一個0則被檢元素一定不在;如果都是1則被檢元素很有可能在。
優(yōu)勢:
①復(fù)雜度方面:布隆過濾器存儲空間和插入/查詢時間都是常數(shù)(復(fù)雜度為O(k));
②關(guān)系方面:散列函數(shù)之間無任何關(guān)聯(lián)關(guān)系,方便硬件并行實現(xiàn);
③存儲方面:布隆過濾器不需要存儲元素本身,在某些對保密要求非常嚴格的場合有優(yōu)勢。
12、大數(shù)據(jù)處理:將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉(zhuǎn)換之后加載到數(shù)據(jù)倉庫的過程,目的是將分散、零亂、標準不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析的依據(jù)。而數(shù)據(jù)抽取、清洗與轉(zhuǎn)換是最重要的一個環(huán)節(jié)。
13、數(shù)據(jù)清洗的任務(wù)是過濾掉不符合要求的數(shù)據(jù),將過濾的結(jié)果交給業(yè)務(wù)主管部門,確認是否過濾掉或者由業(yè)務(wù)單位修正之后再進行抽取。不符合要求的數(shù)據(jù)主要有不完整的數(shù)據(jù)、錯誤的數(shù)據(jù)和重復(fù)的數(shù)據(jù)三類。
- 不完整的數(shù)據(jù):特征是一些應(yīng)該有的信息缺失,如供應(yīng)商的名稱、分公司的名稱、客戶的區(qū)域信息缺失等。需要將這類數(shù)據(jù)過濾出來,按缺失的內(nèi)容分別寫入不同的Excel文件向客戶提交,要求在規(guī)定時間內(nèi)補全再寫入數(shù)據(jù)倉庫
- 錯誤的數(shù)據(jù):產(chǎn)生原因是業(yè)務(wù)系統(tǒng)不夠健全,由于在接收輸入后沒有進行判斷就直接寫入后臺數(shù)據(jù)庫造成,比如日期格式錯誤、日期越界、字符串?dāng)?shù)據(jù)后有回車等。
- 重復(fù)的數(shù)據(jù):在維度表中較常見,將重復(fù)的數(shù)據(jù)記錄所有字段導(dǎo)出,讓客戶確認并整理。
14、數(shù)據(jù)轉(zhuǎn)換的任務(wù)主要是進行不一致的數(shù)據(jù)轉(zhuǎn)換(將不同業(yè)務(wù)系統(tǒng)的相同類型的數(shù)據(jù)統(tǒng)一)、數(shù)據(jù)粒度的轉(zhuǎn)換(一般會將業(yè)務(wù)系統(tǒng)數(shù)據(jù)按照數(shù)據(jù)倉庫粒度進行聚合)和一些商務(wù)規(guī)則的計算(在ETL中將不同的數(shù)據(jù)指標計算好并存儲在數(shù)據(jù)倉庫中)。
15、臟數(shù)據(jù):因為數(shù)據(jù)倉庫中的數(shù)據(jù)是面向某一主題的數(shù)據(jù)的集合,這些數(shù)據(jù)從多個業(yè)務(wù)系統(tǒng)中抽取出來而且包含歷史數(shù)據(jù),這樣就造成一些數(shù)據(jù)是錯誤數(shù)據(jù)或者相互之間有沖突。
16、ETL(Extraction-Transformation-Loading)即數(shù)據(jù)提取、轉(zhuǎn)換和加載,負責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時中間層后進行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市,成為聯(lián)機分析處理、數(shù)據(jù)挖掘的基礎(chǔ),這個過程可以批量完成數(shù)據(jù)抽取、清洗、轉(zhuǎn)換、裝載等任務(wù)。
17、數(shù)據(jù)抽取的方式:
①全量抽取:ETL在集成端進行數(shù)據(jù)初始化時,首先由業(yè)務(wù)人員或相關(guān)操作人員定義抽取策略,選定抽取字段和定義規(guī)則后,由設(shè)計人員進行程序設(shè)計;將數(shù)據(jù)進行處理后直接讀取整個工作表中的數(shù)據(jù)作為抽取的內(nèi)容,主要適用于處理一些對用戶非常重要的數(shù)據(jù)表。
②增量抽取:主要發(fā)生在全量抽取之后,對上次抽取過的數(shù)據(jù)源表中的新增或被修改的數(shù)據(jù)進行抽取。增量抽取可以減少對抽取過程中的數(shù)據(jù)量,提高抽取速度和效率,減少網(wǎng)絡(luò)流量,使得對異構(gòu)數(shù)據(jù)源和數(shù)據(jù)庫中數(shù)據(jù)的變化有個準確的把握。
18、數(shù)據(jù)轉(zhuǎn)換是真正將源數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換為目標數(shù)據(jù)的關(guān)鍵步驟,通過對數(shù)據(jù)的合并、匯總、過濾以及重新格式化和再計算等,從而將操作型數(shù)據(jù)庫中的異構(gòu)數(shù)據(jù)轉(zhuǎn)換成用戶需要的形式。這一過程可以在ETL引擎中進行,也可以在數(shù)據(jù)抽取過程中利用數(shù)據(jù)庫特性同時進行。
- ETL引擎中的數(shù)據(jù)轉(zhuǎn)換和加工:一般以組件化方式實現(xiàn)數(shù)據(jù)轉(zhuǎn)換,常用的數(shù)據(jù)轉(zhuǎn)換組件有字段映射、數(shù)據(jù)過濾、數(shù)據(jù)清洗、數(shù)據(jù)替換、數(shù)據(jù)計算、數(shù)據(jù)驗證、數(shù)據(jù)加解密、數(shù)據(jù)合并、數(shù)據(jù)拆分等,這些組件是可插拔的,可以任意組裝,組件之間通過數(shù)據(jù)總線共享數(shù)據(jù);
- 在數(shù)據(jù)庫中進行數(shù)據(jù)加工:關(guān)系數(shù)據(jù)庫本身已經(jīng)提供了強大的SQL、函數(shù)支持數(shù)據(jù)加工,直接在SQL語句中進行轉(zhuǎn)換和加工更加簡單清晰,性能更高。
19、數(shù)據(jù)裝載到目的庫中通常是ETL過程的最后步驟,最佳方法取決于所執(zhí)行操作的類型以及需要裝入多少數(shù)據(jù),一般有兩種裝載方式:SQL裝載(SQL語句的insert、update、delete操作)和采用批量裝載方法(bcp、bulk、關(guān)系數(shù)據(jù)庫特有的批量裝載工具或API)。
20、數(shù)據(jù)預(yù)處理的方法:
①數(shù)據(jù)清洗——去掉噪聲和無關(guān)數(shù)據(jù);
②數(shù)據(jù)集成——將多個數(shù)據(jù)源中的數(shù)據(jù)結(jié)合起來存放在一個一致的數(shù)據(jù)存儲中;
③數(shù)據(jù)變換——把原始數(shù)據(jù)轉(zhuǎn)換成為適合數(shù)據(jù)挖掘的形式;
④數(shù)據(jù)規(guī)約——主要方法包括數(shù)據(jù)立方體聚集、維度規(guī)約、數(shù)據(jù)壓縮、數(shù)值規(guī)約、離散化和概念分層等。
21、數(shù)據(jù)處理主要包括四個模塊:分詞(Words Analyze)、排重(Content Deduplicate)、整合(Integrate)、數(shù)據(jù)(Data)。
- 分詞:對抓取到的網(wǎng)頁內(nèi)容進行切詞處理;
- 排重:對眾多的網(wǎng)頁內(nèi)容進行排重;
- 整合:對不同來源的數(shù)據(jù)內(nèi)容進行格式上的整合;
- 數(shù)據(jù):包含兩方面的數(shù)據(jù),Spider Data(爬蟲從網(wǎng)頁中抽取出來的數(shù)據(jù))和Dp Data(整個數(shù)據(jù)處理過程中產(chǎn)生的數(shù)據(jù))。
22、數(shù)據(jù)處理的基本流程:
①對抓取來的網(wǎng)頁內(nèi)容進行分詞;
②將分詞處理結(jié)果寫入數(shù)據(jù)庫;
③對抓取來的網(wǎng)頁內(nèi)容進行重排;
④將排重處理后的數(shù)據(jù)寫入數(shù)據(jù)庫;
⑤根據(jù)之前的處理結(jié)果,對數(shù)據(jù)庫進行整合;
⑥將整合后的結(jié)果寫入數(shù)據(jù)庫。
23、數(shù)據(jù)處理的關(guān)鍵技術(shù)之排重:排除掉與主題相重復(fù)項的過程,網(wǎng)頁排重就是通過對比兩個網(wǎng)頁之間的相似度來排除重復(fù)項。Simhash算法是一種高效的海量文本排重算法,通過避免對文本兩兩進行相似度比較從而提升效率,可以容納更大的數(shù)據(jù)量,提供更快的數(shù)據(jù)處理速度,實現(xiàn)大數(shù)據(jù)的快速處理。
24、Simhash算法的基本思想:輸入一個N維向量V,比如文本的特征向量,每個特征具有一定權(quán)重,輸出是一個C位的二進制簽名S。
①初始化一個C維向量Q為0,C位的二進制簽名S為0;
②對向量V中每一個特征,使用傳統(tǒng)Hash算法計算出一個C位的散列值H。對1≤i≤C,如果H的第i位為1,則Q的第i個元素加上該特征的權(quán)重;否則Q的第i個元素減去該特征的權(quán)重;
③如果Q的第i個元素大于0,則S第i為1,否則為0;
④返回簽名S。
對每篇文檔根據(jù)SimHash算出簽名后,再計算兩個簽名的海明距離(兩個二進制異或后1的個數(shù))。根據(jù)經(jīng)驗值,對64位的SimHash,海明距離在3以內(nèi)可認為相似度較高。
25、數(shù)據(jù)處理的關(guān)鍵技術(shù)之整合:把抓取來的網(wǎng)頁內(nèi)容和各個公司之間建立對應(yīng)關(guān)系。對于每個公司或者經(jīng)過DP處理后的網(wǎng)頁內(nèi)容可以用一組關(guān)鍵詞來進行描述,所以整合即兩組關(guān)鍵詞(公司關(guān)鍵詞和內(nèi)容關(guān)鍵詞)之間的匹配。
26、數(shù)據(jù)集成:將不同應(yīng)用系統(tǒng)、不同數(shù)據(jù)形式在原應(yīng)用系統(tǒng)不做任何改變的條件下,進行數(shù)據(jù)采集、轉(zhuǎn)換和存儲的數(shù)據(jù)整合過程,其目的是運用一定的技術(shù)手段將各個獨立系統(tǒng)中的數(shù)據(jù)按照一定規(guī)則組織成為一個整體,使得其他系統(tǒng)或者用戶能夠有效地對數(shù)據(jù)進行訪問。數(shù)據(jù)集成是現(xiàn)有企業(yè)應(yīng)用集成解決方案中最普遍的一種形式。
27、數(shù)據(jù)集成面臨的問題:
①異構(gòu)性
- 系統(tǒng)異構(gòu):數(shù)據(jù)源所依賴的應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)乃至操作系統(tǒng)之間的不同
- 模式異構(gòu):數(shù)據(jù)源在存儲模式上的不同,一般的存儲模式包括關(guān)系模式、對象模式、對象關(guān)系模式、文檔模式等,關(guān)系模式是主流存儲模式
②完整性
- 異構(gòu)數(shù)據(jù):原數(shù)據(jù)集成的目的是為應(yīng)用提供統(tǒng)一的訪問支持,為了滿足各種應(yīng)用處理數(shù)據(jù)的條件,集成后的數(shù)據(jù)必須保證完整性(包括數(shù)據(jù)完整性、數(shù)據(jù)集成的方法和技術(shù))
- 數(shù)據(jù)集成:通常采用基于中間件的模型和數(shù)據(jù)倉庫等方法來構(gòu)造集成的系統(tǒng)
28、異構(gòu)數(shù)據(jù):指涉及同一類型但在處理方法上存在各種差異的數(shù)據(jù),在內(nèi)容上不僅可以指不同數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)是異構(gòu)的,而且可以指不同結(jié)構(gòu)的數(shù)據(jù)之間的異構(gòu),包括系統(tǒng)異構(gòu)、數(shù)據(jù)模型異構(gòu)、邏輯異構(gòu)。
①系統(tǒng)異構(gòu):硬件平臺、操作系統(tǒng)、并發(fā)控制、訪問方式和通信能力等的不同。
- 計算機體系結(jié)構(gòu)的不同,即數(shù)據(jù)可以分別存在于大型機、小型機、工作站、PC或嵌入式系統(tǒng)中
- 操作系統(tǒng)的不同,即數(shù)據(jù)的操作系統(tǒng)可以是Windows、各種版本的UNIX等
- 開發(fā)語言的不同,比如C、C++、Java等
- 網(wǎng)絡(luò)平臺的不同,比如Ethernet、ATM、TCP/IP
②數(shù)據(jù)模型異構(gòu):指DBMS本身的不同,比如數(shù)據(jù)交換系統(tǒng)可以采用同為關(guān)系數(shù)據(jù)庫系統(tǒng)的Oracle、SQL Server等作為數(shù)據(jù)模型,也可采用不同類型的數(shù)據(jù)庫系統(tǒng)——關(guān)系、層次、網(wǎng)絡(luò)、面向?qū)ο蠡蛘吆瘮?shù)型數(shù)據(jù)庫。
③邏輯異構(gòu):包括命名異構(gòu)、值異構(gòu)、語義異構(gòu)和模式異構(gòu)等。
29、解決異構(gòu)數(shù)據(jù)交換的策略
①使用軟件工具進行轉(zhuǎn)換:一般情況下,數(shù)據(jù)庫管理系統(tǒng)都提供將外部文件中的數(shù)據(jù)轉(zhuǎn)移到本身數(shù)據(jù)庫表中的數(shù)據(jù)裝入工具。這些數(shù)據(jù)轉(zhuǎn)移工具可以以靈活的方式進行數(shù)據(jù)轉(zhuǎn)換,而且由于它們是數(shù)據(jù)庫本身所附帶的工具,執(zhí)行速度快并且不需要ODBC支持,在機器沒有安裝ODBC的情況下也可以方便使用。
缺點是它們不是獨立軟件產(chǎn)品,必須首先運行該數(shù)據(jù)產(chǎn)品的前端程序才能運行相應(yīng)的數(shù)據(jù)轉(zhuǎn)換工具,通常需要幾步才能完成并且多用手工方式進行轉(zhuǎn)換。
②利用中間數(shù)據(jù)庫的轉(zhuǎn)換:在實現(xiàn)兩個具體數(shù)據(jù)庫之間的轉(zhuǎn)換時,依據(jù)關(guān)系定義、字段定義,從源數(shù)據(jù)庫中讀取數(shù)據(jù)通過中間數(shù)據(jù)庫寫入目的數(shù)據(jù)庫。
③設(shè)置傳送變量的轉(zhuǎn)換:借助數(shù)據(jù)庫應(yīng)用開發(fā)程序工具與數(shù)據(jù)庫連接的強大功能,通過設(shè)置源數(shù)據(jù)庫與目的數(shù)據(jù)庫兩個不同的傳送變量,同時連接兩個數(shù)據(jù)庫,實現(xiàn)異構(gòu)數(shù)據(jù)庫之間的直接轉(zhuǎn)換,轉(zhuǎn)換速度和質(zhì)量大大提高。
④通過開發(fā)數(shù)據(jù)庫組件的轉(zhuǎn)換:利用Java等數(shù)據(jù)庫應(yīng)用程序開發(fā)技術(shù),通過源數(shù)據(jù)庫與目的數(shù)據(jù)庫組件來存取數(shù)據(jù)信息,實現(xiàn)異構(gòu)數(shù)據(jù)庫直接的直接轉(zhuǎn)換。必須保證源數(shù)據(jù)庫和目的數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型相同雙方才能進行賦值。
30、結(jié)構(gòu)沖突:指需要交換的源數(shù)據(jù)和目標數(shù)據(jù)之間在數(shù)據(jù)項構(gòu)成的結(jié)構(gòu)上的差異,分為相似結(jié)構(gòu)沖突和異構(gòu)結(jié)構(gòu)沖突。
語義沖突:分為表的語義沖突(具有相同標識符的表語義不同)和屬性語義沖突(屬性的數(shù)據(jù)類型、單位、格式等的沖突),屬性語義沖突又包括數(shù)據(jù)類型沖突、命名沖突、單位沖突、數(shù)據(jù)長度沖突、數(shù)據(jù)精度沖突、數(shù)據(jù)格式?jīng)_突和其他情況。
31、異構(gòu)數(shù)據(jù)交換:實現(xiàn)分布式網(wǎng)絡(luò)環(huán)境下,不同位置、平臺和格式的數(shù)據(jù)以一種統(tǒng)一的交換標準集中展現(xiàn)給用戶,并可進行數(shù)據(jù)資源的抽取和利用。異構(gòu)數(shù)據(jù)庫系統(tǒng)是相關(guān)多個數(shù)據(jù)庫系統(tǒng)的集合,目標在于實現(xiàn)不同數(shù)據(jù)庫之間的資源的合并與共享,消除異構(gòu)數(shù)據(jù)之間的沖突,為應(yīng)用系統(tǒng)提供安全的、統(tǒng)一的、快捷的信息查詢、數(shù)據(jù)挖掘和決策支持服務(wù)。
32、異構(gòu)數(shù)據(jù)交換方式
①異構(gòu)數(shù)據(jù)的發(fā)布:將異構(gòu)數(shù)據(jù)庫中的數(shù)據(jù)根據(jù)根據(jù)用戶設(shè)定的條件及提取出來的目標信息,按照數(shù)據(jù)請求者要求的、可以接受的格式發(fā)送出去;
②異構(gòu)數(shù)據(jù)的集成:根據(jù)用戶設(shè)定的條件及提取出來的目標信息將異構(gòu)數(shù)據(jù)源集成起來并且提供給用戶一個統(tǒng)一的視圖(物理的、邏輯的),屏蔽了數(shù)據(jù)源的異構(gòu)性。異構(gòu)數(shù)據(jù)集成體系主要有三種:聯(lián)邦數(shù)據(jù)庫、Mediator/Wrapper模式、數(shù)據(jù)倉庫;
③交易自動化:各種應(yīng)用只要遵循共同的標準,就可以使得應(yīng)用程序開發(fā)商開發(fā)出具有一定自動處理能力的代理程序,從而提高工作效率。
33、異構(gòu)數(shù)據(jù)交換技術(shù)
①基于XML的異構(gòu)數(shù)據(jù)交換技術(shù):XML(可擴展標記語言)具有自描述性、簡單易于處理、提供了一種靈活的數(shù)據(jù)描述方式,支持數(shù)據(jù)模式、數(shù)據(jù)內(nèi)容、數(shù)據(jù)顯示三者分離的特點,以上特點使得XML可以為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、關(guān)系數(shù)據(jù)庫、對象數(shù)據(jù)庫等多種數(shù)據(jù)源的數(shù)據(jù)內(nèi)容加入標記,適于作為一種統(tǒng)一的數(shù)據(jù)描述工具,扮演異構(gòu)應(yīng)用間數(shù)據(jù)交換載體或者多源異構(gòu)數(shù)據(jù)集成全局模式的角色;
②本體技術(shù):本體是某一領(lǐng)域中的概念及其關(guān)系的顯式描述,是語義網(wǎng)絡(luò)的關(guān)鍵技術(shù),本體技術(shù)能夠明確表示數(shù)據(jù)的語義以及支持基于描述邏輯的自動推理;
③Web Service技術(shù):是在Internet上使用標準的XML語言和信息格式的全新技術(shù)架構(gòu),向外部暴露出一個能夠通過Web進行調(diào)用的API,內(nèi)容主要包括WSDL(Web Service描述語言,用于服務(wù)描述)、UDDI(統(tǒng)一描述、發(fā)現(xiàn)和集成規(guī)范,用戶服務(wù)的發(fā)布和集成)、SOAP(簡單對象訪問協(xié)議,用于消息傳輸),具有跨平臺、完好封裝、松散耦合等特性。
34、基于XML的異構(gòu)數(shù)據(jù)交換的總體過程:首先必須將數(shù)據(jù)模型以統(tǒng)一的XML格式來描述,需要使用XML的DTD或XML Schema定義文檔的結(jié)構(gòu),DTD定義XML文檔的基本結(jié)構(gòu),但不涉及任何有關(guān)的實際數(shù)據(jù),通過定義適當(dāng)?shù)腄TD將源數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成XML文檔,然后使用DOM技術(shù)解析XML文檔,這樣就可以將XML文檔中的數(shù)據(jù)存入目的數(shù)據(jù)庫,從而實現(xiàn)異構(gòu)數(shù)據(jù)的交換。
35、XML文檔結(jié)構(gòu)和數(shù)據(jù)庫模式結(jié)構(gòu)相互映射的方法
- 模板驅(qū)動映射:是一種淺層次的映射,一種基于模板的DTD到關(guān)系模式的轉(zhuǎn)換算法,不用預(yù)定義XML數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)之間的映射關(guān)系,只是在XML文檔中嵌入帶參數(shù)的SQL命令,命令由數(shù)據(jù)轉(zhuǎn)換中間件處理,在轉(zhuǎn)換過程中被識別和執(zhí)行,最后將執(zhí)行結(jié)果替換到命令所在位置從而生成XML文檔。系統(tǒng)為用戶提供模板生成工具以及相應(yīng)的指令執(zhí)行程序。
優(yōu)點——轉(zhuǎn)換步驟簡單,查詢語言靈活性大,支持通過HTTP的傳遞參數(shù),允許嵌套查詢,支持SELECT語句的參數(shù)化,支持編程結(jié)構(gòu)。
缺點——以XML內(nèi)嵌的數(shù)據(jù)轉(zhuǎn)換為XML文檔,舍棄了關(guān)系模式的約束條件,所以不支持反向的轉(zhuǎn)換。
- 模型驅(qū)動映射:是一種深層次的映射,原理是利用XML文檔中的數(shù)據(jù)模型的結(jié)構(gòu)顯性或隱性地映射成其他數(shù)據(jù)模型的結(jié)構(gòu)。數(shù)據(jù)轉(zhuǎn)換的關(guān)鍵是在數(shù)據(jù)庫模式和DTD之間建立映射關(guān)系,用具體的模型實現(xiàn)數(shù)據(jù)間的映射。如果是把對象數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)換為XML文檔,首先將XML文檔映射成同樣具有層次結(jié)構(gòu)的對象樹(DOM),然后將對象樹映射到面向?qū)ο蟮臄?shù)據(jù)庫中或者通過“對象-關(guān)系技術(shù)”將其映射到關(guān)系數(shù)據(jù)庫中。
優(yōu)點——有數(shù)據(jù)模型的支持,相對比較簡單,可以實現(xiàn)XML數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)間的雙向映射。
缺點——XML文檔結(jié)構(gòu)受數(shù)據(jù)模型的限制,不夠靈活,不適用于嵌套層次較深的XML文檔或具有多個對象集合的映射,映射時表的結(jié)構(gòu)與對象結(jié)構(gòu)必須一致。
總結(jié)
以上是生活随笔為你收集整理的读书笔记之大数据采集与预处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql索引示例_MYSQL索引实例
- 下一篇: mysql部门人员排序设计_MySQL数