版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
kettle8.1轉(zhuǎn)換-轉(zhuǎn)換組件介紹1.值映射組件(ValueMapper)流中某個字段的值根據(jù)映射關(guān)系映射成新的字段值或替換原有字段的值。 表1值映射組件屬性說明屬性項屬性說明使用的字段名流中的字段,作為源字段目標字段名若不添加字段名則在原有字段上修改,若添加字段名則將映射的值添加到新字段名中,保留原有字段??毡硎緸橹貙?。不匹配時的默認值根據(jù)映射關(guān)系若沒有匹配上則賦默認值。字段值映射設(shè)置源字段與目標字段之間的映射關(guān)系設(shè)置列表。源值源字段值。目標值對應(yīng)源字段值,要映射成的目標值。2.列拆分為多行組件(SplitFieldToRows)從流中一條記錄中選擇某個字段,根據(jù)指定標識符將一個字段的值拆分為多個值,并將每個被拆分的值作為一個新的字段與原記錄合并產(chǎn)生多條新的記錄。進行拆分的源字段必須是字符串字段。表2列拆分為多行組件屬性說明屬性項屬性說明要拆分的字段流中的某個字段。分隔符默認值“;”。分隔符是一個正則表達正則表達式作為分隔符。新字段名拆分后的字段名稱。附加字段在新生成的記錄中加入行號字段信息。輸出中包括行號設(shè)置輸出流中輸出的記錄行號,同時需要設(shè)置新行號字段名稱,用來記錄行號。對接收到的每一行重置行號將組件接收到的每一行都重置行號,值賦給新行號字段名稱。3.列轉(zhuǎn)行(DeNormaliser)此組件可以完成合并記錄的功能,把多條記錄合并成一條記錄,改變數(shù)據(jù)表的結(jié)構(gòu),將某些在源表中不同記錄的同一個字段的值(這些值不相同),將它們變成目的表中不同的字段?!咀⑨尅浚毫修D(zhuǎn)行組件中,記錄要首先用指定關(guān)鍵字排序。表3列轉(zhuǎn)行組件屬性說明屬性項屬性說明關(guān)鍵字段根據(jù)此字段不同的值,設(shè)置輸出流的新字段,輸出流的各個新字段通過目標字段列表來設(shè)置。分組字段設(shè)置用于合并成一條記錄的分組字段。分組字段通常用輸入流中已經(jīng)過排序的主鍵作為分組字段?!精@取字段】點擊【獲取字段】按鈕,可以獲取輸入流中的全部字段,進一步在字段列表中選擇分組字段。目標字段設(shè)置設(shè)置新記錄的目標字段:源記錄同一字段根據(jù)不同關(guān)鍵字段值,形成多個字段值的目標字段設(shè)置。目標字段通過多個記錄的“關(guān)鍵字段”的不同取值,指定新的字段名稱,如果存在主鍵值沖突(在指定的組中,關(guān)鍵字不是唯一的),可以指定聚合策略。對接收到的每一行重置行號將組件接收到的每一行都重置行號,值賦給新行號字段名稱。數(shù)據(jù)字段指定源輸入流中的某個字段,根據(jù)關(guān)鍵字段的不同取值,此字段的值將會被作為不同的新字段的值。關(guān)鍵字值指定關(guān)鍵字不同的值的標準。類型新字段對應(yīng)的類型。格式按照格式輸出數(shù)據(jù),格式的優(yōu)先級高于長度和精度,如果設(shè)置格式,則長度和精度的設(shè)置無效。長度設(shè)置數(shù)值類型的數(shù)據(jù)長度。精度設(shè)置帶小數(shù)位的數(shù)值類型的數(shù)據(jù)精度,在長度大于0時才能生效。貨幣符號設(shè)置貨幣符號。千位分隔符設(shè)置千位分隔符。置空條件當(dāng)某關(guān)鍵字段對應(yīng)的新字段值為此值時,將其設(shè)置為空。聚合當(dāng)分組字段存在主鍵沖突時,(在指定的組中,關(guān)鍵字不是唯一的),可以指定聚合策略?!精@取查詢字段】點擊【獲取查詢字段】按鈕,可以在字段名和類型兩列,獲取到輸入流中獲取到全部字段名及類型,再進一步設(shè)置字段名和類型。4.裁剪字符串(StringCut)從流中獲取某個字段,根據(jù)該字段的值下標裁剪字符串。表4裁剪字符串組件屬性說明屬性項屬性說明要裁剪的字段對字段值進行剪切操作并輸出至新字段中(字符串類型)。輸入流字段流中字段。輸出流字段剪切之后的字段名。剪切開始位置字符串下標開始位置(下標最小可以從0開始)。剪切結(jié)束位置字符串下標結(jié)束位置。5.去除重復(fù)記錄(UniqueRows)刪除輸入流中的重復(fù)記錄,需要先排序才能正確的執(zhí)行。如果有多條重復(fù)記錄,則此組件會保留第一條記錄。表5去除重復(fù)記錄組件屬性說明屬性項屬性說明設(shè)置輸出中增加計數(shù)器是否在輸出流中增加計數(shù)器。包含計數(shù)器的字段名計數(shù)器字段名稱。重定向重復(fù)記錄將重復(fù)行處理為錯誤,并將行重定向到步驟的錯誤流。需要為此步驟設(shè)置錯誤處理。錯誤描述設(shè)置在檢測到重復(fù)行時顯示的錯誤處理描述。僅在選中“重定向重復(fù)行”時可用。在錯誤處理流程中設(shè)置“錯誤描述列名”,用于描述重定向的記錄。用來比較的字段用來作為記錄是否重復(fù)的比較字段設(shè)置。名稱指定要強制去除重復(fù)記錄的字段名稱。大小寫敏感比較重復(fù)記錄時,當(dāng)前字段是否大小寫敏感。【獲取】點擊【獲取】按鈕,獲取輸入流中所有字段。重定向重復(fù)記錄以及錯誤描述配置如下(右鍵單擊紅叉即可進入配置對話框):注釋:選項描述錯誤處理組件名出現(xiàn)錯誤的組件名稱,也就是錯誤處理的源組件。目標組件處理錯誤的組件名稱,也就是錯誤處理的目標組件。啟用錯誤處理是否啟用錯誤處理機制。錯誤數(shù)字段名在后面組件的輸入流中增加一個字段,此字段保存出錯的數(shù)量,值默認為1。錯誤描述字段名在后面組件的輸入流中增加一個字段,此字段保存錯誤描述。錯誤字段的字段名在后面組件的輸入流中增加一個字段,此字段保存出錯字段的名稱,比較字段若為多個,自動用逗號隔開。錯誤編碼字段名在后面組件的輸入流中增加一個字段,此字段保存錯誤編碼。去除重復(fù)記錄組件的值默認為UNR001,意為UniqueRows001;唯一行(哈希值)組件的值默認為UNRH001,意為UniqueRowsByHashSet001。允許最大錯誤數(shù)設(shè)定一個允許的最大錯誤記錄數(shù),如果錯誤的記錄數(shù)超過此數(shù),則流程報錯,流程停止,而不會繼續(xù)進行流程處理。允許最大錯誤百分比設(shè)定一個允許的最大錯誤百分比,如果錯誤的記錄數(shù)的百分比超過此數(shù),則流程報錯,流程停止,而不會繼續(xù)進行流程處理。在計算百分比前最少讀入的行數(shù)設(shè)定一個最少讀入行數(shù),記錄數(shù)超過次數(shù)后,才開始進行錯誤百分比的統(tǒng)計。結(jié)果如下:6.合并字段(ConcatFields)合并字段組件用于將多個字段連接到一個目標字段。這些字段可以通過分隔符分隔,并且封閉符邏輯與“文本文件輸出”步驟完全兼容。表6合并字段組件屬性說明屬性項屬性說明選項目標字段名稱目標字段的名稱(字符串類型)。目標字段的長度字符串類型的長度(設(shè)置String類型的元數(shù)據(jù),快速數(shù)據(jù)轉(zhuǎn)儲選項也使用它來進行性能優(yōu)化)。分隔符指定在單行文本中分隔字段的字符。通常這是;
或標簽。封閉符一對字符串可以包含一些字段。這允許字段中的分隔符。封閉符字符串是可選的。字段選項卡名稱該字段的名稱。類型字段的類型可以是String,Date或Number。格式要轉(zhuǎn)換的格式掩碼。有關(guān)格式符號的完整說明,請參見數(shù)字格式。長度長度選項取決于字段類型如下:數(shù)字-數(shù)字中有效數(shù)字的總數(shù)String-字符串的總長度日期-字符串打印輸出的長度(例如4只返回年份)精度precision選項取決于字段類型,如下所示:Number-浮點數(shù)字符串-未使用日期-未使用貨幣用于表示$10,000.00或E5.000,00等貨幣的符號小數(shù)小數(shù)點組分組符號修剪類型應(yīng)用于字符串的修剪方法。修剪僅在沒有給定字段長度時有效??罩等绻撟侄蔚闹禐閚ull,則將此字符串替換獲取字段單擊以從輸入字段流中檢索字段列表最小寬度更改字段選項卡中的選項,使文本文件中生成的行寬度最小。因此,不是保存0000001,而是寫1,等等。字符串字段將不再填充到指定的長度。高級選項卡刪除所選字段選中此選項可從輸出流中刪除所有選定的字段。強制在字段周圍加封閉符?此選項強制所有字段名稱都包含在上面封閉符屬性中指定的字符。禁用封閉符修復(fù)?這是出于向后兼容性原因(自版本4.1起)與封閉符和分隔符相關(guān)。從版本4.1開始的邏輯是:當(dāng)字符串字段包含一個封閉符時,它會被封閉,并且封閉本身會被轉(zhuǎn)義。當(dāng)字符串字段包含分隔符時,它將被封閉。如果不需要此邏輯,請選中此選項。由于掃描字符串的封閉符和分隔符,因此還會產(chǎn)生額外的性能負擔(dān)。因此,當(dāng)您確定不需要這樣的邏輯,因為您的字符串中沒有這些字符并且您想要提高性能時,請取消選中此選項。頭部如果需要標題行,請啟用此選項。(流中的第一行)。注意:生成此行時,所有其他輸出流字段都設(shè)置為Null。尾部如果需要頁腳行,請啟用此選項。(流中的最后一行)。注意:生成此行時,所有其他輸出流字段都設(shè)置為Null。編碼指定要使用的字符串編碼。留空以使用系統(tǒng)上的默認編碼。要使用Unicode,請指定UTF-8或UTF-16。首次使用時,Spoon將在您的系統(tǒng)中搜索可用的編碼。注意:當(dāng)您使用唯一編碼將不同的編碼字段連接到目標字段時,尤其需要這樣做。由于延遲轉(zhuǎn)換,這也適用于二進制存儲的字符串字段。字段右填充在字段末尾添加空格(或刪除末尾的字符),直到它們具有指定的長度??焖贁?shù)據(jù)轉(zhuǎn)儲(無格式化)通過不包括任何格式信息來連接大量數(shù)據(jù)時提高性能。請考慮將“目標字段長度”選項設(shè)置為目標字段長度的近似最大值。這樣可以提高性能,因為內(nèi)部緩沖區(qū)將被分配,并且在不足時不需要重新分配。
注意:當(dāng)“目標字段長度”選項為“0”時,內(nèi)部緩沖區(qū)大小計算為連接字段數(shù)的50倍,例如,默認情況下,5個字段使用250的內(nèi)部緩沖區(qū)。分拆每...行如果此數(shù)字N大于零,則將得到的流分成N行的多個部分。注意:僅當(dāng)使用頁眉/頁腳與文本文件輸出步驟的結(jié)果兼容時才需要此選項。添加文件的結(jié)尾行允許您為輸出流指定備用結(jié)束行。注意:生成此行時,所有其他輸出流字段都設(shè)置為Null。7.唯一行(哈希值)(UniqueRowsByHashSet)使用HashSet去除輸入流中的重復(fù)記錄,可以指定重復(fù)的字段。如果有多條重復(fù)記錄,則此組件會保留第一條記錄。重復(fù)記錄重定向的配置與去除重復(fù)記錄組件一致,可參考5.去除重復(fù)記錄。表7重復(fù)記錄去除組件(哈希)屬性說明屬性項屬性說明設(shè)置使用存儲的行值進行比較這個選項選中的話,是把所有行的哈希值都存到內(nèi)存,然后新來一條數(shù)據(jù)計算哈希,然后判斷是否重復(fù)。例:"Aa"和"BB"哈希值相等,內(nèi)容卻不同。重定向重復(fù)記錄將重復(fù)行處理為錯誤,并將行重定向到步驟的錯誤流。需要為此步驟設(shè)置錯誤處理。錯誤描述設(shè)置在檢測到重復(fù)行時顯示的錯誤處理描述。僅在選中“重定向重復(fù)行”時可用。在錯誤處理流程中設(shè)置“錯誤描述列名”,用于描述重定向的記錄。用來比較的字段用來作為記錄是否重復(fù)的比較字段設(shè)置。字段名稱指定要強制去除重復(fù)記錄的字段名稱?!精@取】點擊【獲取】按鈕,獲取輸入流中所有字段。8.增加常量(Constant)向流中增加一個常量。表8增加常量組件屬性說明屬性項屬性說明字段(表格說明)對增加的常量字段進行字段名及字段值具體設(shè)置的列表。名稱字段的名稱。類型字段的類型。格式按照格式輸出數(shù)據(jù),格式的優(yōu)先級高于長度和精度,如果設(shè)置格式,則長度和精度的設(shè)置無效。長度設(shè)置數(shù)值類型的數(shù)據(jù)長度。精度設(shè)置帶小數(shù)位的數(shù)值類型的數(shù)據(jù)精度,在長度大于0時才能生效。貨幣符號設(shè)置貨幣符號。小數(shù)點符號設(shè)置小數(shù)點符號。千位分隔符設(shè)置千位分隔符。值增加的常量字段值。設(shè)為空串設(shè)置此字段為空字符串。9.增加序列(AddSequence)向流中增加一個序列。序列是一個不斷變化的的一個特定的起始和增量值的整數(shù)值。用戶可以使用一個數(shù)據(jù)庫(如Oracle)序列確定序列值,或者由轉(zhuǎn)換計數(shù)器生成。表9增加序列組件屬性說明屬性項屬性說明值的名稱添加到流中的新序列的值的名稱。使用數(shù)據(jù)庫來生成序列使用DB獲取sequence是否用數(shù)據(jù)庫序列驅(qū)動(如:使用oracle數(shù)據(jù)庫的序列來生成序列)。數(shù)據(jù)庫連接設(shè)置序列來自哪個數(shù)庫連接。模式名稱數(shù)據(jù)庫模式名。sequence名稱數(shù)據(jù)庫序列名稱。使用轉(zhuǎn)換計數(shù)器來生成序列 序列由計數(shù)器自動生成。 使用計數(shù)器來計算序列是否使用計數(shù)器自動生成序列。計數(shù)器名稱(可選)序列名稱。初始值序列初始值。遞增值序列遞增值。最大值序列最大值(超過最大值后,序列會重新從初始值開始計數(shù))。10.增加校驗和(CheckSum)此步驟計算輸入流中一個或多個字段的校驗和,并將其作為新字段添加到輸出中。表10增加校驗和組件屬性說明屬性項屬性說明類型需要計算的校驗和類型。結(jié)果類型
某些校驗和類型允許設(shè)置不同的結(jié)果類型:String,Hexadecimal和Binary結(jié)果字段
包含校驗和的結(jié)果字段的名稱。OldChecksumBehaviourMode是否將所有字段都當(dāng)作字符串來計算處理校驗和。校驗和中使用的字段要包含在校驗和計算中的字段的名稱。
注意:您可以使用“獲取字段”按鈕插入先前步驟中的所有輸入字段。11.字段選擇(SelectValues)這個組件用來選擇、重命名、更改數(shù)據(jù)類型和配置精度。分成三種操作:選擇并修改:指定字段在輸出記錄中被放置的確切的順序和名稱。移除:指定要從輸出記錄中移除的字段。元數(shù)據(jù):更改一個或多個字段的名稱、類型、長度和精度(元數(shù)據(jù))表11字段選擇組件屬性說明屬性項屬性說明字段名稱源字段名稱。改名成源字段要重新命名成的字段名稱。長度字段長度設(shè)置。精度字段精度設(shè)置。【獲取選擇的字段】獲取所有輸入流來的字段,顯示在名稱列?!揪庉嬘成洹看蜷_映射對話框,在源字段和目標字段之間定義多重映射。包含按名稱排序未指定的字段隱式的選擇其他包含在輸入流中但沒被選中的字段。移除要移除哪些字段的設(shè)置選項卡。名稱要移除的字段名稱。【獲取移除的字段】點擊【獲取移除的字段】按鈕,獲取所有源字段名稱列表,顯示在名稱列。元數(shù)據(jù)(表格說明)對新元數(shù)據(jù)進行設(shè)置的選項卡。字段名稱源字段名稱。改名成源字段要重新命名成的字段名稱。類型字段類型。長度設(shè)置數(shù)值類型的數(shù)據(jù)長度。精度設(shè)置帶小數(shù)位的數(shù)值類型的數(shù)據(jù)精度,在長度大于0時才能生效。轉(zhuǎn)換二進制從二進制類型轉(zhuǎn)換為正常類型時,需要將此選項設(shè)置為“是”。格式按照格式輸出數(shù)據(jù),格式的優(yōu)先級高于長度和精度,如果設(shè)置格式,則長度和精度的設(shè)置無效。日期格式寬松日期格式寬松。DateFormatlenient日期區(qū)域設(shè)置日期區(qū)域設(shè)置。時區(qū)時區(qū)。數(shù)字轉(zhuǎn)換寬松數(shù)字轉(zhuǎn)換寬松。字符編碼字段編碼方式。小數(shù)點小數(shù)點符號。分組分組符號。貨幣貨幣類型。(1)關(guān)于“DateFormatlenient”的說明:【注釋】:日期格式的月設(shè)置為15時,自動計算為3月。(2)類型為Number時,對應(yīng)默認各種可選格式的說明:Number下的格式各種格式說明#,##0.###12345.67(12,345.67)0.0012345.678(12345.68)000000000000012345.67(0000000012346)#.#12345.678(12345.7)#12345.67(12346)###,###,###.#12345.555(12,345.6)#######.###12345.555(12345.555)#####.###%12345.555(1234555.5%)自定義格式自定義格式效果##,###.###%12345.555(1,234,555.5%)【注釋】:當(dāng)格式中包含分組符號時,才可以通過設(shè)置“分組符號”替換格式中的分組符號。12.字符串操作(StringOperations)將操作(例如修剪,填充等)應(yīng)用于字符串值。表12字符串操作組件屬性說明屬性項屬性說明需要操作的字段指定要轉(zhuǎn)換的字段。輸出字段指定要創(chuàng)建的字段的名稱。Trim類型指定修剪類型:無,左,右或兩者。大小寫指定大小寫。填充類型指定左或右填充或無。填充字符指定填充字符。填充長度設(shè)置填充字符的長度。會循環(huán)添加‘填充字符’,直至符合‘填充長度’INITCAP單詞首字母大寫。優(yōu)先級大于‘大小寫’。如:iamfine!IAmFine!編解碼方式定義為EscapeXML或UnescapeXML,UnescapeHTML及EscapeHTML,useCDATA及EscapeSQL。其中對XML及HTML的操作是進行轉(zhuǎn)義及反轉(zhuǎn)義;EscapeSQL能夠有效的防止sql注入;useCDATA會把xml當(dāng)成文本存儲。防止xss攻擊/sql注入等問題。數(shù)字操作提供了only和remove。如果選擇remove,會刪除字符串中的數(shù)字;如果選擇only,只保留字符串中的數(shù)字。刪除特殊字符指定要刪除的特殊字符(空格/回車等)。注:1.目的轉(zhuǎn)換字段必須存在; 2.padding的字符串會覆蓋trim操作(即trim不生效)3.表輸出—》表輸入,目的字段在原表中不存在。13.字符串替換(ReplaceString)字符串替換是一個簡單的搜索和替換。它也支持正則表達式。表13字符串替換組件屬性說明屬性項屬性說明輸入流字段源字段名稱。輸出字段指定要創(chuàng)建的字段的名稱。使用正則表達式替換規(guī)則:是否使用正則表達式。搜索替換規(guī)則:可以設(shè)置為正則表達式或字符串。替換值用來替換源字段值的新值。設(shè)置為空串字符串替換為空。優(yōu)先級高于‘替換值’和‘字段替換’字段替換使用哪個字段來替換源字段,優(yōu)先級高于‘替換值’。整個單詞匹配替換規(guī)則:是否匹配完整源字段大小寫敏感替換規(guī)則:搜索源字段內(nèi)容時,大小寫是否敏感。ISUNICODE能夠使用預(yù)定義的字符類和POSIX字符類,兼容Unicode正則表達式?!咀⑨尅浚捍私M件只能獲取到類型為String的字段。14.將字段值設(shè)置為常量(SetValueConstant)設(shè)置字段的值為常量。屬性項屬性說明在常量中使用變量是否在常量中包含變量的值。字段(表格說明)要設(shè)置常量的字段和對應(yīng)值的設(shè)置列表。字段設(shè)置值的字段。替換的值設(shè)置的值,可以包含變量名,如“數(shù)量${number}”。格式(轉(zhuǎn)換掩碼)對于日期類型時,字符串的值轉(zhuǎn)換為日期類型時的格式字符串。設(shè)為空串設(shè)置此字段值為空。表14設(shè)置常量組件屬性說明15.拆分字段(FieldSplitter)使用分隔符拆分字段。表15列拆分為多列組件屬性說明屬性項屬性說明需要拆分的字段需要拆分的字段的名稱。分隔符要拆分的字段所使用的分隔符,默認”,”。封閉符拆分之后的值如果不包含該enclosure,則該字段無效,即不做任何處理。如果包含該enclosure,且為基數(shù),則設(shè)置為null,如果為偶數(shù),則保留原值。字段列表(表格說明)新字段名稱按分隔符拆分后的新字段名。ID設(shè)置字段的唯一標識。(該標識應(yīng)設(shè)置為以拆分后字段值的第一個數(shù)字或字符開始的1個或多個數(shù)字或字符);字段值拆分后是否是以該ID為起始值的,如果是,則保留保留源字段值,如果不是,則設(shè)為null;移除ID是否在輸出時移除字段的ID??蛇x項:Y和N。(選擇Y時,輸出的拆分后的字段值會去除ID使用的1個或多個數(shù)字或字符);前提是以ID開始,“移除ID”才生效。若為Y,則會截取ID以后的值作為該字段真實值。類型新字段類型。長度設(shè)置數(shù)值類型的數(shù)據(jù)長度。精度設(shè)置帶小數(shù)位的數(shù)值類型的數(shù)據(jù)精度,在長度大于0時才能生效。格式按照格式輸出數(shù)據(jù),格式的優(yōu)先級高于長度和精度,如果設(shè)置格式,則長度和精度的設(shè)置無效。分組符號分組符號。小數(shù)點符號設(shè)置小數(shù)點符號。貨幣符號設(shè)置貨幣符號。置空條件如果字段的值等于置空條件中設(shè)置的值,則將此值設(shè)置為空,不區(qū)分大小寫。缺省值當(dāng)前字段超過分隔符分隔的字段個數(shù)時,當(dāng)前新字段的缺省值,比如分隔符可以分隔出三個字段,而字段列表中設(shè)置了四個新字段,那么第四個新字段的值由缺省給出,否則為空。去除空格方式針對新字段設(shè)置去除空格類型,可選項:“不去掉空格”、“去掉左空格”、“去掉右空格”和“去掉左右兩端空格”。16.排序記錄(SortRows)根據(jù)指定關(guān)鍵字排序記錄。【注釋】:排序記錄時需要使用臨時文件。表16記錄排序組件屬性說明屬性項屬性說明排序目錄臨時文件儲存的目錄,缺省目錄是系統(tǒng)存放臨時文件的目錄。排序緩存大小內(nèi)存中存儲的記錄越多,排序速度越快。當(dāng)記錄數(shù)超出排序緩存大小,將會將記錄寫入臨時文件,每個文件的記錄個數(shù)與排序緩存大小相同,所以如果排序緩存過小,在排序時可能會同時打開多個臨時文件??臻e內(nèi)存閾值設(shè)置可用空閑內(nèi)存大小。當(dāng)排序算法發(fā)現(xiàn)可用的空閑內(nèi)存少于設(shè)定值,將把數(shù)據(jù)寫到磁盤上。該值僅為粗略參考值,其優(yōu)先級高于‘排序緩存大小’。壓縮臨時文件為完成排序,在排序時是否壓縮使用到的臨時文件。僅傳遞非重復(fù)記錄只把唯一的記錄傳遞到輸出流中。僅校驗關(guān)鍵字段【獲取字段】點擊【獲取字段】按鈕,獲取流中的所有字段,并顯示在字段列表。名稱要排序的字段名稱。升序排序原則:升序或降序。如果選擇升序,排序順序?qū)⑹牵簲?shù)字>英文>漢字,漢字是按照拼音排序的,也同樣會按照聲調(diào)排序。如果是多音字,只會取一個讀音,無法根據(jù)語境判斷其的讀音。區(qū)分大小寫排序時,字段值是否大小寫敏感。Sortbasedoncurrentlocale基于當(dāng)前區(qū)的排序。應(yīng)為是否使用‘collatorstrength’(未使用)collatorstrength排序器強度(未使用)Presorted預(yù)排序。設(shè)計思路:除讀取的第一條記錄不排序外,其余每兩條記錄排序并輸出。整個過程中使用內(nèi)存排序(buffer中一直存有兩條記錄)。排序算法流程圖: 17.數(shù)值范圍(NumberRange)指定一個數(shù)值字段的范圍。表17數(shù)值范圍組件屬性說明屬性項屬性說明輸入字段輸入流中的源字段名。輸出字段數(shù)值范圍定界后的新字段名。缺省值如果沒有匹配到范圍,賦缺省值。范圍(表格說明)最小值數(shù)值下界設(shè)置。最大值數(shù)值上界設(shè)置。字段值對于滿足最大值與最小值范圍的值,給定描述值,該值作為輸出字段的值。18.獲取serverID(GetSlaveSequence)此步驟從您選擇的從屬服務(wù)器獲取唯一ID。該步驟通過向從服務(wù)器詢問一系列值來工作。換句話說,該步驟為某個給定的中央從屬服務(wù)器序列保留一系列ID。然后它增加1直到該范圍內(nèi)沒有更多值,詢問另一個范圍,依此類推。這意味著返回的ID可以是順序的,但這不能保證。您唯一知道的是,每次執(zhí)行每個輸入行后,您將獲得一個唯一ID,其值高于返回的最后一個ID。返回的最后一個值+范圍(增量)的大小存儲在數(shù)據(jù)庫表中,以便在多次轉(zhuǎn)換運行中保留該值。
表18獲取serverID組件屬性說明屬性項屬性說明值的名稱(整數(shù)類型)輸出字段的名稱(序列或ID)。Slaver服務(wù)器從服務(wù)器獲取唯一ID范圍。這可以使用變量指定。序列名稱從服務(wù)器上定義的序列名稱(見下文)??梢允褂米兞恐付ㄐ蛄忻Q。增量或批大小從從屬服務(wù)器獲取新值(范圍)之前生成的ID數(shù)。增量大小越高,步驟運行得越快。但是,它會更快耗盡可用ID(1x10^15)。例如,如果您將1,000,000,000作為增量,則可以保留1,000,000倍的ID范圍。如果每次轉(zhuǎn)換運行時只使用其中一些ID,那么在1M執(zhí)行后無論如何都會耗盡ID。不要使這個值太高;
使用此步驟,將其保持在1000-10000范圍內(nèi),以實現(xiàn)超過100,000行/秒的速度??梢允褂米兞恐付ù藚?shù)。例子:按照如下方式配置slave-config.xmlSequence表sql:19.行扁平化(Flattener)行扁平化 表19行扁平化組件屬性說明屬性項屬性說明需要扁平化的字段選擇字段。目標字段字段展平的目標字段的名稱。 算法思路:將被扁平化的字段放置最后,按順序讀取行記錄,最終生成的一條記錄,是由n(扁平后字段個數(shù))條原紀錄合并而成,取前n條記錄的被扁平字段值,依次合并而成。在表輸入的情況下,默認讀取的數(shù)據(jù)按照主鍵排序。 20.行轉(zhuǎn)列(RowNormaliser)此組件可以完成合并記錄的功能,把多條記錄合并成一條記錄,改變數(shù)據(jù)表的結(jié)構(gòu),將某些在源表中不同記錄的同一個字段的值(這些值不相同),將它們變成目的表中不同的字段?!咀⑨尅浚盒修D(zhuǎn)列組件中,記錄要首先用指定關(guān)鍵字排序。表20行轉(zhuǎn)列組件屬性說明屬性項屬性說明TYPEFIELD類型字段的名稱(上例中的產(chǎn)品)。輸出字段數(shù)值范圍定界后的新字段名。字段表要標準化的字段列表;
您必須為每個選定的字段設(shè)置以下屬性:Fieldname:要規(guī)范化的字段的名稱(示例中的產(chǎn)品A?C)。類型:給字符串分類字段(在我們的示例中為A,B或C)。新字段:您可以提供一個或多個要轉(zhuǎn)移新值的字段(在我們的示例中為sales)。步驟名稱步驟的名稱;
此名稱必須在單個轉(zhuǎn)換中是唯一的。獲取字段單擊以檢索流中的所有字段的列表。21.計算器(Calculator)計算器組件提供了可以在輸入字段的值上執(zhí)行的預(yù)定義函數(shù)的功能。除了參數(shù)(字段A,字段B和字段C),以還應(yīng)指定函數(shù)的返回值的類型。你也可以選
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家庭心理健康體系構(gòu)建
- 課余時間閱讀拓寬知識視野的有效途徑
- 學(xué)術(shù)會議論文匯報的結(jié)構(gòu)優(yōu)化策略
- 遠程教育中如何培養(yǎng)孩子自我管理能力
- 高效能的辦公系統(tǒng)建設(shè)與實踐分享
- 2025年蘇州工藝美術(shù)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年福州科技職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 智慧辦公高效管理與團隊協(xié)作的科技工具運用案例分析
- 遠程辦公的利與弊分析
- 科技教育的突破以學(xué)院專業(yè)國際競賽為平臺
- 2024年新疆維吾爾自治區(qū)成考(專升本)大學(xué)政治考試真題含解析
- 煤礦復(fù)工復(fù)產(chǎn)培訓(xùn)課件
- 三年級上冊口算題卡每日一練
- 《性激素臨床應(yīng)用》課件
- 眼科疾病與視覺健康
- 2024年九省聯(lián)考高考數(shù)學(xué)卷試題真題答案詳解(精校打?。?/a>
- 洗滌塔操作說明
- 繪本分享《狐貍打獵人》
- 撤銷因私出國(境)登記備案國家工作人員通知書
- (39)-總論第四節(jié)針灸處方
- 《民航服務(wù)溝通技巧》教案第10課兒童旅客服務(wù)溝通
評論
0/150
提交評論