#hurtowniedanych #bazydanych #java #oracle #datascience

Mam dużą bazę danych. Jednak czasem oprócz zwykłych operacji potrzebuję generować jakieś raporty czy zestawiania. Oczywiście jest to bardzo obciążające dla bazy danych (trwa to długo, przy generowaniu spowalnia cały system).

Pomyślałem, że chciałbym postawić obok coś w stylu hurtowni danych tylko do tych raportów i zestawień. Co ileś dni dane byłyby przerzucane z operacyjnej bazy do tej hurtowni.

Jak to rozwiązać?

1. Pierwsze co przychodzi na
@mk321: Spark jest popularny w światku jvm i rozwijany, teraz cisną bodajże structured streaming, generalnie do etl i ml się nadaje

Zeppelin, hmm... Też jest rozwijany chociaż nie widzę, żeby w jakimś szybkim tempie, wizualizacje, zależnie jak skomplikowanych potrzebujesz, są raczej dosyć proste, nie ma zbyt zaawansowanych opcji tworzenia wykresów, do tego lepiej użyć innych narzędzi, D3, matplotliby, ggploty czy co tam jeszcze jest w data analitycs popularne, ja używałem vegas-viz
Od wersji Oracle DB 12c w SQL w konstrukcji WITH deklarować można funkcje do wykorzystania we właściwym zapytaniu.
I teraz tak. Mam zadeklarowaną taką funkcję. Bardzo prostą. Przyjmuje argument VARCHAR2, który umownie jest datą w formacie YYYY-MM-DD a sam kod to 1 (słownie jedna) linia:

RETURN TRUNC(TO_DATE(p_data, 'YYYY-MM-DD'), 'MM');
Nie ma żadnych dwukropków.

Właściwe zapytanie ma jakiś śmieszny, pomijalny koszt rzędu 50 tych bliżej nieokreślonych jednostek i z 500 bajtów. Zapytanie nawet
#bazydanych #oracle #json #bash

Mam bazę danych Oracle. Do jednej z kolumn zapisuję JSON-a.


Trafiła mi się jednak sytuacja awaryjna, w której muszę zmodyfikować tego JSON-a (np. dopisać jakiś klucz z wartością). Mam do dyspozycji tylko SQL (PL/SQL) z Oracla i ewentualnie basha.


Jak najlepiej to zrobić? Czy Oracle oferuje jakimś zapytaniem/funkcją która by mi pomogła? Najnowsze bazy danych pewnie oferują przechowywanie i przetwarzanie JSON-a, ale to jest stary Oracle.

Jedyne co
@mk321 A masz uprawnienia żeby tworzyć typy i pakiety? Jeśli tak to możesz sobie dodać typy obiektowe do przetwarzania json. Poszukaj na necie PL/JSON. Powinieneś znaleźć skrypty (create) tworzące odpowiednie typy. Później sobie polecisz skryptem i zrobisz to co chcesz.
Mireczki, czy pracuje ktoś z was jako ETL developer / Informatica Powercenter Developer lub ogólnie w środowisku związanym z szeroko pojętymi hurtowniami danych - Szczególnie tam gdzie używa się narzędzia Informatica Powercenter?

Na polskich forach stosunkowo mało jest informacji na ten temat i mam wrażenie, że to dużo mniej popularna działka niż zostanie programistą java czy innego popularnego języka, a stawki są na prawdę wysokie - szczególnie tam gdzie wymagana jest znajomość
@iniekcja: A jak wyglądała Twoja ścieżka kariery, żeby zostać ETL dev?

Z tego co przeglądałem na linkedin to sporo ludzi po prostu złapało jakieś doświadczenie w korpo czy banku przy hurtowni danych i potem przeskoczyli na takie samodzielne stanowisko.
Czy robota przy ETL / Informatica Powercenter to głównie praca jako kontraktor? Czy jakieś duże firmy zatrudniają również na etat np. banki itp. (z tego co widziałem to tylko jedno tego typu
@Sorn: Właściwie to nie mam zamiaru póki co tworzyć żadnego softu, po prostu mam pewne rzeczy do przeliczenia (dystanse między miejscowościami), a że tego jest dużo, to używam SQL-a do wyselekcjonowania najbardziej pożądanych przeze mnie rezultatów ( ͡° ͜ʖ ͡°)
#oracle #informatyka

Chce zrobić expdp i wywala mi taki błąd:

Connected to: Oracle Database 11g Release 11.1.0.7.0 - 64bit Production

ORA-31626: job does not exist

ORA-31638: cannot attach to job SYSEXPORTFULL01 for user GPR

ORA-06512: at "SYS.DBMSSYSERROR", line 95

ORA-06512: at "SYS.KUPV$FTINT", line 398

ORA-39077: unable to subscribe agent KUPC$A120180717092541 to queue "KUPC$C120180717092539"

ORA-06512: at "SYS.DBMSSYSERROR", line 95

ORA-06512: at "SYS.KUPC$QUE_INT", line
@tallman: no to wydaje się że warto. Popatrz później na plany zapytań i zobacz czy używany jest ten indeks i jaki zysk Ci daje. Posta nie znam, ale widze w googlu ze partycjonowanie jest. Wpiszesz hasła w googlu to na pewno znajdziesz :)
Dostane od Was jakies porady na temat #sql #oracle #datascience?
Zrobilem mniej wiecej 1.5 kursu pokrywajacego podstawy SQL - jak dodawac dane do tabeli, jak pisac query, subquery i takie #!$%@? - nazywalo sie to niby 'bootcamp'. Myslalem - no dobra, nie nauczylo mnie to wiele, ale znam podstawy i powienienem wiedziec gdzie szukac informacji. Postanowilem znalezc 2 tabele z wikipedii i je ze soba polaczyc. Jakakolwiek operacja na kolumnie zajmuje
@lukaszwasyl: Nie zadziałało Ci to razem, bo SQLowy kompilator kompiluje pakiet/procedure/funkcję do znaku "/". Więc tak jak dostałeś na outpucie procedura miaął błedy, bo był end a potem jeszcze select.
Jakbyś po end wstawił "/" to by zadziałało :)
@programistalvlhard: @lento01:

No więc tak, dodanie funkcji w środku specyfikacji rozkompilowało jakieś 530 innych pakietów. Po skompilowaniu wszystkiego, funkcję zakomentowałem, przekompilowałem i znów 530 pakietów się rozkompilowało. Znowu skompilowałem wszystko, funkcję odkomentowałem ale przeniosłem ją na koniec specyfikacji (na sam dół, jako ostatnią zadeklarowaną), skompilowałem. Tym razem mniej się rozkompilowało bo jakieś 330. Ktoś mi kiedyś wspominał żeby funkcje do specyfikacji dodawać na końcu i chyba miał rację. Zgaduję, że
Mirki potrzebuje postawić w domu serwer (stary komp) z bazą danych - celuje w oracle xe. Jaka dystrybucja linuksa będzie najmniej problemowa? Konsola mi nie straszna (umiem wyjść z vi ;-) ale chciałbym nie musieć skupiać się na systemie operacyjnym a poświęcić czas pracy z bazą.
Uprzedzając pytania poco mi to, to baza do zbierania danych z kilkudziesięciu czujników jakie mam w domu. Do tej pory wysyłałem wszystko do mysql w sieci
Google zapłaci Oracle niemal 9 mld dolarów?

Przy tworzeniu Androida Google najwyraźniej poszło za bardzo na skróty. Oracle wygrało w sądzie.

Sprawa sądowa pomiędzy Oracle a Google toczy się od 2010 roku. Oracle, zaskarżyło sposób, w jaki Google korzystało z API języka programowania Java przy tworzeniu systemu Android. Zdaniem Google było to dozwolone użycie, zdaniem Oracle naruszenie praw autorskich. Federalny sąd apelacyjny orzekł 27 marca, że Google naruszyło prawa autorskie twórców Javy