Bei der Arbeit mit Apache Spark, insbesondere mit DataFrames, werden häufig zwei Methoden verwendet : show()
und collect()
. Beide können zwar zur Datenüberprüfung verwendet werden, dienen jedoch unterschiedlichen Zwecken und sollten in unterschiedlichen Szenarien eingesetzt werden.
show()
wird verwendet, um den Inhalt eines DataFrames tabellarisch auf der Konsole anzuzeigen. Es dient in erster Linie zum Debuggen und Anzeigen einer begrenzten Anzahl von Zeilen.
# Show default number of rows (20) with truncated columns
df.show()
# Show specific number of rows (e.g., 5) with truncated columns
df.show(5)
# Show specific number of rows without truncation
df.show(5, truncate=False)
from pyspark.sql import SparkSession
from pyspark.sql import Row
spark = SparkSession.builder.appName("example").getOrCreate()
data = [Row(name="Alice", age=25), Row(name="Bob", age=30), Row(name="Charlie", age=35)]
df = spark.createDataFrame(data)
df.show()
Name | Alter |
Alice | 25 |
Bob | 30 |
Charlie | 35 |
Definition
collect()
ruft alle Zeilen eines DataFrame ab und übergibt sie dem Treiber als Liste von Row-Objekten.
# Collect all rows into a Python list
rows = df.collect()
rows = df.collect()
for row in rows:
print(row["name"], row["age"])
Alice 25
Bob 30
Charlie 35
show()
undcollect()
Besonderheit | zeigen() | sammeln() |
Ausgabetyp | Druckt das Tabellenformat auf die Konsole | Gibt eine Liste von Zeilenobjekten zurück |
Speichernutzung | Niedrig (zeigt begrenzte Zeilen an) | Hoch (bringt alle Daten zum Treiber) |
Anwendungsfall | Debugging und schnelle Inspektion | Lokale Datenverarbeitung in Python |
Rückgaben | Keiner | Liste[Zeile] |
Szenario | Verwenden Sie show() | Verwenden Sie collect() |
Anzeigen von Beispieldaten | ![]() | ![]() |
Debuggen von Transformationen | ![]() | ![]() |
Datenverarbeitung in Python | ![]() | ![]() |
Konvertierung zu Pandas | ![]() | ![]() |
Große Datensätze | ![]() | ![]() |
Kleine Datensätze | ![]() | ![]() |
Um Spark-Anwendungen zu optimieren und unnötigen Speicheraufwand zu vermeiden, ist es wichtig zu verstehen, wann show() und collect() verwendet werden sollten.