自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SSIS中的容器和數(shù)據(jù)流—數(shù)據(jù)轉(zhuǎn)換續(xù)

數(shù)據(jù)庫(kù) SQL Server 數(shù)據(jù)庫(kù)運(yùn)維
對(duì)數(shù)據(jù)流來說按照需求將數(shù)據(jù)轉(zhuǎn)換成需要的格式是數(shù)據(jù)操作中的一個(gè)關(guān)鍵的步驟。例如想要得到聚合排序后的運(yùn)算結(jié)果,轉(zhuǎn)換可以實(shí)現(xiàn)這種操作。

上一篇隨筆中列舉了部分Data Flow中的數(shù)據(jù)轉(zhuǎn)換任務(wù),這里繼續(xù)剩余的轉(zhuǎn)換任務(wù)。 

數(shù)據(jù)挖掘請(qǐng)求

數(shù)據(jù)挖掘任務(wù)是SSIS中一個(gè)很重要的任務(wù),它的思想來源于一些算法。數(shù)據(jù)挖掘請(qǐng)求運(yùn)行數(shù)據(jù)挖掘請(qǐng)求,并將結(jié)果輸出到數(shù)據(jù)流。它還可以添加一些預(yù)測(cè)新列,一些應(yīng)用場(chǎng)合如下列舉:

  1. 根據(jù)已知的一些列,例如子女個(gè)數(shù),家庭收入,配偶收入預(yù)測(cè)產(chǎn)生一個(gè)新列:這個(gè)人是否擁有住房
  2. 根據(jù)客戶購(gòu)物卡預(yù)測(cè)客戶的購(gòu)買意向
  3. 可以填充用戶的調(diào)查問卷上沒有填寫的空白欄

涉及到的算法有:

  1. 微軟時(shí)序算法
  2. 微軟決策樹算法
  3. 微軟線性回歸算法
  4. 貝葉斯算法

模糊排序和查找

模糊排序task可以找出數(shù)據(jù)中可能重復(fù)的行,例如可以找出包含“Main St.”和“Main Street”的兩行然后將他們合并成一行。模糊查找任務(wù)可以檢查數(shù)據(jù)輸入并清除臟數(shù)據(jù)。模糊查找任務(wù)通常放在查找任務(wù)之后,查找任務(wù)找到匹配數(shù)據(jù),然后通過模糊查找沒有匹配的數(shù)據(jù)。

查找

查找轉(zhuǎn)換任務(wù)的功能類似于SQL Server 2000中的Data Pump任務(wù)。例如,如果數(shù)據(jù)中有一列ZipCode來自于導(dǎo)入數(shù)據(jù)中的兩列State和City,在映射表中可以使用查找轉(zhuǎn)換。在SQL Server 2000中這種功能很笨拙,必須使用join關(guān)聯(lián)查找這樣會(huì)使運(yùn)行速度減慢。如圖4-25是查找任務(wù)的編輯界面。

 

圖4-25 

合并

合并轉(zhuǎn)換可以將兩個(gè)路徑中的輸入數(shù)據(jù)合并成一個(gè)輸出。這種轉(zhuǎn)換類似于Union All轉(zhuǎn)換,它有一些限制:

  1. 合并之前數(shù)據(jù)必須排序,可以在此之前使用排序轉(zhuǎn)換或者在數(shù)據(jù)源中使用ORDER BY語句
  2. 合并的元數(shù)據(jù)類型必須相同,例如CustomerID不能在一個(gè)路徑中是數(shù)字型的但是在另一個(gè)路徑中是字符類型的
  3. 如果有多于兩個(gè)路徑,需要選擇Union All轉(zhuǎn)換

編輯這種task,確保在兩個(gè)路徑中的數(shù)據(jù)時(shí)一致的,選擇列的時(shí)候會(huì)彈出對(duì)話框提示數(shù)據(jù)合并到路徑1還是路徑2,如果選擇合并到路徑1,然后連接路徑2。這樣選擇之后如圖4-26最終將會(huì)從一個(gè)路徑映射到另一個(gè)路徑,有些路徑的數(shù)據(jù)也可以忽略。

 

圖4-26

連接合并

SSIS的一個(gè)目標(biāo)就是使用任務(wù),盡量保證不寫任何代碼,一個(gè)典型的例子就是連接合并。這種合并可以將兩個(gè)輸入進(jìn)行內(nèi)連接或者外連接然后選擇性地輸出。例如,在一個(gè)數(shù)據(jù)流中存儲(chǔ)著包含EmployeeID的人力資源信息,在另一個(gè)數(shù)據(jù)流中存儲(chǔ)著工資清單信息,可以對(duì)這兩個(gè)路徑進(jìn)行連接,從人力資源信息中取得姓名,從工資清單信息中取得員工工資,然后從一個(gè)路徑中輸出。如圖4-27,可以看到通過連接合并分別缺的員工名字和入職日期。

 

圖4-27

注意:如果兩個(gè)輸入路徑在同一個(gè)數(shù)據(jù)庫(kù),在OLE DB數(shù)據(jù)源中進(jìn)行數(shù)據(jù)連接操作可能效率更高,如果在不同的數(shù)據(jù)庫(kù)中可能效率后受到影響。這種連接合并在兩個(gè)數(shù)據(jù)不是同一個(gè)數(shù)據(jù)庫(kù)中或者不想編寫代碼時(shí)會(huì)很有用。

多點(diǎn)傳送Multicast

如同它的名字一樣多點(diǎn)傳送可以將一個(gè)路徑中的數(shù)據(jù)輸出到多個(gè)路徑,如圖4-28你可能會(huì)使用這種轉(zhuǎn)換將數(shù)據(jù)輸出到多個(gè)路徑中。編輯這種task,將它和輸入源連接,然后將它和多個(gè)Destination連接,除了task的名字之外,它沒有特別的編輯選項(xiàng)。

 

圖4-28

注意:多點(diǎn)傳送類似于Split 轉(zhuǎn)換,不同的是多點(diǎn)傳送把所有的行都輸出,Split將有條件地輸出部分行。

OLE DB命令

OLE DB命令對(duì)數(shù)據(jù)流中的數(shù)據(jù)行執(zhí)行一個(gè)OLE DB命令。它針對(duì)數(shù)據(jù)表中的每一行進(jìn)行更新操作,可以事先將要更新的數(shù)據(jù)存放在表中?;蛘哚槍?duì)一個(gè)有輸入?yún)?shù)的存儲(chǔ)過程,可以將這些參數(shù)存放在一個(gè)數(shù)據(jù)表中,不用每次都輸入?yún)?shù)。

百分比抽樣和行抽樣Percentage and Row Sampling

百分比抽樣和行抽樣可以從數(shù)據(jù)源中隨機(jī)選擇一組數(shù)據(jù)。這兩種task都可以產(chǎn)生兩組輸出,一組是隨機(jī)選擇的,另一組是沒有被選擇的??梢詫⑦@些選擇出的數(shù)據(jù)發(fā)送到開發(fā)或者測(cè)試服務(wù)器上。這個(gè)Task的最合適的應(yīng)用是建立數(shù)據(jù)挖掘模型然后,使用這些抽樣數(shù)據(jù)來驗(yàn)證這個(gè)模型。

編輯這種task,選擇要抽取的行數(shù)或者 百分比,如圖4-29。百分比抽樣按百分比從數(shù)據(jù)源中隨機(jī)選擇數(shù)據(jù),行抽樣從數(shù)據(jù)源中隨機(jī)選擇具體的行數(shù)??梢詫?duì)選中的數(shù)據(jù)和未被選擇的數(shù)據(jù)命名。***一個(gè)選擇項(xiàng)是隨機(jī)取樣的參數(shù)。如果選擇一個(gè)固定的參數(shù),每次輸出的結(jié)果是一樣的,如果保持默認(rèn)設(shè)置,就是不選擇,每次將輸出不同的數(shù)據(jù)。

 

圖4-29

透視和逆透視

這個(gè)和T-SQL中的PIVOT和UNPIVOT的作用是一樣的。數(shù)據(jù)透視轉(zhuǎn)換可以將數(shù)據(jù)規(guī)范或使它在報(bào)表中更具可讀性。數(shù)據(jù)的輸出類似于OLAP中的數(shù)據(jù)輸出和報(bào)表服務(wù)中的數(shù)據(jù)輸出。下面的 表展示銷售員工和每天的銷售量。

 

轉(zhuǎn)換后的數(shù)據(jù)如圖

 

逆透視數(shù)據(jù)的功能和這個(gè)剛好相反。

數(shù)據(jù)行數(shù)

數(shù)據(jù)行數(shù)轉(zhuǎn)換只是簡(jiǎn)單地計(jì)算數(shù)據(jù)流中的數(shù)據(jù)行數(shù)然后輸出到一個(gè)變量中。常用的是將行數(shù)寫到郵件中,然后將郵件發(fā)送給使用者報(bào)告轉(zhuǎn)換了多少行數(shù)據(jù)?;蛘吒鶕?jù)這個(gè)數(shù)據(jù)行數(shù)進(jìn)行判斷,進(jìn)而進(jìn)行相應(yīng)的操作。

代碼組件

代碼組件允許編寫代碼充當(dāng)轉(zhuǎn)換transforms,數(shù)據(jù)源source,目的destination。使用代碼組件可以完成下面的任務(wù):

  1. 使用.net類庫(kù)集驗(yàn)證保險(xiǎn)卡號(hào)和郵件地址 
  2. 驗(yàn)證數(shù)據(jù)并忽略掉不合理的數(shù)據(jù)。例如,在人力資源招聘系統(tǒng)中刪除那些不符合薪水要求的應(yīng)聘者 
  3. 編寫組件和第三方客戶整合 

代碼組件可以作為多種輸出的數(shù)據(jù)源,可以選擇在運(yùn)行時(shí)更加高效地編譯。

代碼組件允許編寫代碼充當(dāng)轉(zhuǎn)換transforms,數(shù)據(jù)源source,目的destination。使用代碼組件可以完成下面的任務(wù):

  1. 使用.net類庫(kù)集中的Regex類驗(yàn)證保險(xiǎn)卡號(hào)和郵件地址
  2. 驗(yàn)證數(shù)據(jù)并忽略掉不合理的數(shù)據(jù)。例如,在人力資源招聘系統(tǒng)中刪除那些不符合薪水要求的應(yīng)聘者
  3. 編寫組件和第三方客戶整合

代碼組件可以作為多種輸出的數(shù)據(jù)源,可以選擇在運(yùn)行時(shí)更加高效地編譯。

漸變維度(Slow Change Dimesion)

Dimension修改可以更新或者修改數(shù)據(jù)倉(cāng)庫(kù)中的一個(gè)Dimension。使用修改向?qū)В梢援a(chǎn)生所有的更新和新建dimension任務(wù)。曾經(jīng)這樣的任務(wù)對(duì)于DTS開發(fā)人員來說是很繁瑣的,現(xiàn)在只需要幾分鐘就可以完成。

排序

排序轉(zhuǎn)換允許對(duì)數(shù)據(jù)流中的數(shù)據(jù)按照某一列進(jìn)行排序。這是五個(gè)常用的轉(zhuǎn)換之一。連接數(shù)據(jù)源打開編輯界面,編輯這種任務(wù)。不想設(shè)置為排序列的字段不要選中,默認(rèn)情況下所有列都會(huì)選中。如圖4-30,按照ProductID排序,并將所有列輸出。

 

圖4-30

在底部的表格中,可以設(shè)置輸出列的別名,是否按照列來排序。Sort Order列顯示列將會(huì)***排序,第二排序還是第三排序。雙擊列去除重復(fù)的排序列。

關(guān)鍵詞抽取和查找Term Extraction and Lookup

關(guān)鍵詞抽取和查找從數(shù)據(jù)集中抽取關(guān)鍵詞。例如,可以使用這種task從一系列文章中抽取關(guān)鍵詞。另一個(gè)功能是分析公司內(nèi)部電子郵件內(nèi)容。這種任務(wù)目前只支持英文關(guān)鍵詞抽取。

在關(guān)鍵詞抽取中可以指定是抽取名詞還是名詞詞組。例如“bicycle”會(huì)被抽取但是“the bicycle”將不會(huì)被抽取。這種任務(wù)有兩種輸出,關(guān)鍵詞和抽取的結(jié)果。關(guān)鍵詞是要匹配的關(guān)鍵詞,抽取結(jié)果是成功匹配的次數(shù)。

關(guān)鍵詞抽取可以輸出預(yù)先匹配的行。例如,將一個(gè)郵件系統(tǒng)中的信息記錄到數(shù)據(jù)庫(kù)中,可以和郵件系統(tǒng)組合,自動(dòng)記錄有瑕疵的產(chǎn)品。將結(jié)果通過一個(gè)連接管理器指向一個(gè)表。
  
聯(lián)合所有Union All

聯(lián)合所有task的功能和合并正好相反,它將多個(gè)數(shù)據(jù)源中的合并成一個(gè)結(jié)果集。例如,如圖4-31,將兩個(gè)XML數(shù)據(jù)源中的數(shù)據(jù)合并成一個(gè)輸出然后將數(shù)據(jù)送入到關(guān)鍵詞抽取任務(wù)中。

 

圖4-31

編輯這種轉(zhuǎn)換,首先將***個(gè)數(shù)據(jù)源連接到task然后將其他數(shù)據(jù)源連接到這個(gè)task。打開編輯界面,保證列被正確映射,DDIS將會(huì)自動(dòng)適應(yīng)是否正確映射。例如,一個(gè)輸入字符是20個(gè)字符,另一個(gè)是50,出書將會(huì)是一個(gè)多于50個(gè)字符的列。

下一篇隨筆中,將用一個(gè)例子來具體說明怎么使用轉(zhuǎn)換任務(wù)。

原文鏈接:http://www.cnblogs.com/tylerdonet/archive/2011/04/12/2013959.html

【編輯推薦】

  1. SSIS中的容器和數(shù)據(jù)流—數(shù)據(jù)轉(zhuǎn)換
  2. MySQL數(shù)據(jù)庫(kù)的優(yōu)化(上)單機(jī)MySQL數(shù)據(jù)庫(kù)的優(yōu)化
  3. MySQL數(shù)據(jù)庫(kù)的優(yōu)化(下)MySQL數(shù)據(jù)庫(kù)的高可用架構(gòu)方案
  4. 利用keepalived構(gòu)建高可用MySQL-HA
  5. 給數(shù)據(jù)減肥 讓MySQL數(shù)據(jù)庫(kù)跑的更快

 

責(zé)任編輯:艾婧 來源: 博客園
相關(guān)推薦

2011-04-14 14:43:38

SSISTransformat

2011-08-19 16:07:33

SQL Server數(shù)據(jù)流

2011-12-14 15:57:13

javanio

2009-07-15 09:06:11

Linux圖形系統(tǒng)X11的CS架構(gòu)

2023-11-13 11:01:25

數(shù)據(jù)技術(shù)

2016-11-14 19:01:36

數(shù)據(jù)流聊天系統(tǒng)web

2020-02-06 19:12:36

Java函數(shù)式編程編程語言

2021-06-29 19:24:42

數(shù)據(jù)流數(shù)據(jù)排序

2009-08-19 10:41:12

Java輸入數(shù)據(jù)流

2022-03-18 08:57:17

前端數(shù)據(jù)流選型

2017-11-16 19:26:34

海量數(shù)據(jù)算法計(jì)算機(jī)

2021-10-27 10:43:36

數(shù)據(jù)流中位數(shù)偶數(shù)

2019-01-14 15:21:53

openstack v隔離數(shù)據(jù)

2024-04-18 09:02:11

數(shù)據(jù)流Mixtral混合模型

2020-03-14 12:24:06

數(shù)據(jù)映射數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)集成

2012-07-30 08:31:08

Storm數(shù)據(jù)流

2019-12-19 14:38:08

Flink SQL數(shù)據(jù)流Join

2013-10-21 10:58:50

微軟大數(shù)據(jù)SQL Server

2013-03-27 13:34:49

數(shù)據(jù)清洗

2014-02-11 08:51:15

亞馬遜PaaSAppStream
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)