Jest tu jakiś spec od #awsglue #glue #spark ?
Po odpaleniu joba, po jakims czasie dostaje bład jak niżej...

I nie wyglada to na coś złego, normalnie wszystko się przetwarza (screen)
jakieś pomysły co zrobiłem nie tak?

An error occurred while calling o5466.resolveChoice. Job aborted due to stage failure: Task 6 in stage 53.0 failed 4 times, most recent failure: Lost task 6.3 in stage 53.0
mccloud - Jest tu jakiś spec od #awsglue #glue #spark ?
Po odpaleniu joba, po jakims...

źródło: comment_1664571841Ud2Sv5K0T42G0UlrKLuX0w.jpg

Pobierz
  • Odpowiedz
Czy #spark sam z siebie wywala kolumny które mają tylko nulla?

Co prawda mam #awsglue i #spark pod spodem, ale jak na wejsciu dałem 200 kolumn to polowa mi zniknęła - sprawdziłem dane i są te które zniknęły mają same nulle.
  • Odpowiedz
#dji #spark #drony Wygrzebałem swojego Sparka po prawie dwóch latach i niestety jedna bateria już się nie ładuje. Gdzie najlepiej kupić nową? Widzę, że kiepsko z dostępnością ( ͡° ʖ̯ ͡°)
@hrumque: Hmm, znasz się na tym na tyle, żeby jakieś linki podrzucić do konkretnych baterii? Bo sam się nie znam, samego moda pewnie też bym podrzucił jakiemuś elektronikowi do zrobienia.
  • Odpowiedz
@Hektorrr: Dodam, że zestaw tych wszystkich książek normalnie wyceniony jest na £1,119.85.
Tak więc £14 funtów to prawie jak za darmo a jak wiadomo za darmo to uczciwa cena.
  • Odpowiedz
@Bulldogjob: ehhh, dałem się złapać na clickbajtowy tytuł. Argumenty przeciw sparkowi są prawdziwe ale w praktyce należy je pominąć z rozważań. Zwłaszcza argument o syntax pysparka vs pandasa
  • Odpowiedz
@mlodymedyk: W skali 1:43 Spark oraz Minichamps oferują bardzo podobną jakość, różnią się mankamentami. Moim jednak skromnym zdaniem Minichamps bardziej zakorzeniło się w świadomości kolekcjonerów, mają ogromną kolekcję gdzie występują kierowcy zarówno z wyścigów, treningów jak i poszczególnych wydarzeń. Natomiast jeżeli kolega nie zbiera modeli to pewnie nie robi mu to większej różnicy, a nawet jak zbiera to raczej firmą Spark nie pogardzi. Modele jak na swoją skalę są bardzo
  • Odpowiedz
Cześć, dostałem mały projekt w pracy w pysparku. Mała transformacja danych i wrzucenie wyników do nowej tabeli. W punktach opiszę co trzeba zrobić:
1. 4 uniony
2. Pobrać tabelę z mappingiem
3. Zrobić joina (te 4 uniony i mapping)
5. Przerobić 2 kolumny na podstawie wartości, i dodać dwie puste kolumny
4. Wykonać prostą agregacje danych -> groupby po 5 kolumnach.
Apache Ambari


@PiotrokeJ: To już jest kwestia samego zarządzania (wybacz ale nie mam pojęcia jak to inaczej ubrać w słowa) translacją samego SQL na MapReduce na Hadoopie.

W tym przypadku Hadoop trochę inaczej ogarnia takie zapytanie niż spark. Dlatego jak odpalasz coś bezpośrednio na hadoopie to możesz dostać wyniki (błędne lub dobre), a w sparku już
  • Odpowiedz
@gabonczyk: Jak przepisze mojego JOBa, o którym wspomniałem to podziele się tutaj statystykami. :D
Chyba, ze mnie uprzedzisz i uda Ci się zrobić dobry benchmark przede mną.
To wołąj wtedy mirku.
  • Odpowiedz
@gabonczyk: Jeszcze CIę tutaj zawołam bo muszę przyznać, że szybko się nie zabiore za ogarnięcie tego przykłądowego pipeline (a przynajmniej nie przez następne 2 tygodnie) ale zagadałem do tego Leo na oficjalnym doscordzie ZIO.

Poniżej jego odpowiedź odnośnie performencu na IO więc trochę może dać to pogląd dlaczego ZIO na SParku może mieć sens.
Aczkolwiek martwi mnie, ze on takich benchmarków wcześniej nie zrobił xD
inny_89 - @gabonczyk: Jeszcze CIę tutaj zawołam bo muszę przyznać, że szybko się nie ...

źródło: comment_1636121185N4s0Pmud1Qz7b7i3UG7SnK.jpg

Pobierz
  • Odpowiedz
Słuchajcie mam zagadkę. Z zakresu troche fanaberii i sci-fi.

Raczej mniej istotne tło problemu:

Tworzę sobie Wheela w #pythonie i do pełnego wykorzystania tej libki, którą zbuduje jest potrzebna inna libka udostępniana jako plik .JAR.
Lokalnie jak sobie z tym pracuje i odpalam kod w ramach mojego develpmentu na sparku to mam zwyczajnie załączony ten JAR w odpowiedniej lokalizacji i wskazuje go podczas budowania SparkSession. Tak jak na uproszczonym przykłądzie poniżej:
Kurcze mam dane 145 kolumn, 100k wierszy. Wrzucam do glue/sparka i mam kilkadziesiat krokow. W wiekszosci cos w stylu a*b itd (testuje sobie).
Większość kodu to funkcje np jak poniższa:

def handle(gc: GlueContext, df: DynamicFrame) -> DynamicFrame:
return ApplyMapping.apply(frame=df, mappings=t)

def t(rec: DynamicRecord) -> DynamicRecord:
@inny_89: I chyba juz znalazłem winowajce.
Mam jedna regułe która ma policzyc srednia dla calego zbioru...
Wszystkie joby wcześniejsze są ładnie rozrzucone na executory.
Wszystkie joby po średniej - już idą na jednym executorze.

Dziwne, bo robie sobie kopie ramki, obliczam co mi trzeba i potem dodaje tylko kolumne do oryginalnej ramki. Ale zaraz sie upewnie wywalajac ten krok czy wszystko bedzie ladnie rownolegle dzialac.
  • Odpowiedz
@inny_89: Ok, to sobie rozpoznam - wygląda to na dosyć dużę czasy GC, jakby to zmniejszyć to też dobry kwałek ugram.

PS. Wielkie dzięki - wskazówki z dag (AWS ma to pod nazwą to Spark UI) były super pomocne. Tak to bym pewnie w ciemno błądził co jest nie tak. A tak w dzień rozpykane i teraz 100k wierszy robie w 8 min zamiast w 1h.
Problematyczne przekształcenia (średnia i
  • Odpowiedz
@inny_89: Z doświadczenia to całe zasilanie powinno się odbywać w dwóch krokach Source - Extract, Extract - Stage. Oczywiście mówię o hurtowni zasilanej raz na dobę nocną porą.

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ż można się bawić w SCD, procedury, CDC itd
  • Odpowiedz
Tak to jest się uczyć z książki w której przykłady nie działają, bo są bez konfiguracji.
Próbuję zapodać przykładowy structured streaming sparkiem do kafki i same problemy. Większość już rozwiązałem, teraz mam na drodze ten:

org.apache.spark.AnalysisException: value attribute unsupported type bigint. value must be a(n) string or binary;
at org.apche.spark.sql.kafka010.KafkaWriter ...

kod:
  • Odpowiedz
Najbardziej w #spark wkurza mnie to, że niestosuje się enumów w zapodawaniu opcji.
Weźmy teakie streamowanie:
spark.readStream.option(???, ...)

skąd mam wiedzieć jakie sa możliwe klucze dla option? Googluję i nie ma. Jest dokumentacja opisowa na wiele stron a prostej tabelki nie ma.
#programowanie