Mam pytanie uzupełniające do mojego wczorajszego pytania o sortowanie.
Dataframy mi się sortują ładnie. Teraz pytanie - czy taki posortowany dataframe mogę zapisać jako posortowany parquet?
Bo zwykłe zapisane posortowanego df niestety nie daje oczekiwanego rezultatu i parquet (a potem external table z tego parqueta) nie są posortowane po tej kolumnie co dataframe.

Pewnie jest opcja, że się nie da, bo tabela to logiczne dane, a nie posortowany zestaw danych?


#pyspark #
@LucaJune Z tego co wiem to nie da się osiągnąć sortowania w parquet, ze względu na sposób w jaki zapisuje on dane (kolumny). Z reguly sortowanie musi odbyć się jeszcze raz po wczytaniu.

Jeśli twój DF jest dość mały, możesz spróbować zapisania go jako jedna partycja (df.coalesce(1)), wtedy sortowanie powinno być zachowane, ale tracisz obliczenia na wielu klastrach.
Mam w Synapsie Analytics dataframe złożony z joinów z 10 innych dataframów, nic przesadnie skomplikowanego.
Ale chcę to posortować i .orderBy(col("nazwakolumny").desc()) mi nie działa.

Jako ciekawostka - w jednym notebooku mi to ładnie działa, a w innym nie.

Nie wywala błędu, tylko po prostu nie sortuje.

Jakieś pomysły? Nie mam jakichś funkcji dociągniętych czy co?

#pyspark #synapse #bigdata #python
@cohontes: tak, wiem wiem. Spróbuję zrobić hybrid model czyli importowanie danych codziennie + querowanie live zmian i przetestuję też na dedicated poolu. Wychodzą drogo, ale pewnie zrobią robotę. Właśnie przeczytałem dokumentację serverlessa i sam Microsoft odradza, to co chciałem:

Consider caching the results on the client side by using Power BI import mode or Azure Analysis Services, and periodically refresh them. Serverless SQL pools can't provide an interactive experience in Power