Przyspieszenie konwersji między PySpark i Pandas DataFrames

Blog

Oszczędzaj czas podczas konwersji dużych ramek Spark DataFrames na Pandas

Obraz do posta



zdjęcie zrobione przez Noah Bogaard na unsplash.com

Konwersja PySpark DataFrame do Pandy jest dość trywialna dzięki metodzie |_+_|jednak jest to prawdopodobnie jedna z najbardziej kosztownych operacji, której należy używać oszczędnie, zwłaszcza gdy mamy do czynienia z dość dużą ilością danych.



Dlaczego to takie kosztowne?

Pandy DataFrames są przechowywane w pamięci, co oznacza, że ​​operacje na nich są wykonywane szybciej, jednak ich rozmiar jest ograniczony przez pamięć pojedynczej maszyny.

fxnetworks com aktywuje kod Roku

Z drugiej strony ramki Spark DataFrames są rozmieszczone w węzłach klastra Spark, który składa się z co najmniej jednej maszyny, a zatem rozmiar ramek DataFrames jest ograniczony rozmiarem klastra. Gdy zachodzi potrzeba przechowywania większej ilości danych, wystarczy po prostu skalować klaster, dodając więcej węzłów (i/lub dodając więcej pamięci do węzłów).



Ważne jest, aby zrozumieć, że gdy |_+_|metoda jest wykonywana w Spark DataFrame, wszystkie wiersze są rozmieszczone w węzłach klastra zostaną zebrane w programie sterownika który musi mieć wystarczającą ilość pamięci, aby zmieścić dane.

maskowanie numeru telefonu jquery

Przyspieszenie konwersji z PyArrow

Strzała Apache to niezależny od języka format kolumnowy w pamięci, którego można użyć do optymalizacji konwersji między platformami Spark i Pandas DataFrames przy użyciu |_+_| lub |_+_| .

#rozwój-oprogramowania #big-data #pandy #spark #python

w kierunkudatascience.com

Przyspieszenie konwersji między PySpark i Pandas DataFrames

Oszczędzaj czas podczas konwertowania dużych ramek Spark DataFrames na Pandas. Konwersja PySpark DataFrame do Pandas jest dość trywialna dzięki metodzie toPandas(), jednak jest to prawdopodobnie jedna z najbardziej kosztownych operacji, której należy używać oszczędnie, zwłaszcza gdy mamy do czynienia z dość dużą ilością danych.