Aktywne Wpisy
Nullek +64
Spełniłem swoje małe marzenie (。◕‿‿◕。)
Niby tylko golfik ale i tak bardzo się cieszę (ʘ‿ʘ)
Niby tylko golfik ale i tak bardzo się cieszę (ʘ‿ʘ)
ludzki_odpad +134
Na koniec stycznia miałem awarię w aucie. Straciłem zapłon na 3 cylindrze, kiedy jechałem autostradą.
Wtedy myślałem, że zdechła świeca, albo cewka.
Kupiłem miernik kompresji i okazało się, że na cylindrze 3 nie ma kompresji w ogóle, a na czwórce jest bardzo słaba. Podejrzewałem wtedy uszczelkę pod głowicą, myślałem, że jest przedmuch między cylindrami.
Rozebrałem silnik i zdjąłem głowicę. Wtedy moim oczom ukazał się wypalony zawór wydechowy na cylindrze 3 i podparty
Wtedy myślałem, że zdechła świeca, albo cewka.
Kupiłem miernik kompresji i okazało się, że na cylindrze 3 nie ma kompresji w ogóle, a na czwórce jest bardzo słaba. Podejrzewałem wtedy uszczelkę pod głowicą, myślałem, że jest przedmuch między cylindrami.
Rozebrałem silnik i zdjąłem głowicę. Wtedy moim oczom ukazał się wypalony zawór wydechowy na cylindrze 3 i podparty
Macie może jakieś dobre materiały albo przykładowe kody, żeby podejrzeć jakieś dobre praktyki?
Jak ogarnąć slow changing dimension? Metadane itp.?
Znacie jakieś dobre repo do którego mógłbym zajrzeć?
#data #bazydanych #programowanie
https://alexioannides.com/2019/07/28/best-practices-for-pyspark-etl-projects/
Generalnie to kod powinien być reużywalny i dane wyjściowe powinny móc być odtworzone za pomocą transformerów i danych wejściowych. Spark pozwala nadpisywać dynamicznie popartycjonowane dane, tj. nie musisz całego zbioru za każdym razem przeliczać, jeśli masz dane, które np. musisz
Właśnie załóżmy, że mam dane ułożone w przedziałach czasowych z wyszczególnionym rokiem oraz klientem. Unikalnych lat jak i klientów nie jest dużo: 7 lat dla 7 różnych klientów.
Mam właśnie problem, że chciałbym napisać dane tylko dla wybranego klienta i dla wybranego roku.
Mógłbym więc wykorzystać mechanizm, o którym wspomniałeś: "Spark pozwala nadpisywać dynamicznie popartycjonowane dane".
Mógłbyś mnie trochę bardziej naprowadzić na temat? Np do konkretnej strony w dokumentacji?
1. Source - Extract - truncate docelowych tabel i zasilenie ze źródła. Tak jest najszybciej. Nawet jak masz tabele do 100 mln rekordów. Z produkcji zasilamy dane tak szybko jak to jest możliwe.
2. Extract - Stage - zasilenie przyrostowe. I tu już
Ustawia się to jedną linijką w configu:
spark.conf.set("spark.sql.sources.partitionOverwriteMode","dynamic")
@inny_89: spoko, generalnie nie zajmuję się hurtowniami jako takimi i nie mam generalnie zbyt dużej wiedzy o pracy z nimi, za to coś tam technicznego ze sparka mogę pomóc ( ͡° ͜ʖ ͡°)