Oracle APEX – Let’s integrate with Pentaho! Część 1

21 listopada 2019, Lech Cieślik

Wstęp

Procesy ETL są częścią systemów klasy Business Intelligence. Ich tworzenie rodzi wiele wyzwań z którymi muszą zmierzyć się organizacje, które chcą opierać procesy decyzyjne na analizie danych w  czasie rzeczywistym. I tu z pomocą przychodzą narzędzia takie jak Pentaho Data Integration. Tym wpisem rozpoczniemy kolejną serię artykułów z serii ”Let’s integrate” a głównym tematem będzie integracja Oracle APEX z wcześniej wspomnianym Pentaho Data Integration (PDI).

W aplikacjach które tworzymy dla naszych klientów często stajemy przed wyzwaniami związanymi z projektowaniem i implementacją procesów ETL. Tak na przykład dla systemów których głównym celem jest przygotowanie i wysyłka plików JPK wyzwaniem będzie pobranie danych sprzedażowych z plików w formacie takim jak xlsx, csv, txt a nawet MT940 które zawierają informacje o przelewach bankowych. Z kolei systemy ODS będą nastawione na integrację danych z wielu źródeł gdzie oprócz plików dane źródłowe są przechowywane w bazach danych takich jak PostgreSQL i MS SQL. Wśród wielu wyzwań jedno jest wspólne, rozwiązanie powinno być gotowe na łatwe i szybkie dodanie nowych i co najważniejsze różnych źródeł danych, które mogą zostać transformowane i załadowane do tworzonych systemów. Właśnie taką możliwośc daje nam Pentaho DI, które dzięki zaawansowanemu interfejsowi graficznemu pozwala na tworzenie procesów ETL praktycznie bez znajomości języków programowania i właśnie implementacja prostego procesu ETL będzie głównym tematem niniejszego artykułu, co mam nadzieję przybliży czytelnikowi możliwości tego narzędzia.

Pentaho – kilka słów wstępu

Pentaho jest narzędziem klasy Business Intelligence które zapewnia m.in. możliwość tworzenia procesów ETL, integrację danych, tworzenie profesjonalnych dashboardów oraz modułów raportowych. W roku 2017 Pentaho stało się częścią Hitachi Vantara, nowej firmy, która jednoczy działalność Pentaho, Hitachi Data Systems i Hitachi Insight Group. Całość jest dostępna na bazie licencji:  Apache license version 2.0.

W ninejszym artykule skupimy się na Pentaho Data Integration (jednym z modułów Pentaho). PDI znane również jako Kettle, składa się z silnika integracji danych oraz aplikacji GUI, która pozwala użytkownikowi definiować procesy ETL za pomocą jobów i transformat.

Pentaho DI składa się z czterech modułów:

  • Spoon – to narzędzie graficzne pozwalające na bardzo łatwe tworzenie transformacji ETL. Narzędzie to dostarcza typowych funkcji modelowania przepływu danych, takich jak odczyt, walidacja, strojenie, transformacja, zapis i wspiera komunikację z szeroką gamą baz danych. Transformacje stworzone w narzędziu Spoon mogą być uruchamiane bezpośrednio z interfejsu użytkownika lub za pomocą aplikacji Pan. 
  • Pan – jest narzędziem służącym do uruchamiania transformacji danych zaprojektowanych w  Spoon i zapisanych w repozytorium lub w pliku XML.
  • Kitchen – aplikacja umożliwiająca uruchamianie jobów utworzonych w Spoon w trybie batch.
  • Carte – jest prostym serwerem webowym, która pozwala uruchamiać monitorować i zatrzymywać transformaty i joby zdalnie.

W niniejszej serii artykułów wykorzystamy Pentaho Data Integration 8.0, bazę danych Oracle 12c oraz Oracle APEX 18.1.

Pierwsza transformata = pierwszy proces ETL

W tym rozdziale posłużymy się wybranym przypadkiem biznesowym. Załóżmy że chcemy policzyć całkowitą pensję pracowników z uwzględnieniem premii. Dane wejściowe znajdują się w pliku CSV. Całkowita pensja pracownika powinna zostać zapisana do tabeli EMPLOYEES.

Z menu głównego wybieramy opcję File->New->Transformation. Z menu bocznego wybieramy następujące elementy:

  • z sekcji input element CSV file input;
  • z sekcji Transform element Calculator;
  • z sekcji Output element Table Output;

Następnie rozpoczynamy budowę procesu ETL. Łączymy elementy w następującej kolejności: CSV file input (Extract), Calculator (Transform), Table Output (Load).

Klikamy dwa razy na element CSV file input. Wskazujemy lokalizację pliku źródłowego oraz wybieramy odpowiedni separator.

 

W elemencie Calculator tworzymy nowe pole TOTAL_SALARY które jest sumą wartości pól SALARY i BONUS.

W Table output definiujemy połączenie do docelowej bazy danych, schemat oraz nazwę tabeli.

Z górnego menu wybieramy opcję Run. Transformata zostaje uruchomiona. Na interfejsie graficznym możemy zobaczyć logi uruchomienia naszej transformaty.

Podsumowanie

Pentaho DI dzięki graficznemu interfejsowi pozwala na szybkie i łatwe zaprojektowanie procesu ETL. W niniejszym artykule pokazaliśmy tylko niektóre funkcjonalności tego narzędzia. W kolejnym wpisie skupimy się na uruchamianiu transformat z serwera Carte za pomocą rozwiązania zaimplementowanego w Oracle APEX. 

 

Tagi: , , ,

Zapraszamy do kontaktu!

Pretius jest firmą tworząca oprogramowanie wspierające biznes.
Tworzymy aplikacje webowe wykorzystując: Java, Oracle DB, Oracle Apex, AngularJS.
Skontaktuj się z nami, aby porozmawiać o tym jak możemy pomóc w realizacji Twojego projektu!