版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、深航Informatica學習總結(jié) 修改記錄編寫2016/3/9(深航infa學習中總結(jié),學習中沒有詳細的文檔,所以整理了一下學習的一些知識)框架:一、總體概述 ETL 包括 Extract 、 Transform 、 Cleaning 和 Load ,它是用于從生產(chǎn)庫中提取數(shù)據(jù)到數(shù)據(jù)倉庫中,再由具體的報表、統(tǒng)計、分析工具對數(shù)據(jù)倉庫的內(nèi)容進行分析,分析出自己所需要的數(shù)據(jù)。 其中 ETL 培訓的內(nèi)容是如何利用 Informatic PowerC
2、enter 把源數(shù)據(jù)庫的內(nèi)容提取存放到目標數(shù)據(jù)庫中,四部分 Client , Reposity Server , Reposity Database 和 Informatic Server 每個部分實現(xiàn)自己的功能。 二、系統(tǒng)體系結(jié)構(gòu) 此部分介紹了 Informatic ETL 工具包括的主要內(nèi)容。 1.Client Informatic Client 主要有五個部分。
3、Client 可以和 Reposity 分離,通過 TCP/IP 連接,連接到遠程的 Reposity Server 。 2. Reposity Manager 主要用于進行一個 Reposity 庫的管理,當用戶使用 Client 工具登錄一個 Reposity 服務器之后,進行文件夾權(quán)限的創(chuàng)建,用戶權(quán)限、密碼的管理等。 3. Designer 主要是進行數(shù)據(jù)抽取的轉(zhuǎn)換工具的設(shè)
4、計,主要是 mapping 的設(shè)計、設(shè)計源數(shù)據(jù)庫的結(jié)構(gòu),目標數(shù)據(jù)庫的結(jié)構(gòu),然后設(shè)計把源數(shù)據(jù)導入到目標數(shù)據(jù)庫中,所需要進行的轉(zhuǎn)換操作( Transformation )。 同一個 Reposity 的 folder 之間可以建立 shortcut 方式,多個 reposity 的 folder 之間只能做拷貝。 4. Workflow Manager 主要用于流程任務( workflow
5、60;Task )的設(shè)計。 進行任務流程的設(shè)計、每一個 Tast 針對一個 Session ,一個 session 針對一個 mapping ,其 中 workflow 中的 Folder 和 Designer 中的 folder 相對應的關(guān)系。一版來說,用戶都是建立自己 的 Folder 。 5. Workflow Monitor 主要進行流程運行、
6、及任務運行時的流程運行情況跟蹤。可以跟蹤日志。包括 Session 日志和 Workflow 日志,可以設(shè)置生成日志的循環(huán)個數(shù)。分析 session 運行是對源數(shù)據(jù)庫的數(shù)據(jù)抽出信息和對目標數(shù)據(jù)庫的更新信息。 6. Reposity Server Application Console 主要進行 Reposity 的管理,包括 Reposity Server 的 start , shutdown
7、 操作。進行 Reposity 庫的 backup 、 restore 等操作,進行 Reposity 庫級別的管理,級別較高。 7. Reposity Server Reposity server 是為客戶端服務的,客戶端可以和各種 client 不在一臺服務器上。關(guān)于數(shù)據(jù)抽取的設(shè)計成果轉(zhuǎn)換成 為 XML 格式的源數(shù)據(jù),都是通過 Reposity Server 存放到
8、160;Reposity Database Server 上的。8. Reposity Database Server 用于存放的是進行 ETL 設(shè)計的元數(shù)據(jù)??梢灾С指黝惖臄?shù)據(jù)庫。方式為數(shù)據(jù)庫中用戶的一個表目錄和用戶關(guān)系即可。 Reposity Database 可以和 Reposity server 不安裝在一臺服務器。如果在一臺機器上, server 通 過 native 方式連接到 d
9、atabase ,如果不在一臺及其上,需要在 database 上安裝一個 reposity agent ,用戶 通過 agent ,以 native 方式連接到 reposity 數(shù)據(jù)庫,然后 reposity agent 再以 tcp/ip 方式連接 到 reposity server 。 9.Informatic Server Informatic
10、;server 是實際執(zhí)行數(shù)據(jù)抽取任務的運行環(huán)境。即 workflows 、 task 、 sessions 等。它是根據(jù)定義的 workflow 元數(shù)據(jù)庫,然后在自己的實際環(huán)境中,執(zhí)行數(shù)據(jù)抽取操作。 三、系統(tǒng)組件功能 Informatic 的功能主要體現(xiàn)在 Designer 和 Workflow Manager 上,其中 Designer 實現(xiàn)的是 對數(shù)據(jù)抽取的數(shù)據(jù)轉(zhuǎn)換方式設(shè)計,以及效率設(shè)計目標等。而
11、在 Workflow Manager 中再把具體的數(shù)據(jù)轉(zhuǎn)換方式應用到一個具體的工作任務中,包 括目標庫、源庫的選擇,以及一條具體的執(zhí)行任務的屬性設(shè)置等等。包括任務 的 insert 、 truncate 、 delete 、 increment insert 等。 1.Designer 組件 ( 1 )工作區(qū) 在 Designer 中,涉及到的工作區(qū)主要包括 有 Source
12、60;Analyzer 、 Warehouse Designer 、 Transformation Designer 、 Mapplet Designer 和 Mapping Designer 。 其中每個工作區(qū)的功能分別介紹: Source Analyzer : Source Analyzer 的功能是實現(xiàn)對源數(shù)據(jù)庫表的設(shè)計,可以手工的進行源數(shù)據(jù)庫的設(shè)計,一般都是通過從 Flat
13、 File 或者 Relation DBMS 中導入數(shù)據(jù)庫的表結(jié)構(gòu)。 XLS 文件結(jié)構(gòu)。 Warehouse Designer 用于設(shè)計目標數(shù)據(jù)庫庫的結(jié)構(gòu),可以利用手工設(shè)計,也可以利用 import 工具導入導一個 warehouse 的結(jié)構(gòu)。 Transformation Designer 用戶設(shè)計可重用的 transformation 組件,這里的組件,在一個 folder
14、里面都是可以重用的,而且 以 shortcut 的方式使用。 Transformation 組件的修改,會直接反映到使用 此 transformation 的 mapping 中。 Mpplet 設(shè)計可以重用的多個組件,只要有 output 組件,可以有 input 組件,也可以沒有 input 組件,實現(xiàn)的功能就和一個 expression 的功能類似,實現(xiàn)功能。 Mapping
15、0;Designer 實現(xiàn)的功能是設(shè)計具體進行抽取數(shù)據(jù)的 mapping ,這些 mapping 應用到一個 workflow 中,形成了 workflow 的一個 session ( task )。 ( 2 ) 組件功能 ETL 支持的組件主要包括兩類: Active 組件和 Passive 組件,其中 Active 組件是對輸入記錄集在輸
16、出時個數(shù)有變化的組件, Passive 組件,輸入的記錄集,輸出時記錄集的個數(shù)不發(fā)生改變。 Informatic 提供的組件包括: (1) Source Qualifier: reads data from flat file & relational sources (2) Expression: performs row-level calculations (3)&
17、#160;Filter: drops rows conditionally (4) Sorter: sorts data (5) Aggregator: performs aggregate calculations (6) Joiner: joins heterogeneous sources (7) Lookup: looks up values and&
18、#160;passes them to other objects (8) Update Strategy: tags rows for insert, update, delete, reject (9) Router: splits rows conditionally (10) Sequence Generator: generates uniq
19、ue ID values (11) Normalizer:izes records from relational or VSAM sources (12) Rank: filters the top or bottom range of records (13) Union : merges data from mult
20、iple pipelines into one pipeline (14) Transaction Control: allows user-defined commits (15) Stored Procedure: calls a database stored procedure (16) External Procedure : calls c
21、ompiled code for each row (17) Custom: calls compiled code for multiple rows (18) Midstream XML Parser: reads XML from database table or message queue (19) Midstream
22、160;XML Generator: writes XML to database table or message queue 每一類組件都有自己獨特的功能和特點,每一種組件的詳細功能這里不詳細介紹。 2.Workflow 組件 Workflow 是對執(zhí)行任務的執(zhí)行進行控制,可以在執(zhí)行時對執(zhí)行的任務進行傳參數(shù)進行傳入,這樣就能在執(zhí)行的時候把數(shù)據(jù)庫表進行動態(tài)的設(shè)置。 可以在執(zhí)行的時候選擇參數(shù)文件,對 mapping 、
23、 workflow 中的 Session 的參數(shù)進行傳入。達到動態(tài)執(zhí)行的目的。 Workflow 中定義 workflow 、 session 等任務,對這些任務的執(zhí)行進行管理控制。 四、補充說明 Source Qualifier 支持同構(gòu)數(shù)據(jù)源的連接,衣鉤數(shù)據(jù)源的連接通過 N-1 個 jointer 組件實現(xiàn)。 Lookup 為 passive 組件,查出的多條記錄集,要么取
24、160;first ,或者 last ,或者報錯。 Lookup 可以時動態(tài) / 靜態(tài) ,可以 connected/unconnect 。1. infa開發(fā)準備1. 安裝客戶端2. 準備工作創(chuàng)建表:建表語句create table SOURCE_EMPLOYEES( EMPLOYEE_ID NUMBER(6), EMPLOYEE_NAME VARCHAR2(50), EMPLOYEE_ADDRESS VARCHAR2(50), EMPLOYEE_CITY VARCHAR2(15), CREATE_DATE
25、 DATE);目標表create table TARGET_EMPLOYEES_XX( EMPLOYEE_ID NUMBER(6), EMPLOYEE_NAME VARCHAR2(50), EMPLOYEE_ADDRESS VARCHAR2(50), EMPLOYEE_CITY VARCHAR2(15), CREATE_DATE DATE);3. 配置域域名Domain_infa9網(wǎng)關(guān)主機41網(wǎng)關(guān)端口60052.Repository創(chuàng)建文件夾1連接數(shù)據(jù)庫目的:連接存儲庫2創(chuàng)建文件夾點擊工具欄的Folder Create,輸入需要創(chuàng)建的文件夾名稱點擊確定完成創(chuàng)建如果文件夾沒有
26、顯示,斷開重新連接一下看看3.Designer中創(chuàng)建映射1. 切換到designer窗口目的:切換到映射設(shè)計界面操作:點擊D圖標即可Designer 界面被打開,默認打開的是新建的XXX文件夾。2導入源表目的:從數(shù)據(jù)庫中導入源表表結(jié)構(gòu)操作:點擊源圖標切換至源窗口菜單:源->從數(shù)據(jù)庫導入選擇圖標添加數(shù)據(jù)源ODBC連接選擇配置導入數(shù)據(jù),可以在Search窗口搜尋要查詢的表名Properties屬性:3.導入目標表目的:從數(shù)據(jù)庫中導入目標表DIM_EMPLOYEES的表結(jié)構(gòu)操作:點擊切換到目標設(shè)計窗口菜單: 和導入源表步驟相同,選擇目標表導入4.建立映射關(guān)系目的:設(shè)置從源表到目標表的轉(zhuǎn)換規(guī)則1
27、 新建映射點擊圖標切換到mapping窗口工具欄出現(xiàn)mappings選項點擊新建2 為映射添加源表從左側(cè)源中把表SOURCE_EMPLOYEES拖入右側(cè)編輯區(qū),(會自動出現(xiàn)SQ_SOURCE_EMPLOYEES的SQL轉(zhuǎn)換)3為映射添加目標表從左側(cè)目標中把表DIM_EMPLOYEES拖入右側(cè)編輯區(qū)4編輯SQ_SOURCE_EMPLOYEE可在Properties項中編輯sql語句可在ports項中點擊新增字段,點擊刪除字段4在Workflow Designer中新建工作流1切換到Workflow Designer窗口目的:切換到工作流設(shè)計界面操作:點擊W圖標即可2新建session目的:創(chuàng)建會
28、話,用以調(diào)用映射操作:點擊 Task Developer 按鈕,切換到任務編輯窗口菜單“Tasks”->“Create” 輸入名字創(chuàng)建選擇剛剛做好的mapping點擊ok3編輯session雙擊新建的session選擇Mapping選項選擇target文件夾下的目標表選擇Properties下的truncate勾選,表示在運行時清空目標表注意SOURCES文件夾下的源表以及TARGETS文件夾下的目標表的Connections連接的數(shù)據(jù)庫是否正確4新建工作流目的:新建工作流操作:點擊圖標 WorkFlow Designer 切換到工作流設(shè)計窗口菜單:“WorkFlows” ->“C
29、reate”輸入名字 確定建立在界面會出現(xiàn)圖標將 建立session 拖入工作流設(shè)計窗口中點擊鏈接任務,鼠標狀態(tài)改變點擊啟動,再點擊 session連接起來5啟動工作流目的:執(zhí)行工作流操作:在工作流或者workflow designer窗口中右鍵啟動工作流 5.lookup組件(增量ID)1.表源表SOURCE_EMPLOYEE目標表create table TARGET_EMPLOYEES_02_XX( EMPLOYEE_ID NUMBER(6), EMPLOYEE_NAME VARCHAR2(50), EMPLOYEE_ADDRESS VARCHAR2(50), EMPLOYEE_CITY
30、 VARCHAR2(15), CREATE_DATE DATE, BI_UPDATE_DATE DATE);導入源表,目標表,建立mapping參考上面2.Lookup組件在mapping designer中點擊lookup組件圖標創(chuàng)建一個lookup,選擇target目標表可刪除不必要的字段將源表的id字段拖入到lookup框中,改名為IN_EMPLOYEE_IDLOOKUP屬性Condition點擊新建選擇employee_id=in_employee_id建立連接關(guān)系添加F(x) 組件,點擊出現(xiàn)+選擇mapping區(qū)域的空白處點擊出現(xiàn)將lookup組件中的employee_id拖入F(x
31、)組件中雙擊F(x)組件添加倆字段BI_UPDATE_DATE是設(shè)置更新時間為當前時間UPDATE_FLAG是設(shè)置標志Exprossion中語句為IIF(ISNULL(EMPLOYEE_ID),I,U)添加一個Update組件,進行insert和update操作將源表的數(shù)據(jù)以及F(X)中的BI_UPDATE_DATE以及UPDATE_FLAG拖入Update組件中雙擊update組件點開設(shè)置Properties中屬性Update Strategy Expressio設(shè)置內(nèi)容為IIF(UPDATE_FLAG='I',DD_INSERT,IIF(UPDATE_FLAG='U
32、',DD_UPDATE,DD_REJECT)如果UPDATE_FLAG標志為I進行INSERT操作,如果為U,進行INSERT操作將update組件中的字段與目標表的對應字段連接起來3.快捷創(chuàng)建工作流選擇做好的MAPPING右鍵點擊Generate Workflow選擇Workflows with a reusable session同時創(chuàng)建session注意后面的命名規(guī)則完成工作流的創(chuàng)建,運行。6.Filter Transformation 1.表源表:SOURCE_EMPLOYEE目標表:目標表create table TARGET_EMPLOYEES_03_XX( EMPLOYE
33、E_ID NUMBER(6), EMPLOYEE_NAME VARCHAR2(50), EMPLOYEE_ADDRESS VARCHAR2(50), EMPLOYEE_CITY VARCHAR2(15), CREATE_DATE DATE, BI_UPDATE_DATE DATE);2.創(chuàng)建Filter Transformation導入源表,目標表,創(chuàng)建mapping參考上創(chuàng)建Filter Transformation點擊圖標創(chuàng)建 Filter Transformation區(qū)域?qū)⒃幢淼淖侄瓮先隖ilter中雙擊filter進入屬性編輯Properties > Filter Conditi
34、on編輯過濾條件如我們要的數(shù)據(jù)為2016年3月8號之后的數(shù)據(jù)IIF(CREATE_DATE>TO_DATE('2016/3/8','YYYY/MM/DD'),TRUE,FALSE)添加F(X)寫一個修改時間為當前時間傳入目標表2. 創(chuàng)建工作流運行參上SQL QUERY自定義(客戶化)了Integration Service用于從來源讀取數(shù)據(jù)的查詢語句,替代了默認查詢。自定義的查詢語句覆蓋custom join和source filter。USER-DEFINED JOIN指定用于連接多個來源數(shù)據(jù)的連接條件,Where子句的內(nèi)容SOURSE FILTER指定
35、讀取來源數(shù)據(jù)是的篩選條件7.作業(yè):1. 員工表SZAIR_EMPLOYEES,部門表 SZAIR_DEPARTMENT2. 只取在職狀況為Y的數(shù)據(jù)3. 身份證號長度異常的數(shù)據(jù),將身份證號置為 'Default-異常'4. 將性別中 M 轉(zhuǎn)化為 男 ,W 轉(zhuǎn)化為 女5. 獲取2014年后的數(shù)據(jù)6. 目標表命名為 W_SZAIR_EMPLOYEES_D_XXXX 其中XXXX為你們的姓名拼音,目標表字段包括EMPLOYEE_IDEMPLOYEE_NAMEEMPLOYEE_IDCARDSEXEMPLOYEE_ROLEEMPLOYEE_LEVELDEPARTMENT_NAMEDEPAR
36、TMENT_CITYHIRE_DATE7.多源數(shù)據(jù)操作1.簡單操作 有兩個源表,如作業(yè),有employee表和department表,目標表數(shù)據(jù)來源這兩個源表簡單步驟:1.將employee源拖入mapping中,打開SQ2.在SQ的Properties屬性中打開Sql Query在里面編輯sql語句,sql語句連接employee表和department表查詢出目標表所需要的這兩個表的字段。3. 在Ports中新增或刪除字段,使得其字段與sql相對應,順序要一致 4. 其他步驟相同2. 標準操作原sql語句:SELECT ject_num, ject_name,
37、pip.parent_project_id, (SELECT ject_name FROM sza_pa_invest_projects_all pip2 WHERE pip2.invest_project_id = pip.parent_project_id AND pip.parent_project_type = 'INVEST_PROJECT' UNION ALL SELECT ppa.NAME FROM pa_projects_all ppa WHERE ject_id = pip.parent_project_id AND pip.pa
38、rent_project_type = 'PA_PROJECT') parent_project_name, (SELECT flv.meaning FROM fnd_lookup_values_vl flv WHERE flv.lookup_type = 'SZA_PA_PROJECT_STATUS' AND flv.lookup_code = pip.status_code) status_desc, pip.status_code, pip.request_date, pip.creation_date, NULL effect_date, pip.own
39、ing_dept_code, pip.manage_dept_code, pip.resp_dept_code, sza_pa_invest_proj_pub.get_manage_dept_desc(pip.manage_dept_code) manage_dept, sza_pa_invest_proj_pub.get_owning_dept_desc(pip.owning_dept_code) owning_dept, NULL request_dtp, sza_pa_invest_proj_pub.get_invest_proj_bgt_amt(pip.invest_project_i
40、d, 'ALL', 'N', ibv.invest_budget_ver_id) total_budget_amt, PIP.INVEST_PROJECT_ID, PIP.PA_PROJECT_ID, PIP.INVEST_CLASS_CODE, PIP.ATTRIBUTE_CATEGORY, pip.attribute1, PIP.ATTRIBUTE2, PIP.ATTRIBUTE3, PIP.ATTRIBUTE4, PIP.ATTRIBUTE5, PIP.ATTRIBUTE6, PIP.ATTRIBUTE7, PIP.ATTRIBUTE8, PIP.ATTR
41、IBUTE9, PIP.ATTRIBUTE10, PIP.ATTRIBUTE11, PIP.ATTRIBUTE12, PIP.ATTRIBUTE13, PIP.ATTRIBUTE14, PIP.ATTRIBUTE15 FROM sza_pa_invest_projects_all pip, sza_pa_invest_bgt_versions ibv WHERE pip.invest_project_id = ibv.invest_project_id(+) AND ibv.version_type(+) = 'INVEST'我們在此不使用sql語句,使用infa的組件來完成S
42、tored Procedure Transformation Joiner Transformation 效果圖:1.用法· 來連接兩個源表的,只能連接兩個,個數(shù)就為源表個數(shù)減1將兩個源表拖入mapping中使用進行連接 將連接字段拖入連接,將兩個源表所需的字段拖入2.用法對應sql中的:sza_pa_invest_proj_pub.get_manage_dept_desc(pip.manage_dept_code) manage_dept, sza_pa_invest_proj_pub.get_owning_dept_desc(pip.owning_dept_code) ownin
43、g_dept,sza_pa_invest_proj_pub.get_invest_proj_bgt_amt(pip.invest_project_id, 'ALL', 'N', ibv.invest_budget_ver_id) total_budget_amt,新建P(X)點擊確定傳入?yún)?shù),返回return_value8.參數(shù)和變量1概述參數(shù)和變量可以定義在工作流、工作集或會話中。您可以使用 WordPad 或 Notepad 等文本編輯器來創(chuàng)建參數(shù)文件。您在參數(shù)文件中列出參數(shù)或變量及其值。參數(shù)文件可以包含以下類型的參數(shù)和變量:u Integration Se
44、rvice變量u Integration Service process變量u Workflow變量u Worklet變量u Session參數(shù)u Mapping參數(shù)和變量2參數(shù)和變量的設(shè)置1定義參數(shù)文件Mapping Parameters(參數(shù)) 和 Variables(變量)的使用 如果你在一個mapping中多次用到同一個值,又或者mapping中要用到一個在session運行才能決定的值,這時候可以使用mapping parameters或variable。Mapping參數(shù)變量的命名方式:$NAME存放參數(shù)變量的.txt文件的格式:folder_name.session_name parameter_name=value variable_name=value mapplet_name.parameter_name=value folder_name.session2_name parameter_name=value variable_name=value mapplet_name.variable_name=value folder2_n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年婚姻財產(chǎn)協(xié)議范本
- 2024年富力地產(chǎn)裝修協(xié)議
- 2024年互聯(lián)網(wǎng)內(nèi)容分發(fā)與傳播協(xié)議
- 2024云計算中心共建及運營管理協(xié)議
- 2024國內(nèi)物流轉(zhuǎn)包業(yè)務糾紛解決協(xié)議
- 2024冷庫租賃合同協(xié)議(適用大型倉儲)
- 2024年國際藝術(shù)品拍賣與交易平臺服務合同
- 2024年保險業(yè)務合作協(xié)議
- 智能建造項目背景分析
- 職業(yè)教育培訓項目實施計劃
- 2024年秋初中物理八年級上冊教學設(shè)計(教案)第5節(jié) 跨學科實踐:制作望遠鏡
- 分級閱讀The Fantastic Washing Machine 洗衣機超人 教學設(shè)計-2023-2024學年牛津譯林版英語七年級下冊
- 文學閱讀與創(chuàng)意表達任務群下的教學設(shè)計六上第四單元
- 2024交通銀行借貸合同范本
- 六年級語文上冊18.《書湖陰先生壁》課件
- 2024管道焊后熱處理工藝
- 泵閘工程施工組織設(shè)計(技術(shù)標)
- 5.3 善用法律 課件-2024-2025學年統(tǒng)編版道德與法治八年級上冊
- 2024至2030年中國甲硫醇鈉產(chǎn)品市場供需分析及發(fā)展前景展望報告
- DB3305-T 250-2022應急救災物資儲備庫建設(shè)規(guī)范
- 濟南版中考生物二輪復習:重難點基礎(chǔ)知識復習提綱
評論
0/150
提交評論