資料庫相關 ETL 實習筆記

2021-06-09 11:16:09 字數 2850 閱讀 7929

1 oracle操作:

1) 插入日期:insert into tablename values(to_date(『2011-1-1』,『yyyy-mm-dd』));

2) 將乙個表的資料匯入另乙個表:(要求字段個數一致,最好型別也一致)   :insert into tablename1 select * from tablename2;

3) decode(列,條件1,結果1,

條件2,結果2,……)別名     //相當於case

4) 計算月份:count(distinct(to_char(sal_date,『yyyy-mm-dd』)))

5) exists:是否存在一行符合某條件的數,返回值為真或者假

substring(str,n1,n2):n1表示開始位置,n2表示長度。擷取字串

6) exp表示指數,#表示臨時表。

7) alter table [ modify | add | drop ]

8) 所有使用者:public       允許轉授權利:with grant option

2 索引

1) 單錶索引:create index 索引名  on 表 (字段)                            //oracle 是從後往前執行

2) 多列索引:(順序很重要,篩選量大的放在後面)

3) 注意條件: 資料量大;對有意義的字段建;索引層次不要超過4次(列);不要在邏輯性字段建立索引(如:男、女)

3 erwin

實線:有約束,有依賴 。 強制約束

虛線:無約束。非強制約束

4 informatica

w:資料流向(排程平台)

m:檢視工作流狀態

r:設定執行環境(管理等,建檔案等)

2)檔案到庫:.xls   ->    .csv(逗號分隔符)      source->import

(1) .xls  ->   .csv;  (2) 將.csv檔案傳到伺服器上;(3) import file(目標)從本機   表結構(並在實際的資料庫中建立相應的資料表);(4) 在目標設定型別為oracle(資料庫)

注:在w中,要對工作的流向進行設定。   normal,cognos(使用者名稱)

3) 控制項 :

(1) sequence:123   處置;步徑(每次增加多少)      (必須有主鍵)     cycle:迴圈    reset:到達最大值,變為當前值

(2) rank :取n條資料:從前至後(top),從後至前(button)

(3)  分組:按照表資料分組,未必是相同的一組,可以使某個範圍的一組        -e      router

(4)  排序:a->z  sorter

(5) 增量抽取:(放大鏡    look up):只針對資料庫中的新增資料。   針對有主鍵的,若無主鍵,則不能用一般用法做。

i           i

target    source

5  datastage

1) designer  server job:   table define:導目標表(表結構)   import

2) 資料庫:properties

3) 控制項 :filter:過濾器     external  filter:外部過濾器

aggregator:聚合器

funnel:漏斗

join :連線

lookup :增量抽取

merge :合併

sort :排序

switch :選擇開關

transformer :轉換

6 cognos

1)分別安裝transformer 和 manager(安裝路徑分開),並將開始選單名稱更改一下,以示區別

配置:看伺服器如何配置,將兩處換將配置配好後點檔案另存為utf-8.

2)framework manager:

(1)create ->why/123 ->中文->data sources

(2)new -> why_test ->連線字串 ->測試

(3)匯入表:選中需要匯入的表->next->import->finish

(4)先建 relationship(建立關係連線),然後建立qurry subject。選擇需要查詢的字段(也

可以進行編輯)

(5)建立包,並發布

3)cube:建包並發布->使用transformer進行轉換(選擇需要的字段)->生成cube ->網頁上轉換 -> report studio 中開啟。

注:維度的概念:從哪個方向去看,比如時間維度,銷售維度等。

度量的概念:報表中的職能是度量(資料型別的)

7 unix

1) 並行:crontab

du:顯示檔案大小              du -k:位元組的方式     du -m:

df -k:掛裝置大小

ps :程序

|:管道

grep:查詢

find :查詢檔案

chgrp:修改組

sed :替換

exec:執行

遠端登入:rlogin、telnet(必須配置  /etc/目標檔案);   rcp:遠端拷貝;     ftp:遠端登入某主機取檔案;   mget:批量

>:帶建立檔案功能

>>:只能在檔案已存在的情況下使用

cat 檔名|grep 'error'   :

shell: ·expr 2+3·  :算術運算              執行:ksh   ***.sh      後台 :&      $#:接受引數的個數

環境配置:.profile :export path = "$oracle_home/bin:$path"

測試:sqlplus system/admin

ETL 準備資料庫

為了接下去的教程,我們需要先準備資料庫,通過新舊資料庫的遷移,來演示如何使用 pdi 工具。讓我們建立如下資料庫結構 舊資料庫 訂單表 create table order id int 10 unsigned not null auto increment,code varchar 40 char...

ETL之資料庫

今天剛剛註冊非常激動。今天先分享一下etl是幹什麼的。etl全稱 extraction transformation loading,中文名資料抽取 轉換和載入。etl負責將分布的 異構資料來源中的資料如關係資料 平面資料檔案等抽取到臨時中間層後進行清洗 轉換 整合,最後載入到資料倉儲或資料集市中,...

資料庫相關筆記

第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 巴斯 科德正規化 bcnf 第四正規化 4nf 和第五正規化 5nf,又稱完美正規化 資料庫表的每一列都是不可分割的原子資料項,而不是陣列 集合。即實體中的某個屬性有多值 時,必須拆分為不同的屬性。在符合第一正規化 1nf 表中的每個域值只...