Zapisywanie ramki danych w formacie Parquet
Praca ze Sparkiem często zaczyna się od plików CSV, JSON lub innych źródeł danych. Daje to dużą elastyczność przy wczytywaniu różnych typów danych, jednak nie jest to optymalny format dla Sparka. Format Parquet to kolumnowy magazyn danych, który umożliwia Sparkowi korzystanie z mechanizmu predicate pushdown. Oznacza to, że Spark przetwarza tylko te dane, które są niezbędne do wykonania zdefiniowanych operacji – zamiast wczytywać cały zbiór. Dzięki temu Spark ma większą elastyczność w dostępie do danych, co często znacząco poprawia wydajność przy dużych zbiorach.
W tym ćwiczeniu przećwiczysz tworzenie nowego pliku Parquet, a następnie przetworzysz dane z tego pliku.
Obiekt spark oraz ramki danych df1 i df2 zostały już dla ciebie przygotowane.
To ćwiczenie jest częścią kursu
Czyszczenie danych w PySpark
Instrukcje do ćwiczenia
- Sprawdź liczbę wierszy w
df1idf2. - Połącz
df1idf2w nową ramkę danych o nazwiedf3, używając metodyunion. - Zapisz
df3do plikuparqueto nazwieAA_DFW_ALL.parquet. - Wczytaj plik
AA_DFW_ALL.parqueti wyświetl liczbę wierszy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# View the row count of df1 and df2
print("df1 Count: %d" % df1.____())
print("df2 Count: %d" % ____.____())
# Combine the DataFrames into one
df3 = df1.union(df2)
# Save the df3 DataFrame in Parquet format
df3.____.____('AA_DFW_ALL.parquet', mode='overwrite')
# Read the Parquet file into a new DataFrame and run a count
print(spark.read.____('AA_DFW_ALL.parquet').count())