Informatica學(xué)習(xí)以及遇到的問題總結(jié)-陳朋_第1頁
Informatica學(xué)習(xí)以及遇到的問題總結(jié)-陳朋_第2頁
Informatica學(xué)習(xí)以及遇到的問題總結(jié)-陳朋_第3頁
Informatica學(xué)習(xí)以及遇到的問題總結(jié)-陳朋_第4頁
Informatica學(xué)習(xí)以及遇到的問題總結(jié)-陳朋_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、深航Informatica學(xué)習(xí)總結(jié) 修改記錄編寫2016/3/9(深航infa學(xué)習(xí)中總結(jié),學(xué)習(xí)中沒有詳細的文檔,所以整理了一下學(xué)習(xí)的一些知識)框架:一、總體概述  ETL 包括 Extract 、 Transform 、 Cleaning 和 Load ,它是用于從生產(chǎn)庫中提取數(shù)據(jù)到數(shù)據(jù)倉庫中,再由具體的報表、統(tǒng)計、分析工具對數(shù)據(jù)倉庫的內(nèi)容進行分析,分析出自己所需要的數(shù)據(jù)。  其中 ETL 培訓(xùn)的內(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 庫的管理,當(dāng)用戶使用 Client 工具登錄一個 Reposity 服務(wù)器之后,進行文件夾權(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ù)導(dǎo)入到目標數(shù)據(jù)庫中,所需要進行的轉(zhuǎn)換操作( Transformation )。  同一個 Reposity 的 folder 之間可以建立 shortcut 方式,多個 reposity 的 folder 之間只能做拷貝。  4. Workflow Manager  主要用于流程任務(wù)( workflow

5、60;Task )的設(shè)計。  進行任務(wù)流程的設(shè)計、每一個 Tast 針對一個 Session ,一個 session 針對一個 mapping ,其 中 workflow 中的 Folder 和 Designer 中的 folder 相對應(yīng)的關(guān)系。一版來說,用戶都是建立自己 的 Folder 。  5. Workflow Monitor  主要進行流程運行、

6、及任務(wù)運行時的流程運行情況跟蹤??梢愿櫲罩?。包括 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 是為客戶端服務(wù)的,客戶端可以和各種 client 不在一臺服務(wù)器上。關(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 不安裝在一臺服務(wù)器。如果在一臺機器上, 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ù)抽取任務(wù)的運行環(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)換方式應(yīng)用到一個具體的工作任務(wù)中,包 括目標庫、源庫的選擇,以及一條具體的執(zhí)行任務(wù)的屬性設(shè)置等等。包括任務(wù) 的 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 中導(dǎo)入數(shù)據(jù)庫的表結(jié)構(gòu)。 XLS 文件結(jié)構(gòu)。  Warehouse Designer  用于設(shè)計目標數(shù)據(jù)庫庫的結(jié)構(gòu),可以利用手工設(shè)計,也可以利用 import 工具導(dǎo)入導(dǎo)一個 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 應(yīng)用到一個 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í)行任務(wù)的執(zhí)行進行控制,可以在執(zhí)行時對執(zhí)行的任務(wù)進行傳參數(shù)進行傳入,這樣就能在執(zhí)行的時候把數(shù)據(jù)庫表進行動態(tài)的設(shè)置。  可以在執(zhí)行的時候選擇參數(shù)文件,對 mapping 、

23、 workflow 中的 Session 的參數(shù)進行傳入。達到動態(tài)執(zhí)行的目的。  Workflow 中定義 workflow 、 session 等任務(wù),對這些任務(wù)的執(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導(dǎo)入源表目的:從數(shù)據(jù)庫中導(dǎo)入源表表結(jié)構(gòu)操作:點擊源圖標切換至源窗口菜單:源->從數(shù)據(jù)庫導(dǎo)入選擇圖標添加數(shù)據(jù)源ODBC連接選擇配置導(dǎo)入數(shù)據(jù),可以在Search窗口搜尋要查詢的表名Properties屬性:3.導(dǎo)入目標表目的:從數(shù)據(jù)庫中導(dǎo)入目標表DIM_EMPLOYEES的表結(jié)構(gòu)操作:點擊切換到目標設(shè)計窗口菜單: 和導(dǎo)入源表步驟相同,選擇目標表導(dǎo)入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 按鈕,切換到任務(wù)編輯窗口菜單“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è)計窗口中點擊鏈接任務(wù),鼠標狀態(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);導(dǎo)入源表,目標表,建立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è)置更新時間為當(dāng)前時間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組件中的字段與目標表的對應(yīng)字段連接起來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導(dǎo)入源表,目標表,創(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)寫一個修改時間為當(dāng)前時間傳入目標表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相對應(yīng),順序要一致 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.用法對應(yīng)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)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論