Wszystko
Wszystkie
Archiwum
- 0
- 3
Humble Bundle z książkami wydawnictwa Apress. Głównie o technologiach związanych z .NET, ML.NET, Cpłotek, TypeScript, Azure, Github.
26 książek za £14!
Pełna lista:
26 książek za £14!
Pełna lista:
Practical Entity Framework Core 6
.NET Developers Guide to Augmented Reality in iOS
Lean Software Systems Engineering for Developers
Pro Cryptography and Cryptanalysis
Introducing Distributed Application Runtime (Dapr)
Pro ASP.NET Core Identity
ML.NET Revealed
Visual Studio Code Distilled
The Complete ASP.NET Core API Tutorial
Introducing .NET 6
Building Single
- 3
@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.
Tak więc £14 funtów to prawie jak za darmo a jak wiadomo za darmo to uczciwa cena.
- 0
#pyspark #awsglue #spark
Mam sobie kolumne z danymi:
po wczytaniu wykrywa mi typ jako
No to wrzucilem sobie:
(nie ma wcięć?)
Liczyłem, że dostanę 60, null, 35, 4.594595 a tu moim oczom w bazie ukazją się potworki
Mam sobie kolumne z danymi:
60
null
null
null
null
35
4.594595
null
null
po wczytaniu wykrywa mi typ jako
|-- TestColumn: struct
| |-- string: string
| |-- long: long
No to wrzucilem sobie:
for column, data_type in df.dtypes:
____if data_type.startswith('struct'):
________df = df.withColumn(column, col(column).cast(StringType()))
(nie ma wcięć?)
Liczyłem, że dostanę 60, null, 35, 4.594595 a tu moim oczom w bazie ukazją się potworki
"{60, null}"
"{35, null}"
Nie używaj Sparka do Machine Learning
https://bulldogjob.pl/readme/nie-uzywaj-sparka-do-uczenia-maszynowego
#machinelearning #programowanie #naukaprogramowania #spark
https://bulldogjob.pl/readme/nie-uzywaj-sparka-do-uczenia-maszynowego
#machinelearning #programowanie #naukaprogramowania #spark
Dobry clickbait, artykuł powinien nazywać się nie uzywaj PySparka ( ͡° ͜ʖ ͡°)
- 1
@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
Szukam prezentu dla fana #f1 i pomyślałem o modelu bolidu Maxa Verstappena. Czy znacie może producenta modeli #spark ? A może jakaś inna firma lepsza? #modelarstwo
#f1
#f1
@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 dobrze
@mlodymedyk: Jasne. Gdybyś jeszcze się zastanawiał czy Spark, Minichamps czy nawet ewentualnie Bburago z innej półki cenowej to na yt oraz forach tematycznych jest sporo recenzji czy porównań.
- 1
używał ktoś aplikacji #spark do kupowania biletów na a4?
wszystko działa nie ma przypału? bo tam w porównaniu do etolla po prostu kupuje się bilet bramka A -> bramka B i tyle?
#polskiedrogi #a4 #etoll
wszystko działa nie ma przypału? bo tam w porównaniu do etolla po prostu kupuje się bilet bramka A -> bramka B i tyle?
#polskiedrogi #a4 #etoll
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.
6. Wrzucić wyniki do nowej tabeli
Tabela z unionami ma łącznie
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.
6. Wrzucić wyniki do nowej tabeli
Tabela z unionami ma łącznie
@PiotrokeJ: 7k rekordów w sparku? Jebnij im to w sql, pandas albo excelu.
- 1
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ż nie.
W bardzo prostych słowach i bardzo ogólnie (pomijając wszelkie niuanse) wytłumaczono to tutaj:
https://searchdatamanagement.techtarget.com/definition/SQL-on-Hadoop
- 1
Hey #scala
Macie może jakieś dobre tutoriale, dokumentację odnośnie implementacji ZIO ze #spark ?
Na głównym repo ziverge od zio-spark nie mogę dużo znaleźć, a znowu film Pana Leo Benkela bardzo mnie zaciekawił i chciałbym trochę bardziej zgłębić temat:
#apachespark #databricks
Macie może jakieś dobre tutoriale, dokumentację odnośnie implementacji ZIO ze #spark ?
Na głównym repo ziverge od zio-spark nie mogę dużo znaleźć, a znowu film Pana Leo Benkela bardzo mnie zaciekawił i chciałbym trochę bardziej zgłębić temat:
#apachespark #databricks
- 1
@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.
Chyba, ze mnie uprzedzisz i uda Ci się zrobić dobry benchmark przede mną.
To wołąj wtedy mirku.
- 1
@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
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
3
Apache Spark & Docker – Local Cluster Mode – Data Science In Action
Apache Spark jest to platforma umożliwiająca przetwarzanie ogromnych zbiorów danych w środowisku rozproszonym. Okazuje się jednak, że równie łatwo możemy korzystać ze Sparka na lokalnym komputerze. Oprócz trybu lokalnego możemy również zbudować własny klaster przy pomocy kontenerów Docker'a.
z- 0
- #
- #
- #
- 0
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:
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:
spark
@inny_89 init scriptem
- 0
@Kura_Wasylisa zapomniałem dać znać, że
@ProfesorBigos naprowadził mnie na rozwiązanie. Wystarczy dołączyć zależności do wheela, razem zbudować i je później wykorzystać. Dziękuję Panie Profesorze!
@ProfesorBigos naprowadził mnie na rozwiązanie. Wystarczy dołączyć zależności do wheela, razem zbudować i je później wykorzystać. Dziękuję Panie Profesorze!
- 0
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:
No i wydajnosc tego to np 2-4 min na taki jeden krok - co mi sie wydaje dosyc dlugo.
Nagle przeprocesowanie
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:
rec['test'] = random.randint(0, 9)
return rec
No i wydajnosc tego to np 2-4 min na taki jeden krok - co mi sie wydaje dosyc dlugo.
Nagle przeprocesowanie
- 2
@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.
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.
- 2
@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 join)
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 join)
- 1
- 3
Potrzebuję zrobić #hurtowniedanych w #sqlserver ale jako narzędzie do #etl służy mi #spark, a konkretnie #pyspark
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
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
@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ż
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ż
- 1
@inny_89: https://stackoverflow.com/questions/38487667/overwrite-specific-partitions-in-spark-dataframe-write-method
Ustawia się to jedną linijką w configu:
@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 ( ͡° ͜ʖ ͡°)
Ustawia się to jedną linijką w configu:
spark.conf.set("spark.sql.sources.partitionOverwriteMode","dynamic")
Wybacz też wysoki poziom abstrakcji przy opisywaniu założeń. :)
@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 ( ͡° ͜ʖ ͡°)
#spark #scala #programowanie
Nie działa mi 1 przykład z dokumentacji sparka: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html
val df = spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "host1:port1,host2:port2")
.option("subscribe", "topic1")
.load()
df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")
.as[(String, String)]
podkreśla ostatnią linijkę "unable to find encoder (String, String)". An implicit encoder is needed to store (String, String) instances in Dataset
Nie działa mi 1 przykład z dokumentacji sparka: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html
val df = spark
.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "host1:port1,host2:port2")
.option("subscribe", "topic1")
.load()
df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")
.as[(String, String)]
podkreśla ostatnią linijkę "unable to find encoder (String, String)". An implicit encoder is needed to store (String, String) instances in Dataset
- 2
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:
val stream = spark.readStream.format("rate").option("rowsPerSecond" 1).load() // to streamuje liczby long co sekundę
val query = stream.writeStream.outputMode(OutputMode.Append()).format("kafka")
.option("kafka.bootstrap.servers", "localhost:9092").option("topic", "myTopic")
.option("checkpointLocation",
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:
val stream = spark.readStream.format("rate").option("rowsPerSecond" 1).load() // to streamuje liczby long co sekundę
val query = stream.writeStream.outputMode(OutputMode.Append()).format("kafka")
.option("kafka.bootstrap.servers", "localhost:9092").option("topic", "myTopic")
.option("checkpointLocation",
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
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
- 2
@programista4k: spróbuj może zrekalibrowac albo naładuj kontroler #pdk
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 (TID 449) (10.10.1.162 executor 11): ExecutorLostFailure