日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据加载操作手册

發布時間:2024/9/27 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据加载操作手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

          • 一、基礎資料準備
            • 1.1.表名規約
            • 1.2.設計1套臨時表和1套同構層表
            • 1.3.存儲過程
          • 二、流程規范
            • 2.1. 生成控制文件(.ctl)
            • 2.2. 拉取ods推送的數據文件
            • 2.3. 數據加載+數據同步
          • 三、手動調度
            • 3.1. 到下載的數據文件路徑:
            • 3.2. 數據文件篩選
            • 3.3. 將要加載的表的備份表清空;
            • 3.4. 數據加載腳本執行
            • 3.5. sql還原
          • 四、輪詢定時調度
            • 4.1. 設置腳本執行頻次
            • 4.2. 設置執行頻次
            • 4.3. 定時任務查看
          • 五、日志軌跡

簡述:
將ods推送的數據文件,加載到數據庫的臨時B表中,然后通過存儲過程將臨時B表中的數據同步到目標A表中。
注:臨時B表結構和目標A表表結構必須一致,同步失敗。

一、基礎資料準備
1.1.表名規約

ods同步表的表名稱、字段名稱、字段數量規范,雙方需要提前約定好,一旦約定好不允許修改,否則加載數據和同步數據會失敗。

1.2.設計1套臨時表和1套同構層表

臨時B表作用:將ods推送的數據文件內容加載到數據庫的臨時表中,每次執行腳本臨時表中的數據會清空。
注:臨時B表可以理解為緩沖區

同構層表作用:保存或者備份推送過來的數據,數據不會也不允許更改。
同構層表目的:查閱數據問題可以直接查閱同構層表的數據,不用請求其他系統咨詢,減少時間損耗和提高數據區配的效率。

1.3.存儲過程

設計與表關系為1:1的存儲過程
存儲過程作用:將臨時B表中的數據同步到目標的A表中。
注:同步數據種類:有全量-0和增量-1

二、流程規范
2.1. 生成控制文件(.ctl)
cd /app/jiazai/sql_loadv1.0/control/ rm -rf new.unl old.unl file/ sh ./new.sh
2.2. 拉取ods推送的數據文件
#進入sql_loadv1.0下面 cd /app/jiazai/sql_loadv1.0/ #拉取ods推送指定日期的數據文件 #格式:sh load.sh 年月日 案例:sh load.sh 20201027
2.3. 數據加載+數據同步

將數據文件的數據加載到臨時B表 把臨時表到B表數據同步到目標A表
#進入拉取的某一天數據文件的目錄

cd /app/jiazai/sql_loadv1.0/loaded/20201027/

#1.將數據文件中的數據加載到數據庫中的臨時B表中
#2.將數據庫中的臨時B表中的數據同步到目標A表中

sh run_sqlldr.sh

注:run_sqlldr.sh這個腳本做了2件事情

三、手動調度

如當天的調度出現問題,修正后,想手動指定跑某張表的數據

3.1. 到下載的數據文件路徑:

例:/app/jiazai/sql_loadv1.0/loaded/20180918

3.2. 數據文件篩選

修改/app/jiazai/sql_loadv1.0/loaded/加載的數據文件日期/f.unl:只保留需要加載的批次表信息(簡言之,那個表的數據沒有加載成功,只留下對應這個表的數據文件即可。
這是有數據的全部數據文件)

案例:
如果:20201027這一天dbx_ljtempfee 表數據加載失敗,就留下dir.ods.dbx_ljtempfee.20201027.000.01.i這一行,把其他數據文件刪除。

3.3. 將要加載的表的備份表清空;

例:T01_INDV_CUST_HB
修改/app/jiazai/sql_loadv1.0/sql/truncateyw.sql
只保留TRUNCATE TABLE T01_INDV_CUST_HB;
在/app/jiazai/sql_loadv1.0/loaded/20201027路徑下執行

sh truncateyw.sh
3.4. 數據加載腳本執行
cd /app/jiazai/sql_loadv1.0/loaded/20201027/ sh ./run_sqlldr.sh
3.5. sql還原

將/app/jiazai/sql_loadv1.0/sql/truncateyw.sql還原

四、輪詢定時調度

定時每天調用/app/jiazai/sql_loadv1.0/hxloadupgrade.sh
自動將前一天的數據加載到行協test用戶下的表中。

4.1. 設置腳本執行頻次

編輯定時任務配置文件:

crontab –e
4.2. 設置執行頻次
案例:每天上午10:15觸發:0 15 10 * * ? /app/jiazai/sql_loadv1.0/hxloadupgrade.sh
4.3. 定時任務查看
crontab -l
五、日志軌跡

第一次初始化:
待ODS將全部數據文件推送至數據交換平臺后,手動在 /app/jiazai/sql_loadv1.0路徑下執行sh load.sh 要加載的數據文件夾名(例:sh load.sh 20201027)
生成的日志文件在以下兩個文件夾下:
/app/jiazai/sql_loadv1.0/hx_loadlog
/app/jiazai/sql_loadv1.0/loaded/日期(例如:20201027)/load/log
可以去數據庫中的日志表查詢
load_log 記錄表加載入備份表的狀態
LOAD_PL_LOG記錄表從備份表到目標表正確的狀態
LOAD_PL_ERROR_LOG記錄表從備份表到目標表錯誤的狀態
例:

SELECT * FROM load_log where to_Char(load_time,'yyyymmdd') =20200330 ; --實際加載日期 SELECT * FROM LOAD_PL_LOG where to_Char(s_time,'yyyymmdd') =20200330 ;--實際加載日期 SELECT * FROM LOAD_PL_ERROR_LOG where to_Char(s_time,'yyyymmdd') =20200330 ;--實際加載日期

注意:
如果第一次初始話在凌晨3點前完成數據加載,則crontab -e
解除定時的注釋,以后每天3:00-9:00會自動加載調用。

如果第一次初始化不能在凌晨3點前加載完成、或日后出現9點前未將32張接口表數據文件全部推送完成、或ODS修復數據重新推數,需運維手動調用進行加載完成后,再crontab -e
解除定時的注釋,以后每天3:00-9:00會自動加載調用
如運維手動調用:
/app/jiazai/sql_loadv1.0路徑下執行sh loadyw.sh 要下載的數據文件夾名
腳本運行完成后,去數據庫中確認以下26張表中數據是否全部被刪除

確認無誤后到
/app/jiazai/sql_loadv1.0/loaded/日期(就是所要加載的數據文件夾名例如:20201027)路徑下執行

sh run_sqlldr.sh

輪詢定時調度:
定時每天調用/app/jiazai/sql_loadv1.0/hxloadupgrade.sh
自動將前一天的數據加載到行協test用戶下的表中。
定時查看:crontab -l

ODS數據文件從數據交換平臺下載到:
/app/jiazai/sql_loadv1.0/loaded/指定日期文件夾
例:/app/jiazai/sql_loadv1.0/loaded/20201027路徑下
裝載后的數據文件存放在:(如果有失敗的表,路徑下會產生*.bad文件)
例:/app/jiazai/sql_loadv1.0/loaded/20201027/load/data路徑下

如當天的裝載有失敗的表,需查看日志確定原因。
查看每張表裝載日志:
例:/app/jiazai/sql_loadv1.0/loaded/20201027/load/log/表名.log
數據庫中的日志表:

表名作用
load_z_log每天只生成1條記錄,記錄每天整體裝載情況
load_log記錄表加載入備份表的狀態
LOAD_PL_LOG記錄表從備份表到目標表正確的狀態
LOAD_PL_ERROR_LOG記錄表從備份表到目標表錯誤的狀態

總結

以上是生活随笔為你收集整理的数据加载操作手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。