ClothesEveryday P1 Prepare OracleODI ROLAP data 20141024 2025

background image

ClothesEveryday

Etap 1.

Oracle Data Integrator

– Proces Transportu Danych

Oracle 11g2 (12c)

Baza OLAP w układzie

gwiazdy

Oracle DI

Część 1: Przygotowanie architektury danych

2014-10-24

Clothes Everywhere (Rafał Kowalski)

1

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

Projekt: ETL_Clothes_Everyday_IMPORT

Dane źródłowe

OLAP Datamart

background image

ClothesEveryday -

ROLAP

(relacyjny model danych)

Zadanie polega na wygenerowaniu relacyjnej bazy danych analitycznych
ClothesEveryday” w układzie gwiazdy, którego model relacyjny jest przedstawiony na
diagramie poniżej:

?

2014-10-24

Clothes Everywhere (Rafał Kowalski)

2

background image

ClothesEveryday -

ROLAP

(logiczny model danych)

FAKTY, MIARY, WYMIARY, HIERARCHIE

Fakt(SALES)

Wymiar(CHANNEL)

Wymiar(PRODUCT)

wymiar(CUSTOMER)

wymiar(CUSTOMER)

MIARY

2014-10-24

Clothes Everywhere (Rafał Kowalski)

3

wymiar(DATE)

background image

ClothesEveryday - Hierarchia Wymiaru Logicznego:

CHANNEL

nazwa poziomu

identyfikator i atrybuty dodatkowe

przykładowe wartości

TOTAL

(brak)

CLASS

channel_class

Direct

CHANNEL

channel_id

channel_desc

T’,

’Tele Sales’

2014-10-24

Clothes Everywhere (Rafał Kowalski)

4

background image

ClothesEveryday - Hierarchia Wymiaru Logicznego:

PRODUCT

nazwa poziomu

identyfikator i atrybuty dodatkowe przykładowe wartości

TOTAL

(brak)

CATEGORY

prod_category

Boys

SUBCATEGORY

prod_subcategory

Shirts - Boys’,

PRODUCT Name

prod_name

‘Yuma 7cm Tee Kids’

PRODUCT Detal

Prod_id

prod_desc

4690

‘this is the famous Yuma 7cm Tee

Kids in color black of size XXL’

2014-10-24

Clothes Everywhere (Rafał Kowalski)

5

background image

ClothesEveryday - Hierarchia Wymiaru Logicznego:

DATE

nazwa poziomu

identyfikator i atrybuty dodatkowe

przykładowe wartości

TOTAL

(brak)

YEAR

calendar_year_num_long

2000

QUARTER

calendar_quarter_yq_num

calendar_quarter_num,
calendar_quarter_yq_long

20003

3
2000 K3

MONTH

calendar_month_ym_num

calendar_month_nam_short,
calendar_month_nam_long,
calendar_month_num,
calendar_month_ym_short,
calendar_month_ym_long,

200009

Sep
September
9
2000 Sep
2000 September

2014-10-24

Clothes Everywhere (Rafał Kowalski)

6

calendar_month_ym_long,
calendar_month_ym_mshort,
calendar_month_ym_mlong

2000 September
2000/09 Sep
2000/09 September

DAY

date_id

07.09.2000 00:00:00

background image

ClothesEveryday - Hierarchia Wymiaru Logicznego:

CUSTOMER

nazwa poziomu

identyfikator i atrybuty dodatkowe

przykładowe wartości

TOTAL

(brak)

CONTINENT

country_region

Europe

COUNTRY

country_id

country_name

PL’,

’Poland’

REGION

cust_state_province

Dolnoslaskie

CITY

cust_city

Wroclaw

CUSTOMER

cust_id

78769

2014-10-24

Clothes Everywhere (Rafał Kowalski)

7

background image

Schematy bazy danych: clothes_everyday – produkcyjny, clothes_everyday_test – testowy

1.

Uruchomić program Oracle
BI Administration Tool

DROP USER clothes_everyday CASCADE;
CREATE USER clothes_everyday IDENTIFIED BY krzaczek123
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp account unlock;
GRANT CONNECT, RESOURCE, CREATE VIEW TO clothes_everyday;

DROP USER clothes_everyday_test CASCADE;
CREATE USER clothes_everyday_test IDENTIFIED BY krzaczek123
DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp account unlock;

1. Uruchomić program Oracle SQL Developer.
Zalogować się na konto

sys

i stworzyć dwa schematy do

testowania procesu zasilania bazy przy pomocy ODI.

2014-10-24

Clothes Everywhere (Rafał Kowalski)

8

DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp account unlock;

GRANT CONNECT, RESOURCE ,CREATE VIEW TO clothes_everyday_test;

/* ================================================================
-- Przestrzeń tabel zostaa stworzona wcześniej.
-- W tym ćwiczeniu nie należy jej kasować !!!
DROP TABLESPACE clothes_everyday_tbs;
CREATE BIGFILE TABLESPACE "CLOTHES_EVERYDAY_TBS"

DATAFILE 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\CLOTHES_EVERYDAY_TBS.DBF'
SIZE 1024M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

*/

ALTER USER clothes_everyday

QUOTA UNLIMITED ON clothes_everyday_tbs;

ALTER USER clothes_everyday_test QUOTA UNLIMITED ON clothes_everyday_tbs;

background image

Nowy projekt ODI

2. Zalogować się do repozytorium ODI.
Hasło

:

krzaczek123

2014-10-24

Clothes Everywhere (Rafał Kowalski)

9

background image

Dwa konteksty działania

zadań:

Testing

i

Production

2014-10-24

Clothes Everywhere (Rafał Kowalski)

10

background image

Architektury fizyczne Oracle (fizyczne serwery) dla dwóch kontekstów działania

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

11

1

3

background image

Schematy fizyczne Oracle (fizyczne bazy danych ETL) dla dwóch kontekstów działania

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

12

3

1

background image

Architektura logiczna Oracle (Logiczny serwer ETL) niezależna od kontekstu działania

1

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

13

2

background image

Model Oracle (Logiczna baza ETL) niezależna od kontekstu działania

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

14

Reinżynieria modelu i stworzenie metadanych
tabel zostanie wykonane w czasie późniejszym,
po stworzeniu tabel obszaru ETL

3

background image

Fizyczny schemat katalogu plików tekstowych

dla dwóch kontekstów działania

ETL

3. Stworzyć folder do

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

15

C:\temp\ETL_ClothesEveryday_FILE

3. Stworzyć folder do
przechowywania plików
tekstowych

3

4

background image

Logiczny schemat katalogu plików tekstowych

źródło danych

ETL

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

16

background image

Model danych katalogu plików tekstowych

źródło danych

ETL

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

17

3

background image

ClothesEveryday

Etap 1.

Oracle Data Integrator

– Proces Transportu Danych

Oracle 11g2 (12c)

Baza OLAP w układzie

gwiazdy

Oracle DI

Część 2: Tworzenie pakietu procedur pomocniczych

2014-10-24

Clothes Everywhere (Rafał Kowalski)

18

Projekt: ETL_Clothes_Everyday_IMPORT

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

Projekt: ETL_Clothes_Everyday_IMPORT

Dane źródłowe

OLAP Datamart

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Drop_Tables_DM

2

1

4

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

19

5

3

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Drop_Tables_DM

4. W analogiczny sposób stworzyć polecenia dropowania
pozostałych tabel schematu ClothesEveryday:
-- =========================================

1,2,3,4,5

2014-10-24

Clothes Everywhere (Rafał Kowalski)

20

-- =========================================
-- Drop Schema Objects
-- =========================================
DROP TABLE ce_channels CASCADE CONSTRAINTS;
DROP TABLE ce_countries CASCADE CONSTRAINT;
DROP TABLE ce_customers CASCADE CONSTRAINTS;
DROP TABLE ce_date CASCADE CONSTRAINTS;
DROP TABLE ce_products CASCADE CONSTRAINTS;
DROP TABLE ce_sales CASCADE CONSTRAINTS;

1

2

3

4

5

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Drop_Tables_DM

6. WAŻNE: Wybrać właściwy
kontext wykonania. W tym
przypadku testowanie.

1

3

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

21

5. Wykonać procedurę

2

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Drop_Tables_DM

7. Sprawdzenie wyników
wykonania procedury

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

22

W logu wykonania ostatniej procedury
widać symbole ostrzeżeń. Gdyby w definicji poleceń
nie zostały zaznaczone opcje „Ignore Errors”,
to wykonanie zostało by przerwane z błędem.

10. Po otworzeniu logu przykładowego polecenia
widać przyczynę błędu - brak tabeli nie jest,
w tym przypadku, błędem krytycznym

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Gen_Tables_DM

1

2

4

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

23

5

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Gen_Tables_DM

11. W analogiczny sposób stworzyć polecenia
generowania pozostałych tabel schematu
ClothesEveryday:

CREATE TABLE ce_countries

( country_id

CHAR(2 char) NOT NULL

, country_name

VARCHAR2(40 char) NOT NULL

, country_subregion VARCHAR2(30 char) NOT NULL
, country_region

VARCHAR2(20 char) NOT NULL

) TABLESPACE clothes_everyday_tbs;

, cust_income_level

VARCHAR2(30 char) NOT NULL

, cust_credit_limit

NUMBER(8) NOT NULL

, cust_email

VARCHAR2(30 char) NOT NULL

) TABLESPACE clothes_everyday_tbs;

CREATE TABLE ce_sales

( prod_id

NUMBER(6) NOT NULL

, cust_id

NUMBER(6) NOT NULL

, date_id

DATE NOT NULL

, channel_id

CHAR(1 char) NOT NULL

, promo_id

NUMBER(6) NOT NULL

, quantity_sold NUMBER(3) NOT NULL
, amount

NUMBER(10,2) NOT NULL

, cost

NUMBER(10,2) NOT NULL

1

1,2,3,4,5

4

5

2014-10-24

Clothes Everywhere (Rafał Kowalski)

24

CREATE TABLE ce_products

( prod_id

NUMBER(6) NOT NULL

, prod_name

VARCHAR2(50 char) NOT NULL

, prod_desc

VARCHAR2(4000 char) NOT NULL

, prod_subcategory

VARCHAR2(50 char) NOT NULL

, prod_subcat_desc

VARCHAR2(2000 char) NOT NULL

, prod_category

VARCHAR2(50 char) NOT NULL

, prod_cat_desc

VARCHAR2(2000 char) NOT NULL

, prod_weight_class

NUMBER(2) NOT NULL

, prod_unit_of_measure VARCHAR2(20 char) NOT NULL
, prod_pack_size

VARCHAR2(30 char) NOT NULL

, supplier_id

NUMBER(6) NOT NULL

, prod_status

VARCHAR2(20 char) NOT NULL

, prod_list_price

NUMBER(8,2) NOT NULL

, prod_min_price

NUMBER(8,2) NOT NULL

) TABLESPACE clothes_everyday_tbs;

CREATE TABLE ce_customers

( cust_id

NUMBER(6) NOT NULL

, cust_first_name

VARCHAR2(20 char) NOT NULL

, cust_last_name

VARCHAR2(40 char) NOT NULL

, cust_gender

CHAR(1 char) NOT NULL

, cust_year_of_birth

NUMBER(4) NOT NULL

, cust_marital_status

VARCHAR2(20 char) NOT NULL

, cust_street_address

VARCHAR2(40 char) NOT NULL

, cust_postal_code

VARCHAR2(10 char) NOT NULL

, cust_city

VARCHAR2(30 char) NOT NULL

, cust_state_province

VARCHAR2(40 char) NOT NULL

, country_id

CHAR(2 char) NOT NULL

, cust_main_phone_number VARCHAR2(25 char) NOT NULL

) TABLESPACE clothes_everyday_tbs;

CREATE TABLE ce_date

( date_id

DATE NOT NULL -- klucz wymiaru

, calendar_month_ym_num

NUMBER(6) NOT NULL -- YYYYMM klucz poziomu

, calendar_month_ym_short

NCHAR(8) NOT NULL -- YYYY Mon

, calendar_month_ym_mshort

NCHAR(11) NOT NULL -- YYYY/MM Mon

, calendar_month_ym_mlong

NVARCHAR2(25) NOT NULL -- YYYY/MM Month

, calendar_month_ym_long

NVARCHAR2(25) NOT NULL -- YYYY Month

, calendar_month_num

NUMBER(2) NOT NULL -- MM

, calendar_month_nam_short

NCHAR(3) NOT NULL -- Mon

, calendar_month_nam_long

NVARCHAR2(15) NOT NULL -- Month

, calendar_quarter_yq_num

NUMBER(5) NOT NULL -- YYYY klucz poziomu

, calendar_quarter_yq_long

NCHAR(7) NOT NULL -- YYYY kQ

, calendar_quarter_num

NUMBER(1) NOT NULL -- Q

, calendar_year_num_long

NUMBER(4) NOT NULL -- YYYY klucz poziomu

);

4

2

3

background image

Stworzenie zestawu tabel – procedura SQL:

CE_Gen_Tables_DM

13. WAŻNE: Wybrać właściwy
kontext wykonania. W tym
przypadku testowanie.

1

3

4

5

2014-10-24

Clothes Everywhere (Rafał Kowalski)

25

12. Wykonać procedurę

Zapis w logu świadczy, że tabele zostały
stworzone prawidłowo. Można to
potwierdzić przy pomocy programu
Oracle SQL Developer

2

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

26

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

27

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

28

Dwa znaki apostrof ‘ ‘

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

29

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

30

background image

Stworzenie obiektów pomocniczych – procedura SQL:

CE_Gen_Auxiliary

2. WAŻNE: Wybrać właściwy
kontext wykonania. W tym
przypadku testowanie.

3

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

31

1. Wykonać procedurę

5. Zapis w logu świadczy, że procedura została
wykonana prawidłowo.

Działanie perspektywy MOŻNA potwierdzić przy
pomocy programu Oracle SQL Developer

4

background image

Pakiet:

CE_PrepareTabDM

– Pakiet tworzący przestrzeń Data Martu

CE

CE

CE

1

2

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

32

3. Przejść do zakładki Diagram

Przenieść procedury na diagram.
Procedura przeniesiona pierwsza uzyskuje status First
Step. Można to zmieniś otwierając menu właściwości.

5

6

background image

Pakiet:

CE_PrepareTabDM

– Pakiet tworzący przestrzeń Data Martu

CE

1. Kliknięcie w ikonę strzałki
WŁĄCZA tryb łączenia
węzłów diagramu

Klikanie w węzeł początkowy i
docelowy, wprowadza połączenie

2

4

Klikanie w węzeł początkowy i
docelowy, wprowadza połączenie

Klikanie w węzeł początkowy i
docelowy, definiuje połączenie

3

7

8

5. Ponowne kliknięcie w
ikonę strzałki WYŁACZA tryb
łączenia węzłów diagramu

2014-10-24

Clothes Everywhere (Rafał Kowalski)

33

6. Potwierdzić
zapisanie zmian i
wykonać pakiet

10. Sprawdzić log
wykonania

CE

CE

7

9

background image

ClothesEveryday

Etap 1.

Oracle Data Integrator

– Proces Transportu Danych

Oracle 11g2 (12c)

Baza OLAP w układzie

gwiazdy

Oracle DI

Część 3:

Stworzenie

dwóch

przepływów

(Interfejsów) i szablonu

pakietu zasilania DM

2014-10-24

Clothes Everywhere (Rafał Kowalski)

34

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

Projekt: ETL_Clothes_Everyday_IMPORT

Dane źródłowe

Dane dla OBIEE

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

background image

Interfejs:

CE_TablesCardinality_Report

– Aktualizowanie historii zasileń obszaru CE w tabeli

DM_EtlLoadHistory

a)

Historia zasileń obszaru CE jest jest przechowywana w tabeli DM_EtlLoadHistory.

b)

Do zasilania tabeli informacjami o kolejnych zasileniach będzie wykorzystywana
perspektywa v_CE_DmTablesCardinality‘

c)

Zasilanie będzie aktualizowane przy pomocy odpowiedniego interfejsu
CE_TbsCrdnlty_Rprt

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

35

d)

Wypełnić nagłówek interfejsu i pozostawić otwarte okno jego kreatora !

e)

Przed rozpoczęciem dalszych prac trzeba przygotować metadane środowiska tabel i perspektyw, stworzonych
podczas testowania wcześniejszych etapów pracy.

f)

Przed rozpoczęciem dalszych prac trzeba uzupełnić bibliotekę modułów wiedzy projektu o moduł integracji SQL
(IKM).

1

background image

Model

ETL_Clothes_Everyday_DM

Reinżynieria Metadanych

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

36

1

W bazie logicznej ETL_Clothes_Everyday_DM (kontekst
Testing) znajdują się tabele stworzone w poprzednim etapie
przy pomocy procedury CE_Gen_Tables_DM. Proces
reinżynierii spowoduje wczytanie ich metadanych do słownika
obszaru bazy.

W bazie logicznej ETL_Clothes_Everyday_DM (kontekst
Testing) znajdują się tabele stworzone w poprzednim etapie
przy pomocy procedury CE_Gen_Tables_DM. Proces
reinżynierii spowoduje wczytanie ich metadanych do słownika
obszaru bazy.

background image

Moduły Wiedzy

Import niezbędnych modułów

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

37

Do wykonania zadania wystarczy standardowy
moduł integracji dla transformcji SQL.

3

4

background image

Interfejs:

CE_TablesCardinality_Report –

Mapowanie Metadanych

1. Powrócić do okna kreatora interfejsu

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

38

2

4

4. Funkcja automatycznego mapowania atrybutów zaoszczędzi
czas projektowania w przypadku, gdy atrybuty obydwu encji
będą miały takie same nazwy i zgodne typy danych

background image

Interfejs:

CE_TablesCardinality_Report –

Konfigurowanie Interfejsu

2. Tu kliknąć (właściwości
obszaru oczyszczania)

1. Wybrać zakładkę
przepływów

2014-10-24

Clothes Everywhere (Rafał Kowalski)

39

3. Wybrać moduł wiedzy integracji

4. Uzupełnić parametry

background image

Interfejs:

CE_TablesCardinality_Report –

Konfigurowanie Interfejsu

1. Wybrać zakładkę
mapowania

2. Jednym kliknięciem wybrać atrybut, który
nie został zmapowany automatycznie

2014-10-24

Clothes Everywhere (Rafał Kowalski)

40

3. Wprowadzić nazwę zmiennej
systemowej, określającej datę i czas
zasilania.

5. Potwierdzić wybór

4. Wybrać warstwę transportu, w której zostanie wykonane mapowanie.
W tym przypadku jest to strona docelowa – serwer Oracle

background image

Interfejs:

CE_TablesCardinality_Report –

Testowanie Interfejsu

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

41

4

5

6

7

8

Historia zasileń obszaru CE jest jest
przechowywana w tabeli DM_EtlLoadHistory.
Interfejs już działa. Tabele są na razie jeszcze
puste, co widać w kolumnie NUMROWS.

background image

Interfejs:

CE_Load_SALES

– Wczytanie danych z pliku tekstowego

ce_sales.dat

do tabeli

CE_SALES

CE

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

42

a)

Wypełnić nagłówek interfejsu i pozostawić otwarte okno. Bez wypełnienia wszystkich metadanych zapisanie
interfejsu jest niemożliwe.

b)

Przed rozpoczęciem dalszych prac trzeba przygotować metadane źródłowego pliku tekstowego

ce_sales.dat.

c)

Przed rozpoczęciem dalszych prac trzeba uzupełnić bibliotekę modułów wiedzy projektu o moduł integracji.

background image

Model

ETL_ClothesEveryday_FILES -

Definicja

Metadanych

CE_SALES

(Datastore)

1

2

3

4

2014-10-24

43

Clothes Everywhere (Rafał Kowalski)

2

5

6

background image

Magazyn danych

CE_SALES

w modelu

ETL_ClothesEveryday_FILES

1

SQLLDR

2014-10-24

44

Clothes Everywhere (Rafał Kowalski)

2

3

background image

Magazyn danych

CE_SALES

w modelu

ETL_ClothesEveryday_FILES

Uzupełnić Metadane zgodnie z
definicją tabeli:
( prod_id

NUMBER(6)

, cust_id

NUMBER(6)

, date_id

DATE

, channel_id

CHAR(1 char)

, promo_id

NUMBER(6)

, quantity_sold NUMBER(3)
, amount NUMBER(10,2)
, cost NUMBER(10,2)

1

2014-10-24

45

Clothes Everywhere (Rafał Kowalski)

2

background image

Moduły Wiedzy –

Import niezbędnych modułów

2014-10-24

Clothes Everywhere (Rafał Kowalski)

46

1. Do wykonania interfejsu potrzebne są dwa moduły wiedzy:
LKM File to Oracle (SQLLDR)
IKM SQL Control Append.
W przypadku braku na liście, trzeba je importować

1. Do wykonania interfejsu potrzebne są dwa moduły wiedzy:
LKM File to Oracle (SQLLDR)
IKM SQL Control Append.
W przypadku braku na liście, trzeba je importować

background image

Interfejs:

CE_Load_SALES

Wczytanie danych do tabeli

CE_SALES

6. Uzupełnić funkcję konwersji
daty. (kliknięcie w pole mapowania
otwiera okno edycji

1

3

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

47

5. Wybrać opcję automatycznego
mapowania.

2

4

7

8

background image

Interfejs:

CE_Load_SALES

Wczytanie danych do tabeli

CE_SALES

7. Zawartość tabeli docelowej będzie
kasowana przed rozpoczęciem nowego
importu (import nie jest przyrostowy).

1

2

5

2014-10-24

Clothes Everywhere (Rafał Kowalski)

48

4. Import po
„ścieżce bezpośredniej”.

3. Wybrać odpowiednie moduły
wiedzy dla źródła i przeznaczenia .

3,6. Wybrać odpowiednie moduły
wiedzy dla źródła i przeznaczenia.

background image

Interfejs:

CE_Load_SALES

Wczytanie danych do tabeli

CE_SALES

Zapisać interfejs i uruchomić go.

6. Sprawdzić raport:
czas całkowity: 12s.
czas importu (SQLLDR): 5s.

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

49

4. Poczekać, aż się
wykona (odświeżać
widok)

5

background image

SQLLDR

2014-10-24

Clothes Everywhere (Rafał Kowalski)

50

background image

Pakiet:

CE_Execute_ETL

Podstawowy pakiet zasilania tabel DM

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

51

5

To jest jedynie szablon procesu ETL,
zawierający pierwszy i ostatni interfejs.
W kolejnych etapach pracy będą
konfigurowane pozostałe interfejsy

3

4

background image

Pakiet:

CE_Execute_ETL

Podstawowy pakiet zasilania tabel DM

1. Zapisać pakiet

2. Wykonać pakiet

4. Sprawdzić log wykonania.

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

52

background image

Pakiet:

CE_Execute_ETL

Podstawowy pakiet zasilania tabel DM

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

53

3. Sprawdzić zawartość tabeli
z historią procesów ETL.

1

2

background image

ClothesEveryday

Etap 1.

Oracle Data Integrator

– Proces Transportu Danych

Oracle 11g2 (12c)

Baza OLAP w układzie

gwiazdy

Oracle DI

Część 4:

Stworzenie

pozostałych

przepływów

(Interfejsów)

pakietu zasilania DM

2014-10-24

Clothes Everywhere (Rafał Kowalski)

54

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

Projekt: ETL_Clothes_Everyday_IMPORT

Dane źródłowe

Dane dla OBIEE

User:

clothes_everyday
clothes_everyday_test

Password: krzaczek123

background image

Interfejs:

CE_Load_DATE

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

55

Tabela (wymiaru) CE_DATE będzie wypełniana datami faktów,
zasilonych do tabeli CE_SALES.
Tabela nie będzie czyszczona przed każdym, kolejnym
procesem zasilania, tylko uzupełniana nowymi wartościami.

background image

Interfejs:

CE_Load_DATE

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

56

1

4

Tabela (wymiaru) CE_DATE zawiera wiele kolumn, których
wartości zostaną wyliczone na podstawie daty (klucza
głównego). W tym przypadku mapowanie automatyczne
kolumn z encji źródłowej jest niepotrzebne.

background image

Interfejs:

CE_Load_DATE –

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

2. Kolumna DATE_ID jest mapowana „wprost” i można jej symbol
przeciągnąć myszką z obszaru źródła na obszar docelowy

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

57

INSERT INTO ce_date

SELECT DISTINCT

date_id

, to_char(date_id,'YYYYMM')
, to_char(date_id,'YYYY Mon')
, to_char(date_id,'YYYY') || '/' || to_char(date_id,'MM') || to_char(date_id,' Mon')
, to_char(date_id,'YYYY') || '/' || to_char(date_id,'MM') || to_char(date_id,' Month')
, to_char(date_id,'YYYY Month')
, to_char(date_id,'MM')
, to_char(date_id,'Mon')
, to_char(date_id,'Month')
, to_char(date_id,'YYYYQ')
, to_char(date_id,'YYYY') || ' K' || to_char(date_id,'Q')
, to_char(date_id,'Q')
, to_char(date_id,'YYYY')

FROM ce_sales;

3

Wartości

Wartości pozostałych kolumn trzeba wyznaczyć na podstawie przedstawionych
poniżej wzorów transformacji, zgodne z odpowiednimi typami danych.

background image

Interfejs:

CE_Load_DATE –

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

1

2

3

4

5

6

7

8

9

10

11

12

2014-10-24

Clothes Everywhere (Rafał Kowalski)

58

INSERT INTO ce_date

SELECT DISTINCT

date_id

, to_char(date_id,'YYYYMM')
, to_char(date_id,'YYYY Mon')
, to_char(date_id,'YYYY') || '/' || to_char(date_id,'MM') || to_char(date_id,' Mon')
, to_char(date_id,'YYYY') || '/' || to_char(date_id,'MM') || to_char(date_id,' Month')
, to_char(date_id,'YYYY Month')
, to_char(date_id,'MM')
, to_char(date_id,'Mon')
, to_char(date_id,'Month')
, to_char(date_id,'YYYYQ')
, to_char(date_id,'YYYY') || ' K' || to_char(date_id,'Q')
, to_char(date_id,'Q')
, to_char(date_id,'YYYY')

FROM ce_sales;

Zadanie jest (niestety) dosyć pracochłonne, … ale prawidłowo wykonane
dostarczy wiele satysfakcji.

3

background image

Interfejs:

CE_Load_DATE –

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

5. Zapisać metadane

6,7. Uruchomić interfejs

DWA RAZY

– drugi raz dopiero po

sprawdzeniu, że pierwsze wykonanie interfejsu się zakończyło.

UWAGA: Wykonanie interfejsu zajmuje kilkadziesiąt sekund.

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

59

4. Wprowadzić
parametry.

3. Wymusić unikalność wierszy
tabeli wynikowej (słownika
dat).

1

background image

Interfejs:

CE_Load_DATE –

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

Drugie uruchomienie interfejsu na
tej samej zawartości tabeli
CE_SALES nie wprowadziło już
nowych wierszy do tabeli CE_DATE.

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

60

Pierwsze uruchomienie spowodowało
wygenerowanie 1030 nowych wierszy
w tabeli CE_DATE

background image

Interfejs:

CE_Load_DATE –

Zasilenie

tabeli

CE_DATE

na podstawie

CE_SALES

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

61

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

62

a)

Wypełnić nagłówek interfejsu i pozostawić otwarte okno. Bez wypełnienia wszystkich metadanych zapisanie
interfejsu jest niemożliwe.

b)

Przed rozpoczęciem dalszych prac - przygotować metadane źródłowych plików tekstowych.

c)

Przed rozpoczęciem dalszych prac - uzupełnić bibliotekę modułów wiedzy projektu o moduł integracji.

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

2

1

4

5

3

CMAIN

2014-10-24

Clothes Everywhere (Rafał Kowalski)

63

6

3

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

CUST_ID CUST_FIRST_NAME

CUST_LAST_NAME

CUST_GENDER

CUST_YEAR_OF_BIRTH

CUST_MARITAL_STATUS

CUST_MAIN_PHONE_NUMBER

CUST_EMAIL

10 Abigail

Kessel

M 1946 unknown

127-379-8954 Kessel@company.com

20 Abner

Everett M 1963 married

570-248-9913 Everett@company.com

30 Abraham Odenwalld

M 1951 single 234-540-5189 Odenwalld@company.com

40 Absolom

Sampson

M 1941 unknown

153-771-9447 Sampson@company.com

50 Ada Nenninger

F 1972 married

662-644-2601 Nenninger@company.com

60 Adel Rhodes

F 1953 single 503-526-1044 Rhodes@company.com

70 Angie

Riffken

F 1955 unknown

538-590-1545 Riffken@company.com

80 Angela Wiley

F 1983 married

213-595-7978 Wiley@company.com

90 Anand

Hanes

M 1972 single 348-712-4192 Hanes@company.com

100 Anne

Koch F 1957 unknown

680-327-1419 Koch@company.com

110 Annie Gilmour

F 1969 married

480-399-4143 Gilmour@company.com

2

Fragment zawartości pliku tekstowego

CREATE TABLE ce_customers
( cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)

, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

);

Definicja tabeli docelowej:
Kolumny opisane kolorem czarnym
zostaną zasilone z bieżącego pliku
tekstowego.
Kolumny opisane kolorem szarym zostaną
zasilone z innych plików tekstowych

1

2014-10-24

Clothes Everywhere (Rafał Kowalski)

64

5. Przy pomocy (nie do końca) intuicyjnego
interfejsu trzeba podzielić plik tekstowy na kolumny
informacyjne i wprowadzić ich metadane.

4

3

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

Po ustawieniu kursora myszy na polu poziomej linijki ukazuje się pionowa linia
odcięcia kolumn atrybutów danych. Należy ją umieścić precyzyjnie przed
pierwszym znakiem zawartości kolejnego atrybutu i kliknąć.
Po kliknięciu, na linijce pozostaje czerwona kropka – symbol kolumny odcięcia

Po ustawieniu kursora myszy na polu poziomej linijki, na ekranie kreatora ukazuje się pionowa linia rozcięcia pól atrybutów
danych. Należy ją umieścić precyzyjnie przed pierwszym znakiem zawartości każdego, kolejnego pola i kliknąć. Po kliknięciu,
na linijce pozostaje czerwona kropka – symbol kolumny rozcięcia. Pierwsze pole danych rozpoczyna się od pierwszej
kolumny tekstu w wierszu. Koniec każdego pola danych wyznacza linia rozcięcia kolumny pola następnego, lub koniec
wiersza tekstu. Kliknięcie w symbol czerwonej kropki powoduje skasowanie linii rozcięcia atrybutów

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

65

Poziomy suwak umożliwia wyświetlenie całej strony pliku
tekstowego i wykonanie podziału wszystkich kolumn.

3,4,5,6, …

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

(

cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)

, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

Po kliknięciu na domniemaną nazwę pola (C1, C2, C3, ….),
kreator umożliwia zdefiniowanie jego aktualnych
parametrów (zgodnie z definicją tabeli danych).

1

2

Po kliknięciu na domniemaną nazwę pola (C1, C2, C3, ….),
kreator umożliwia zdefiniowanie jego aktualnych
parametrów (zgodnie z definicją tabeli danych).

Po kliknięciu na domniemaną nazwę pola (C1, C2, C3, ….),
kreator umożliwia zdefiniowanie jego aktualnych
parametrów (zgodnie z definicją tabeli danych).

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

66

4,5,6, …

Poziomy suwak umożliwia wyświetlenie całej
strony pliku tekstowego i wykonanie podziału
wszystkich kolumn.

Wypełnić tylko atrybuty nazwy i typu danych.
Pozostałe atrybuty zostaną uzupełnione w
kolejnych etapach pracy

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

(

cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)

, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

1

2014-10-24

Clothes Everywhere (Rafał Kowalski)

67

Physical length określa długość pola danych w
pliku tekstowym, pomiędzy kolejnymi kolumnami
odcięcia i nie należy tego parameru zmieniać.

Logical length określa faktyczną długość pola
danych i ten parametr należy uzupełnić zgodnie z
definicją tabeli docelowej.

Logical length określa faktyczną długość pola
danych i ten parametr należy uzupełnić zgodnie z
definicją tabeli docelowej.

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_MAIN

(Datastore)

(

cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)

, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

1. Zapisać metadane

2014-10-24

Clothes Everywhere (Rafał Kowalski)

68

2. Wyświetlić wynik działania metadanych na zawartość pliku tekstowego.

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_ADDR

(Datastore)

1

2

Przygotować metadane samodzielnie

2014-10-24

Clothes Everywhere (Rafał Kowalski)

69

3

( cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)
, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

background image

Model:

ETL_ClothesEveryday_FILES -

Definicja

CE_CUSTOMERS_ACCN

(Datastore)

1

2

Przygotować metadane samodzielnie

2014-10-24

Clothes Everywhere (Rafał Kowalski)

70

3

( cust_id

NUMBER(6)

, cust_first_name

VARCHAR2(20 char)

, cust_last_name

VARCHAR2(40 char)

, cust_gender

CHAR(1 char)

, cust_year_of_birth

NUMBER(4)

, cust_marital_status

VARCHAR2(20 char)

, cust_street_address

VARCHAR2(40 char)

, cust_postal_code

VARCHAR2(10 char)

, cust_city

VARCHAR2(30 char)

, cust_state_province

VARCHAR2(40 char)

, country_id

CHAR(2 char)

, cust_main_phone_number VARCHAR2(25 char)

, cust_income_level

VARCHAR2(30 char)

, cust_credit_limit

NUMBER

, cust_email

VARCHAR2(30 char)

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

2

3

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

71

1

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

1

1. Przy pomocy wskaźnika myszy przeciągnąć atrybut
CUST_ID z encji CE_CUSTOMERS_MAIN i opuścić na
atrybut CUST_ID encji CE_CUSTOMERS_ADDR.

2014-10-24

Clothes Everywhere (Rafał Kowalski)

72

3

2. Zweryfikować poprawność, kardynalność i
obowiązkowość definicji złączenia.

2

3. Ustawić unikalne indeksy na atrybutach
złączenia „związek 1 do 1”

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

1

1. W sposób analogiczny do opisanego na
poprzedniej folii, wprowadzić definicję
złączenia encji CE_CUSTOMERS_MAIN i
CE_CUSTOMERS_ACCN

2014-10-24

Clothes Everywhere (Rafał Kowalski)

73

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

1

2014-10-24

Clothes Everywhere (Rafał Kowalski)

74

1. Przenieść ikonę tabeli CE_CUSTOMERS na
pole Target okna kreatora inerfejsu

2

2. Potwierdzić pytanie o automatyczne mapowanie
atrybutów z takimi samymi nazwami. W tym przypadku
znakomicie przyspieszy to czas budowania interfejsu

2. Potwierdzić pytanie o automatyczne mapowanie
atrybutów z takimi samymi nazwami. W tym, konkretnym
przypadku

znakomicie przyspieszy

to czas budowania

interfejsu

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

2

3

4

5

6

7

2014-10-24

Clothes Everywhere (Rafał Kowalski)

75

1

4

5

background image

Interfejs:

CE_Load_CUSTOMERS

Zasilenie

tabeli

CE_CUSTOMERS

z plików txt

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

76

SUPER: wszystko działa. Sugerowane jest jeszcze
skontrolowanie zawartości tabeli CE_CUSTOMERS
w zakładce Model

background image

Interfejs:

CE_Load_PRODUCTS

Zasilenie

tabeli

CE_PRODUCTS

z plików xls

1

2

2014-10-24

Clothes Everywhere (Rafał Kowalski)

77

a)

Wypełnić nagłówek interfejsu i pozostawić otwarte okno. Bez wypełnienia wszystkich metadanych zapisanie
interfejsu jest niemożliwe.

b)

Przed rozpoczęciem dalszych prac - przygotować metadane architektury fizycznej i logicznej i modelu danych dla
źródła .XLS.

background image

Architektury:

ODBC

dla dokumentu

MS Excel

2

1

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

78

background image

Architektury:

Fizyczna

– Logiczna – Model

dla dokumentu

MS Excel

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

79

1

4

5

GOTOWE

background image

Architektury:

Fizyczna –

Logiczna

Model

dla dokumentu

MS Excel

1

2

4

2014-10-24

Clothes Everywhere (Rafał Kowalski)

80

3

2014-10-24

background image

Architektury:

Fizyczna – Logiczna –

Model

dla dokumentu

MS Excel

2014-10-24

3

1

2014-10-24

Clothes Everywhere (Rafał Kowalski)

81

2014-10-24

2

4. Należy poprawić długości logiczne i skale
atrybutów , wczytanych z arkusza MS Excel

5

Clothes Everywhere (Rafał Kowalski)

Sprawdzić czy zawartość tabeli
„wygląda” prawidłowo

background image

Interfejs:

CE_Load_PRODUCTS

Zasilenie

tabeli

CE_PRODUCTS

z plików xls

2

Mapowanie perfekcyjne

2014-10-24

Clothes Everywhere (Rafał Kowalski)

82

3

4

1

background image

Interfejs:

CE_Load_PRODUCTS

Zasilenie

tabeli

CE_PRODUCTS

z plików xls

1

2

3

2014-10-24

Clothes Everywhere (Rafał Kowalski)

83

2

3

Parametrów nie trzeba było
zmieniać. Wystarczyły wartości
domniemane .

Parametrów nie trzeba było
zmieniać. Wystarczyły wartości
domniemane .

background image

Interfejs:

CE_Load_PRODUCTS

Zasilenie

tabeli

CE_PRODUCTS

z plików xls

1

2

3

Wykonanie interfejsu bez błędów.

2014-10-24

Clothes Everywhere (Rafał Kowalski)

84

4

background image

Procedura:

CE_Load_CHANNELS

2014-10-24

Clothes Everywhere (Rafał Kowalski)

85

background image

Procedura:

CE_Load_COUNTRIES

2014-10-24

Clothes Everywhere (Rafał Kowalski)

86

background image

Pakiet:

CE_Execute_ETL

Podstawowy pakiet zasilania tabel DM

1. Uzupełnić pakiet

2014-10-24

Clothes Everywhere (Rafał Kowalski)

87

2. Zapisać pakiet

3. Wykonać pakiet

4. Sprawdzić czy nie ma

błędów wykonania


Wyszukiwarka

Podobne podstrony:
ClothesEveryday P2 Prepare OracleBIEE ROLAP Metadata 20140803 1723
OlapTrain P1 PrepareOracleAWMDatabase Student 20140820
Data preparation 13X10 male
Data preparation 13X10
04 PREPARING THE DATA FILE answers
Data preparation 13X10 male
Zasady przetaczania preparatów krwiopochodnych
(34) Preparaty krwi i produkty krwiopochodne
Produkcja preparatów amylolitycznych
Szkol Substancje i preparaty chemiczne
Wykład 1 Preparatyka
my clothes
CW2006EX Mill Turn data sheet web
MWO P1 S

więcej podobnych podstron