Aktywne Wpisy

Kiedy niemowlak jest mniej angażujący i chociaż trochę daje odpocząć? Chuop pyta, bo już prawie ochujoł ze zmęczenia fizycznego i psychicznego. (╯︵╰,)
#dzieci #rodzicielstwo #rodzice
W kołchozie jeszcze dodatkowo z-------l i w-------o.
Dejta jakieś słowa otuchy.
#dzieci #rodzicielstwo #rodzice
W kołchozie jeszcze dodatkowo z-------l i w-------o.
Dejta jakieś słowa otuchy.

Jedno jest pewne - walka solistek o medale będzie arcyciekawa, czego oczywiście Nam wszystkim - miłośniczkom i miłośnikom elegancji, technicznego kunsztu i estetyki życzę. Łyżwiarstwo figurowe jest chyba jedną z tych niewielu rzeczy (choć pozornie mało istotną), które przypominają że stary, stabilny świat jeszcze nie całkiem umarł w dobie globalnego wariactwa. #mediolan2026





Mamy dużą bazę danych (Oracle), z której generujemy raporty (SQL-ki z różnymi count, group by, join, where itd).
Obecnie mamy w bazie tyle danych, że takie zapytania wykonują się długo (mimo pozakładanych indeksów i optymalizacji przez speca od DB).
Chcielibyśmy użyć czegoś, żeby obok "indeksować" potrzebne dane do raportów (nie wiem, jakaś inna "baza").
Przy okazji, żeby łatwiej tworzyć nowe raporty (np. coś w stylu jak są hurtownie danych i kostki OLAP/ETL).
Czego do tego najlepiej użyć? Miałem dwa pomysły, ale chyba żaden nie jest dobry:
- Elasticsearch: Łatwo indeksować i wyszukiwać. Jest to "baza danych", więc mam gotowe rozwiązanie gdzie mogę obok przechowywać dane (ten "index"). Ale problematyczne są group by (których mamy sporo) i raporty agregujące dane (tzn. ciężko osiągnąć coś w stylu kostek OLAP).
- Spark: Wydaje mi się, że łatwo osiągnąć te group by i agregacje. Ale co z przechowywaniem tych zagregowanych danych? Nie chciałbym za każdym razem ciągnąć wszystkiego z bazy i liczyć od nowa. A tak w tutorialch jest: pociągnij wszystko z bazy, przelicz, zapisz do CSV i koniec. A jak jutro chcesz nowy raport z aktualnymi danymi, to od nowa wszystko (i mielisz bazę na produkcji :/ ). Trzeba sobie samemu podpiąć bazę i ręcznie zapisywać, a potem wczytywać? Czy inaczej się do tego podchodzi? Może coś w HDFS?
W którym kierunku powinienem iść? (Uwzględniając też dla mnie przydatność na rynku pracy.) A może coś innego? Słyszałem o rozwiązaniach np. QlikView lub Microsoft SQL Server, gdzie jest już gotowiec ze wszystkim (nawet z GUI, że można sobie takie raporty wyklikać). Ale kosztuje to miliony monet i jako Java dev wolałbym coś czego się używa na rynku (np. Spark często się pojawia w wymaganiach o pracę - chociaż słyszałem też głosy, że się od tego odchodzi), a nie zostać konfiguratorem jakiegoś płatnego rozwiązania.
Komentarz usunięty przez autora
Ew możesz odwzorowac relacyjna bazę w hivie ale to dość złożony proces.
Sparka mozesz wpiac do powerbi lub tableau. Impale tez.
Jak cos to chętnie pomogę.
Komentarz usunięty przez autora
Po drugie, Spark jest imho najlepszym rozwiazaniem do tego. I nie musisz wszystkiego obliczac za kazdym razem raczej, nie pamietam juz szczegolow ale pogoogluj koncpet Sparkowego "checkpoint" - on jest
@MikelThief: @Myzreal: myślałem o tym na początku, żeby po prostu zrobić replikację do drugiej bazy Oracle obok. Aktualnie tego nie mamy, bo raporty, które są konieczne jeszcze obecnie dają radę się wykonywać (ale nie potrwa to długo). Jak mamy przerzucać dane obok, to zamiast takiej samej bazy wolelibyśmy coś dedykowanego pod
Nastepnie procesowac np za pomoca nifi dalej.
Co do sqoopa mozesz ustawic crona lub oozie(przy hdfs) . W komendzie sqoopa mozesz podac warunek where (on dziala w calosci po jdbc)
https://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#_incremental_imports
w sqoop pobierasz całą tabele --table albo zapytaniem w --query mozesz sobie wybrac co tam chcesz, no i jak nawet byś pobierał całą tabele to sqooop moze to szybko robić (zwiekszenie num-mappers i podanie kolumny --split-by)
Cykliczne agregacje danych mają sens wtedy, gdy dane wejściowe albo wyjściowe będą się do tego nadawały.
Weźmy przykład z Mirko. Zakładając że masz tabele userów, wpisów i plusów, która zawiera id wpisu i id usera, robisz zapytanie do plusów o X wpisów z największą ich liczbą. Utrwalasz wtedy np. datę wygenerowania danej, id wpisu, liczbę plusów. Taka