1. 程式人生 > >ETL(kettle)實戰三:資料抽取規範

ETL(kettle)實戰三:資料抽取規範

寫在前面:上一篇談到的規則及這一篇談到的規範都是本人的經驗總結,不代表一定正確。

kettle開發規範:

1. 對於會發生變化的因素要用變數替換,不能寫死。根據需求嚴格區分在未來哪些有可能變化的,哪些一定會變化的及哪些是不變的,如做增量資料抽取時,增量的時間範圍未來就是有可能會發生變化的。通常情況下資料庫是一定會變化的(開發環境和測試環境及生產環境通常都是不一樣的),變數要控制作用域,即合理的用全域性變數和區域性變數,上篇有簡單介紹。常用的變數因素有:資料庫、檔案路徑、時間範圍。

2. 資料夾命名要友好。如專案project的資料抽取資料夾有../project/job/、../project/transformation/、../project/sql/、../project/files/。分別存放資料抽取的任務指令碼、轉換指令碼、sql指令碼和要用到的原始檔,如果區分全量和增量還需要在加一層,用../whole和../increment區分。之所以這樣是防止指令碼過多放在一起不容易區分,導致誤操作可能性大。

3. 就近原則,表對錶抽取,只用轉換做純sql做不了的事。sql指令碼能解決的就用sql指令碼,且如果能用外部檔案的方式,一定要用外部檔案的方式。因為轉換是通過記憶體處理,然後才去操作資料庫,而sql是直接操作資料庫,效能上會有提升,而且sql維護渠道比較多。

4. 檔案抽取到資料庫,一次性的不要用kettle。定時更新的可以用kettle。簡單的用檔案轉換步驟,就上一篇截圖中的各種輸入檔案步驟,複雜的用java程式碼,(下篇的ftp會詳說,日誌不會輸出檔案條目數,需要自己建日子表記錄)。

結語:規範其實是根據自己的喜好定的,不一定適合其他人。規範只針對本人用過的,實操過的功能,還有很多沒用到過得功能都沒有寫,等以後用到了在補上。如果你看到此文,並且有想法歡迎留言。

相關推薦

ETLkettle實戰資料抽取規範

寫在前面:上一篇談到的規則及這一篇談到的規範都是本人的經驗總結,不代表一定正確。 kettle開發規範: 1. 對於會發生變化的因素要用變數替換,不能寫死。根據需求嚴格區分在未來哪些有可能變化的,哪些一定會變化的及哪些是不變的,如做增量資料抽取時,增量的時間範圍未來就是有

ETLkettle實戰kettle安裝

抽資料快半年了,總結下這半年來的工作。 ETL安裝,安裝依賴jdk8(自行安裝,jdk需要配置環境變數) 下載ETL工具.kettle穩定版 (windows,linux通用) 下載後的檔案是壓縮包

微信小程式實戰——請求後臺資料微信小程式+laravel

1.剛開始是本地測試連結資料庫,傳遞死資料,為了將前後流程走通,也就是給定一個數據                                        從前臺——》到後臺——》前臺顯示;2.現

【遠端呼叫框架】如何實現一個簡單的RPC框架優化軟負載中心設計與實現

【如何實現一個簡單的RPC框架】系列文章: 1.前言 在部落格【遠端呼叫框架】如何實現一個簡單的RPC框架(一)想法與設計中我們介紹了“服務註冊查詢中心”,負責服務資訊的管理即服務的註冊以及查詢,在目前為止的實現中,我們採用web應用的方式,以

python爬蟲筆記:實戰股票資料定向爬蟲

目標分析及描述#CrawBaiduStocksA.py import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url): try:

Struts2資料標籤使用Sparam標籤的種賦值方法

1.新建JavaBean的例項:Java程式碼 package com.wl.control.Bean; public class UserInfo { private String name;

流式大資料處理 實時種框架Storm,Spark和Samza

摘要:許多分散式計算系統都可以實時或接近實時地處理大資料流。本文將對Storm、Spark和Samza等三種Apache框架分別進行簡單介紹,然後嘗試快速、高度概述其異同。 許多分散式計算系統都可以實時或接近實時地處理大資料流。本文將對三種Apache框架分別進行簡單介紹,

【10月31日】機器學習實戰決策樹隱形眼鏡資料

決策樹的優點:計算的複雜度不高,輸出的結果易於理解,對中間值的確實不敏感,可以處理不相關的特徵資料 決策樹的缺點:可能會產生過度匹配的問題。 其本質的思想是通過尋找區分度最好的特徵(屬性),用於支援分類規則的制定。 那麼哪些特徵是區分度好的,哪些特徵是區分度壞的呢?換句話說

深度學習TensorFlow環境搭建Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3

缺失 應該 否則 wid -c 方式 *** 也不能 collected   緊接著上一篇的文章《深度學習(TensorFlow)環境搭建:(二)Ubuntu16.04+1080Ti顯卡驅動》,這篇文章,主要講解如何安裝CUDA+CUDNN,不過前提是我們是已經把NVID

學習之路淺談種語句結構,vim編輯器快捷鍵及使用方法,find命令使用

vim編輯器循環;forwhileuntil for 變量 in 列表; do 循環體 done e.g for I in ‘seq 1 $FILE‘ ; doecho "Hello,‘head -n $I

項目實戰響應式首頁內容介紹

page 理學 nta CP msu 內部 edi OS oos 一、首頁內容介紹 <%-- Created by IntelliJ IDEA. User: shyroke Date: 2018/6/13 0013 Time: 17:18 To

20172310《程式設計與資料結構》實驗二二叉樹實驗報告

20172310《程式設計與資料結構》(下)實驗二:二叉樹實驗報告 報告封面 課程:《軟體結構與資料結構》 班級: 1723 姓名: 仇夏 學號:20172310 實驗教師:王志強老師 實驗日期:2018年11月3日-2018年11月9日 必修選修: 必修 實驗二-1-

21進階JS 裡的資料

js的歷史 資料型別        谷歌搜尋   方應杭 es5 特性   進階:JS 裡的資料 optional chain 的用法 console.log(obj?.a?.b?.c?.name) JS的資料型別

EonStor GSe Pro 1000詳解攻略內功深厚提升效能的資料服務

最大800GB的SSD快取池 快取是一個透明儲存資料的元件,以便將來可以更高效的處理資料請求,是儲存的核心組成部分之一,特別適合讀密集型的應用。由於控制器的記憶體容量有限,SSD快取能夠利用高速的SSD來擴充套件儲存系統的快取池容量,並且儲存經常訪問的資料。隨著SSD快取容量的增加,更多熱資料可以儲存在SS

資料ETL實踐探索3---- pyspark 之大資料ETL利器

5.spark dataframe 資料匯入Elasticsearch 5.1 dataframe 及環境初始化 初始化, spark 第三方網站下載包:elasticsearch-spark-20_2.11-6.1.1.jar http://spark.apache.org/t

python核心程式設計第學習筆記正則表示式

注:下面有些內容不全都來源於原著,這些都是通過各方面的資料收集合並的結果。 目錄 1、元字元 3、邊界詞 4、分組詞 一、正則表示式介紹 正則表示式為高階的文字模式匹配、抽取、與/或文字形式的搜尋和替換功

《好好學習》閱讀筆記自己的臨界知識

目錄 對世界充滿好奇,獨立思考 自己的臨界知識來源 1.自己感興趣的領域的重要知識(針對已存在儲備理論規律) ----與後一章 興趣與天賦的關係一起看    瞭解事物背後的規律之後還需要進一步找到結論的原始出處,這樣會對結論的成立條件有更清楚的認識,

Python資料分析與挖掘學習筆記4淘寶商品資料探索與清洗實戰

一、相關理論: 資料探索的核心: (1)資料質量分析(跟資料清洗密切聯絡) (2)資料特徵分析(分佈、對比、週期性、相關性、常見統計量等) 資料清洗的步驟: (1)缺失值處理(通過describe與len直接發現、通過0資料發現) (2)異常值處理(通過散點圖發現

Python爬蟲BeautifulSoup實戰抓取豆瓣讀書新書速遞模組

import requests from bs4 import BeautifulSoup html = requests.get('https://book.douban.com/').text s

2.1Python基礎語法之註釋與資料型別

返回總目錄 目錄: 1.註釋 2.亂碼 3.變數 4.資料型別 5.資料的轉換 6.動態,靜態和強型別,弱型別 (一)註釋:(編譯時是被編譯器忽略的) 1.註釋的分類: 2.特殊註釋: (二)亂碼:(主要出現在2.x版本) 對亂碼的理解: 其實出