freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

edw數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目方案-資料下載頁(yè)

2025-05-14 03:35本頁(yè)面
  

【正文】 發(fā)一套 ETL 程序作業(yè),減少了開(kāi)發(fā)工作量,并且避免了兩套程序可能出現(xiàn)的數(shù)據(jù)算法不一致造成的數(shù)據(jù)不一致的錯(cuò)誤。對(duì)于歷史數(shù)據(jù)加載的策略,我們可以采用時(shí)間窗口的分段的方法來(lái)處理歷史數(shù)據(jù)量大的表的裝載,即我們可以一個(gè)一個(gè)時(shí)間段來(lái)加載歷史數(shù)據(jù)。 增量 ETL 設(shè)計(jì)策略確定增量數(shù)據(jù)測(cè)量和故障恢復(fù)策略。增量策略是正常的日常增量處理的策略,故障恢復(fù)策略是在日常增量處理出錯(cuò)時(shí)的處理策略。38 / 47如果判斷增量數(shù)據(jù),方法有:1. 時(shí)間戳對(duì)于交易流水、帳戶數(shù)據(jù)等,可以采用判斷時(shí)間戳的方法獲取增量數(shù)據(jù)。2. 自增長(zhǎng)的序列號(hào)源系統(tǒng)設(shè)置了自增長(zhǎng)的序列號(hào)作為唯一主鍵。3. 更改標(biāo)志源系統(tǒng)定義了一個(gè)字段作為數(shù)據(jù)被更改的標(biāo)識(shí)。4. 整表比較對(duì)于沒(méi)有時(shí)間戳的增量數(shù)據(jù),數(shù)據(jù)量不大時(shí),例如編碼表,可以采用使用數(shù)據(jù)庫(kù)的 SQL 操作語(yǔ)句(NOT IN,NOT Exists)的方法。5. 日志對(duì)于經(jīng)常對(duì)歷史數(shù)據(jù)進(jìn)行修改、刪除的業(yè)務(wù)系統(tǒng),并且修改沒(méi)有設(shè)置登記簿,可以通過(guò)讀取數(shù)據(jù)庫(kù)的日志來(lái)實(shí)現(xiàn)增量。一般數(shù)據(jù)庫(kù)均包括日志,通過(guò)分析數(shù)據(jù)庫(kù)的日志來(lái)判斷增量數(shù)據(jù)。此方法需要有專門(mén)的工具讀取數(shù)據(jù)庫(kù)日志。6. 循環(huán)校驗(yàn)碼對(duì)于沒(méi)有時(shí)間戳的數(shù)據(jù)進(jìn)行修改,還可以考慮采用循環(huán)校驗(yàn)碼。7. 通過(guò) TRIGGER 實(shí)現(xiàn)增量識(shí)別在數(shù)據(jù)表上建立 TRIGGER,一般數(shù)據(jù)項(xiàng)發(fā)生變化,將記錄到增量表中。缺點(diǎn)是必須對(duì)業(yè)務(wù)數(shù)據(jù)庫(kù)進(jìn)行改動(dòng),客戶不一定能接受。聯(lián)科增量數(shù)據(jù)抽取的設(shè)計(jì),符合以下要求:? 增量抽取策略必須支持要很方便跟蹤進(jìn)程運(yùn)行狀態(tài)? 增量抽取支持抽取類型為增量或全量,抽取方式為日、月、季度等多種方式? 通過(guò)設(shè)定簡(jiǎn)單的參數(shù),如:table_name, first day of run, load_type, load_methEDW 等,就可以設(shè)置一個(gè)抽取的過(guò)程39 / 47錯(cuò)誤處理和恢復(fù)策略在復(fù)雜的 ETL 過(guò)程中,難免會(huì)產(chǎn)生錯(cuò)誤。ETL 管理調(diào)度利用作業(yè)調(diào)度控制可以處理各種異常錯(cuò)誤情況。在作業(yè)流程中可以設(shè)置異常的條件,如當(dāng)錯(cuò)誤記錄超過(guò)一定的條數(shù)或者錯(cuò)誤級(jí)別達(dá)到一定的級(jí)別時(shí),作業(yè)掉轉(zhuǎn)到異常處理流程,進(jìn)行自動(dòng)處理,系統(tǒng)設(shè)計(jì)的原則是盡量不中斷 ETL 作業(yè)流程,當(dāng)然如果錯(cuò)誤特別嚴(yán)重,也可以轉(zhuǎn)到手工處理。錯(cuò)誤的恢復(fù)策略:? 每條記錄中有數(shù)據(jù) ETL 的時(shí)間戳,對(duì)小數(shù)據(jù)量的數(shù)據(jù)表,可以通過(guò)該時(shí)間戳清除掉本次加載的數(shù)據(jù)。? 對(duì)于大數(shù)據(jù)量的表,可以利用時(shí)間窗口功能, 如果大表某一天的數(shù)據(jù)出現(xiàn)錯(cuò)誤后,可以直接進(jìn)行一天數(shù)據(jù)的恢復(fù)。 異常處理ETL 處理的異常主要包括:1) 硬件、操作系統(tǒng)、網(wǎng)絡(luò)導(dǎo)致異常;2) 數(shù)據(jù)源數(shù)據(jù)傳輸、質(zhì)量導(dǎo)致異常;3) ETL 過(guò)程處理導(dǎo)致異常;4) 目標(biāo)數(shù)據(jù)模型導(dǎo)致異常;5) 人工干預(yù)導(dǎo)致異常等;建議處理的方法包括:1) 手工干預(yù),重新調(diào)整 ETL 過(guò)程;2) 終止流程,通知管理員;3) 拒絕數(shù)據(jù),記錄原因;4) 清洗數(shù)據(jù),部分入庫(kù);5) 監(jiān)控資源,反復(fù)嘗試ETL 恢復(fù)策略包括有:1) 每條記錄中有數(shù)據(jù) ETL 的時(shí)間戳,對(duì)小數(shù)據(jù)量的數(shù)據(jù)表,可以通過(guò)該40 / 47時(shí)間戳清除掉本次加載的數(shù)據(jù)。2) 對(duì)于大數(shù)據(jù)量的表,可以利用時(shí)間窗口功能, 如果大表某一天的數(shù)據(jù)出現(xiàn)錯(cuò)誤后,可以直接進(jìn)行一天數(shù)據(jù)的恢復(fù)。 作業(yè)調(diào)度和監(jiān)控根據(jù)作業(yè)依賴關(guān)系的元數(shù)據(jù)進(jìn)行 ETL 作業(yè)的調(diào)度,并對(duì)執(zhí)行過(guò)程進(jìn)行監(jiān)控。作業(yè)調(diào)度需要包括以下功能:靈活啟停作業(yè);根據(jù)日期規(guī)則設(shè)置作業(yè)執(zhí)行計(jì)劃;支持作業(yè)的并發(fā)執(zhí)行;允許作業(yè)網(wǎng)絡(luò)的嵌套;方便新增 ETL 作業(yè)。作業(yè)的監(jiān)控需要包括以下功能:監(jiān)控作業(yè)的當(dāng)前執(zhí)行情況;查詢作業(yè)歷史執(zhí)行情況。 元數(shù)據(jù)管理ETL 過(guò)程需要通過(guò)元數(shù)據(jù)的管理來(lái)實(shí)現(xiàn)數(shù)據(jù)流程的監(jiān)控以及作業(yè)的靈活調(diào)度。需要定義:源數(shù)據(jù)結(jié)構(gòu)、目標(biāo)數(shù)據(jù)結(jié)構(gòu)、源和目標(biāo)的映射(包括定制映射的方案、定制映射調(diào)用的函數(shù)、定制清洗的方案)、作業(yè)處理日志以及作業(yè)依賴關(guān)系。 ETL 模塊設(shè)計(jì)XX 銀行的 ETL 采用數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程及 Shell 腳本等技術(shù)支持,可以按照如下模塊設(shè)計(jì):? 調(diào)度模塊:負(fù)責(zé)任務(wù)的管理、調(diào)度和分發(fā),作業(yè)依賴關(guān)系的管理;? 作業(yè)控制:負(fù)責(zé)計(jì)算資源的分配、作業(yè)的執(zhí)行,控制作業(yè)執(zhí)行的流程、跟蹤作業(yè)執(zhí)行的結(jié)果、記錄作業(yè)的日志。? 數(shù)據(jù)庫(kù)模塊:管理類數(shù)據(jù)庫(kù):用于調(diào)度和作業(yè)主控,保存任務(wù)和作業(yè)的相關(guān)配置信息和運(yùn)行信息。應(yīng)用類數(shù)據(jù)庫(kù):用于具體應(yīng)用的業(yè)務(wù)數(shù)據(jù)庫(kù)。? ETL 域:ETL 架構(gòu)中基本的計(jì)算資源組合,是一個(gè)計(jì)算機(jī)群,由 JCI統(tǒng)一管理和控制,一個(gè) ETL 域由一個(gè) ETL Server 和多個(gè) ETL 41 / 47Client 組成。? ETL 應(yīng)用:應(yīng)用部署和配置管理的基本單位,一個(gè) ETL 應(yīng)用包含一組相關(guān)的作業(yè)單元、作業(yè)配置參數(shù)和應(yīng)用環(huán)境參數(shù)。 ? 物理作業(yè):具體負(fù)責(zé)數(shù)據(jù)加工的程序執(zhí)行單元,各類存儲(chǔ)過(guò)程或者作業(yè)腳本(SHELL 腳本、用 C/C++/PROC 等開(kāi)發(fā)的可執(zhí)行程序) 。ETL 模塊可以劃分為任務(wù)調(diào)度、任務(wù)控制、任務(wù)執(zhí)行。任務(wù)調(diào)度模塊在 EDWH+EDWB 統(tǒng)一模塊中,調(diào)度是由部署在總行的調(diào)度 SERVER 統(tǒng)一完成調(diào)度工作,或者由部署在分行的調(diào)度 Server 完成本分行作業(yè)的調(diào)度。調(diào)度 SERVER根據(jù)各個(gè) JOB 的運(yùn)行時(shí)間和依賴關(guān)系,按照一定的調(diào)度策略對(duì)總分行的 JOB 進(jìn)行統(tǒng)一調(diào)度。在實(shí)際部署中,調(diào)度模塊可以僅部署在總行,實(shí)施統(tǒng)一調(diào)度,也可能部署在分行,實(shí)施分布調(diào)度;而在每個(gè) ETL 域的 ETL Server 上部署調(diào)度的Agent 模塊,調(diào)度 Server 負(fù)責(zé)任務(wù)的檢索、調(diào)度和分發(fā),調(diào)度 Agent 接收到調(diào)度 Server 的調(diào)度指令,調(diào)用作業(yè)主控模塊(JCI)執(zhí)行具體的作業(yè),并根據(jù) JCI的退出碼將作業(yè)的執(zhí)行情況反饋給調(diào)度 Server。? 任務(wù)控制模塊統(tǒng)一架構(gòu)中的處理模塊是由一個(gè)或多個(gè) ETL 域組成的??傂杏幸粋€(gè)或多個(gè)總行的 ETL 域,分行有本分行的 ETL 域。域與域在物理上是分開(kāi),但是在邏輯上是聯(lián)系在一起的。對(duì)于不同的域,它們的處理任務(wù)也是不一樣的。每個(gè)處理域由一個(gè)或多個(gè) ETL SERVER 和若干個(gè) ETL CLIENT 組成。ETL SERVER 主要負(fù)責(zé) ETL JOB 的具體執(zhí)行。首先,ETL SERVER 接收調(diào)度 Agent 發(fā)過(guò)來(lái)的要執(zhí)行的作業(yè)的作業(yè) ID,根據(jù)該作業(yè) ID 到管理庫(kù)中獲取該作業(yè)的運(yùn)行參數(shù)并解釋所有參數(shù)。其次根據(jù)作業(yè)運(yùn)行資源需求,獲取所屬 ETL CLIENT 的資源情況,選擇最優(yōu)的若干臺(tái) ETL CLIENT,分配作業(yè)給這些 ETL CLIENT 運(yùn)行。最后收集并記錄作業(yè)運(yùn)行日志信息,釋放 ETL CLIENT 的資源,更新作業(yè)運(yùn)行狀態(tài),返回作業(yè)運(yùn)行結(jié)果信息給調(diào)度 Agent。42 / 47ETL CLIENT 主要負(fù)責(zé) ETL SERVER 分配的作業(yè)模塊的具體執(zhí)行,是作業(yè)的具體執(zhí)行者。ETL 統(tǒng)一架構(gòu)中的 ETL 域并不是一成不變的,理論上具有無(wú)限的橫向擴(kuò)展能力。它可以根據(jù)本域上的作業(yè)情況增減 ETL CLIENT。如果作業(yè)的數(shù)目太多,ETL SERVER 承擔(dān)的任務(wù)過(guò)重,則可以增加 ETL SERVER 來(lái)降低原有的 ETL SERVER 調(diào)控任務(wù)的壓力。如果實(shí)際運(yùn)行 JOB 的 ETL CLIENT 資源不足,經(jīng)常處于高負(fù)荷狀態(tài),則可以通過(guò)增加 ETL CLIENT 來(lái)提高運(yùn)行效率。ETL Server 訪問(wèn)管理庫(kù),ETL Client 只訪問(wèn)應(yīng)用庫(kù),不允許訪問(wèn)管理庫(kù)。? 數(shù)據(jù)庫(kù)模塊統(tǒng)一架構(gòu)中的數(shù)據(jù)庫(kù)模塊分為兩個(gè)部分:管理類數(shù)據(jù)庫(kù)和業(yè)務(wù)類數(shù)據(jù)庫(kù)。業(yè)務(wù)類數(shù)據(jù)庫(kù)存放的是 ETL 作業(yè)處理的業(yè)務(wù)數(shù)據(jù)。管理類數(shù)據(jù)庫(kù)存放的是作業(yè)運(yùn)行控制相關(guān)的數(shù)據(jù)信息,如系統(tǒng)配置參數(shù)或作業(yè)配置信息、狀態(tài)信息和運(yùn)行日志信息等。在統(tǒng)一架構(gòu)中,數(shù)據(jù)庫(kù)模塊分為兩層,一層是總行層,另外一層是分行層。無(wú)論是總行還是分行,數(shù)據(jù)庫(kù)都是由管理類數(shù)據(jù)庫(kù)和業(yè)務(wù)類數(shù)據(jù)庫(kù)組成。在管理庫(kù)的具體部署時(shí),可能只部署在總行,所有 ETL Server 都訪問(wèn)這個(gè)管理庫(kù),分行的 ETL Server 通過(guò)跨越廣域網(wǎng)的數(shù)據(jù)庫(kù)連接訪問(wèn)管理庫(kù)。管理庫(kù)的信息分為三類:? 系統(tǒng)參數(shù)和作業(yè)配置信息:靜態(tài)參數(shù);? 狀態(tài)信息: 屬于控制類的動(dòng)態(tài)信息;? 日志信息; ETL 流程設(shè)計(jì)系統(tǒng) ETL 設(shè)計(jì)流程如下圖:43 / 47本系統(tǒng) ETL 處理流程順序概要描述如下:1. 調(diào)度程序在總行的調(diào)度服務(wù)器上面運(yùn)行,當(dāng)調(diào)度程序發(fā)現(xiàn)某個(gè)作業(yè)符合調(diào)度條件,就對(duì)其進(jìn)行調(diào)度,將該 JOB 的 ID 發(fā)給該 JOB 所在域的ETL SERVER。2. ETL SERVER 得到調(diào)度的調(diào)度指令后,根據(jù) JOB ID,先到所在域中的管理類數(shù)據(jù)庫(kù)中 JOB 實(shí)例表中查找該 JOB,判斷該 JOB 的狀態(tài)是否正確,查找該 JOB 的前序 JOB 是否完成,然后在 JOB 參數(shù)表中查找該 JOB 對(duì)應(yīng)的各種參數(shù),為作業(yè)的運(yùn)行解析和準(zhǔn)備參數(shù),同時(shí)到所在域的業(yè)務(wù)類數(shù)據(jù)庫(kù)中查找各種輸入文件是否存在,如果條件都滿足,則 JOB 可以運(yùn)行。44 / 473. 3.ETL SERVER 對(duì) JOB 的類型進(jìn)行判斷,如果是普通的 SHELL JOB 或者EXEC JOB,則根據(jù) JOB 實(shí)例表中的 NODES_LIST(該作業(yè)可使用的節(jié)點(diǎn)列表),計(jì)劃在本域中分配一個(gè) ETL CLIENT 給 JOB 運(yùn)行,如果是 DS JOB,則根據(jù) JOB 實(shí)例表中的 NODES_NEED(運(yùn)行該作業(yè)所需節(jié)點(diǎn)數(shù))和NODES_LIST(該作業(yè)可使用的節(jié)點(diǎn)列表)得到該 JOB 運(yùn)行所需的結(jié)點(diǎn)個(gè)數(shù)以及所能夠運(yùn)行該 JOB 的結(jié)點(diǎn)列表。4. 在每個(gè) ETL CLIENT 上都安裝著用于獲取結(jié)點(diǎn)資源情況的 RESOURCE AGENT,這些 AGENT 每隔一定的時(shí)間間隔,就會(huì)將本臺(tái) CLIENT 上的系統(tǒng)資源使用情況,如:CPU 使用率,MEMORY 使用率,I/O 等待情況等寫(xiě)入所屬域的管理類數(shù)據(jù)庫(kù)中的結(jié)點(diǎn)使用情況表中。5. ETL SERVER 在得到 JOB 運(yùn)行的結(jié)點(diǎn)個(gè)數(shù)和能夠運(yùn)行該 JOB 的結(jié)點(diǎn)列表后,根據(jù)本域的管理類數(shù)據(jù)庫(kù)中結(jié)點(diǎn)的使用情況表,按照一定的策略對(duì)能夠運(yùn)行該 JOB 的結(jié)點(diǎn)列表進(jìn)行排序,選出最優(yōu)的若干個(gè) ETL CLIENT。然后根據(jù)結(jié)點(diǎn)情況,動(dòng)態(tài)生成 JOB 運(yùn)行配置文件。然后根據(jù)運(yùn)行配置文件,將 JOB 分配給各個(gè) ETL CLIENT 執(zhí)行。6. ETL CLIENT 開(kāi)始執(zhí)行 JOB,無(wú)論 JOB 運(yùn)行成功還是失敗,都將各種運(yùn)行信息反饋給所屬域的 ETL SERVER。7. ETL SERVER 得到 ETL CLIENT 的反饋信息后,將其寫(xiě)入日志,并設(shè)置JOB 的狀態(tài),同時(shí)釋放結(jié)點(diǎn)的資源。8. ETL SERVER 將作業(yè)運(yùn)行的情況通過(guò)退出碼的方式反饋給調(diào)度程序。45 / 47 動(dòng)態(tài)資源分配R e s o u r c e B r o k e rR e s o u r c eA g e n tN o d e 1R e s o u r c eA g e n tN o d e 2R e s o u r c eA g e n tN o d e NR e s o u r c eA g e n tD B S e r v e r. . . 節(jié)點(diǎn)資源實(shí)時(shí)信息T C P / I P T C P / I P T C P / I P T C P / I P更新E T L S e r v e rE T L C l i e n tE T L 域上圖為本系統(tǒng)的動(dòng)態(tài)資源采集模塊的邏輯結(jié)構(gòu)圖,其目的是實(shí)時(shí)采集整個(gè)ETL 域中各節(jié)點(diǎn)的系統(tǒng)資源使用情況,以及檢測(cè)節(jié)點(diǎn)運(yùn)行狀態(tài)是否正常,以作為動(dòng)態(tài)資源分配的主要依據(jù)。Resource Agent:運(yùn)行于域中所有節(jié)點(diǎn)(包括主節(jié)點(diǎn))之上的一個(gè)守護(hù)進(jìn)程,負(fù)責(zé)按照一定的時(shí)間間隔采集當(dāng)前節(jié)點(diǎn)的各種系統(tǒng)資源(CPU 使用情況,內(nèi)存使用情況)使用情況,磁盤(pán) I/O 使用情況,是否存在故障) ,并通過(guò) TCP/IP 和運(yùn)行于主節(jié)點(diǎn)上的 Resource Broker 進(jìn)程進(jìn)行通信,將當(dāng)前節(jié)點(diǎn)的系統(tǒng)資源使用情況匯報(bào)給 ETL Server;Resource Broker:運(yùn)行于域中 ETL Server 之上的一個(gè)守護(hù)進(jìn)程,負(fù)責(zé)j 接收來(lái)自域內(nèi)節(jié)點(diǎn)的連接請(qǐng)求,記錄請(qǐng)求節(jié)點(diǎn)的系統(tǒng)資源使用情況;如果域中某個(gè)節(jié)點(diǎn)超過(guò)指定的時(shí)間間隔沒(méi)有發(fā)送資源報(bào)告,則將該節(jié)點(diǎn)置為故障,該節(jié)點(diǎn)將不會(huì)被分配來(lái)運(yùn)行任務(wù),如果此后收到該節(jié)點(diǎn)的資源報(bào)告請(qǐng)求,則將該節(jié)點(diǎn)狀態(tài)置為活動(dòng)。客戶端與服務(wù)端采用 C/S 通信模式,通過(guò) TCP 協(xié)議傳送信息,這樣做的好處是:? 避免工作節(jié)點(diǎn)直接訪問(wèn)管理庫(kù),訪問(wèn)管理庫(kù)的工作統(tǒng)一ETL Server來(lái)完成,從而提高了應(yīng)用部署的適應(yīng)能力;46 / 47? ETL Server可以據(jù)此檢測(cè)所有工作節(jié)點(diǎn)是否存在故障;客戶端負(fù)責(zé)采集信息發(fā)送到服務(wù)端,服務(wù)端接收信息,并寫(xiě)到數(shù)據(jù)庫(kù)。對(duì)于每個(gè)客戶端的連接,服務(wù)端 fork 出一個(gè)子進(jìn)程處理。服務(wù)端與客戶端作為daemon 進(jìn)程,要求能夠長(zhǎng)時(shí)間運(yùn)行。應(yīng)該能接受收 SIGQUIT, SIGTERM, SIGHUP 信號(hào),完成退出并清理進(jìn)程資源。在 EDW 中,將由成千上萬(wàn)的作業(yè)來(lái)完成數(shù)據(jù)整和的功能,這些作業(yè)由于復(fù)雜度不同,運(yùn)行頻度不同,甚至是同一個(gè)作業(yè),由于數(shù)據(jù)來(lái)源不同(例如不同的分行),數(shù)據(jù)規(guī)模也是相差甚遠(yuǎn)的,因此如果對(duì)所有的作業(yè)使用相同的配置文件,將對(duì)系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1